Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud...

5
ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2016 52 //cloud / J avaのクラウド市場は急速に進化しています。多くのベンダーが無数 のクラウド製品を提供し、それに伴って新しい用語や分かりにくい言 葉が生まれています。かつてクラウド・ソリューションは、従来のサーバ ー・ソリューションのほんの一片を扱うものが大半でした。しかし現在、 大規模サーバー・サイド製品のほぼすべての機能がクラウドにも見ら れ、多くの場合はそれらの機能が多数の専門クラウド・ソリューションへ と分かれています。このモデルには、開発者がエンタープライズ・オプシ ョンを自由に選んで必要な機能のみを利用できるというメリットがあり ます。 クラウド・ソリューションは一般的に以下のように分類されます。 IaaS (Infrastructure as a Service):仮想化された基本的なハードウェ アおよびオペレーティング・システム PaaS (Platform as a Service): IaaSにデータベースなどのサービス を追加したもの SaaS (Software as a Service):PaaSスタックの上に各種アプリケーシ ョン一式を備えたもの これらのカテゴリのそれぞれに、数十もの専門クラウド・ソリューション が属しています。たとえば、オラクルは各カテゴリで多種多様なクラウ ド・サービスを提供しています。最初のうちは難しく感じることがあると しても、幸いなことに、ほぼすべてのクラウド・ソリューションは、新種の コア・テクノロジーの理解を要するような「新しい」テクノロジーではあり ません。問題はむしろ、新しいインタフェース、ワークフロー、そして用語 にいかに慣れていくかにあります。 本記事では、Oracle Java Cloud Serviceの概要とその始め方について 説明します。 Oracle Java Cloud Serviceとその種類 Oracle Java Cloud Serviceは、よく使われるJava EEテクノロジーのサポ ートを提供する共有のPaaS環境として数年前にスタートしました。当時 は環境を詳細に管理する機能や、要件に応じて変更やカスタマイズを 行う機能は提供していませんでした。 筆者が以前に執筆した、 Java MagazineのJavaクラウドに関する記事 (2013年9月/10月号の「Oracle Java Cloud Serviceを体験する」と2014 年5月/6月号の「NetBeans IDEでのビルドとOracle Java Cloud Service へのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを 対象としていました。それ以降、オラクルはOracle Java Cloud Serviceソ リューションの大幅な機能強化を実施しています。 現在、オラクルでは以下の3つのOracle Java Cloud Service製品を提 供しています。 Oracle Java Cloud Service - SaaS Extension: もっとも長く 利用されてきたOracle Java Cloud Service製品です。他の2つのクラウ ド・サービス製品の提供が始まってから、SaaS Extensionが追加された 名称となりました。 名前から分かるように、このソリューションでは主に、SaaS製品の機能 を拡張する必要があるOracle SaaSユーザーのユースケースに対応しま す。Oracle Java Cloud Service - SaaS Extensionは主としてそのような目 的で作られているため、オラクルの各種SaaSソリューションと簡単に統 合できます。 名称にSaaS Extensionとありますが、SaaSクラウドの拡張ではない Java EEスタンドアロン・アプリケーションでもデプロイできる点に注意 してください。Oracle Java Cloud Service - SaaS Extensionは、 Java EE アプリケーションを簡単にデプロイできるPaaS共有環境を提供するも HARSHAD OAK Oracle Java Cloud Serviceを 使い始める エンタープライズ・クラウドを試すための実践的なステップ・バイ・ステップ・ガイド

Transcript of Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud...

Page 1: Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを 対象としていました。それ以降、オラクルはOracle

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2016

52

//cloud /

Javaのクラウド市場は急速に進化しています。多くのベンダーが無数のクラウド製品を提供し、それに伴って新しい用語や分かりにくい言葉が生まれています。かつてクラウド・ソリューションは、従来のサーバー・ソリューションのほんの一片を扱うものが大半でした。しかし現在、大規模サーバー・サイド製品のほぼすべての機能がクラウドにも見られ、多くの場合はそれらの機能が多数の専門クラウド・ソリューションへと分かれています。このモデルには、開発者がエンタープライズ・オプションを自由に選んで必要な機能のみを利用できるというメリットがあります。クラウド・ソリューションは一般的に以下のように分類されます。

■ IaaS(Infrastructure as a Service):仮想化された基本的なハードウェアおよびオペレーティング・システム

■ PaaS(Platform as a Service):IaaSにデータベースなどのサービスを追加したもの

■ SaaS(Software as a Service):PaaSスタックの上に各種アプリケーション一式を備えたものこれらのカテゴリのそれぞれに、数十もの専門クラウド・ソリューションが属しています。たとえば、オラクルは各カテゴリで多種多様なクラウド・サービスを提供しています。最初のうちは難しく感じることがあるとしても、幸いなことに、ほぼすべてのクラウド・ソリューションは、新種のコア・テクノロジーの理解を要するような「新しい」テクノロジーではありません。問題はむしろ、新しいインタフェース、ワークフロー、そして用語にいかに慣れていくかにあります。本記事では、Oracle Java Cloud Serviceの概要とその始め方について説明します。

Oracle Java Cloud Serviceとその種類Oracle Java Cloud Serviceは、よく使われるJava EEテクノロジーのサポートを提供する共有のPaaS環境として数年前にスタートしました。当時は環境を詳細に管理する機能や、要件に応じて変更やカスタマイズを行う機能は提供していませんでした。 筆者が以前に執筆した、Java MagazineのJavaクラウドに関する記事

(2013年9月/10月号の「Oracle Java Cloud Serviceを体験する」と2014年5月/6月号の「NetBeans IDEでのビルドとOracle Java Cloud Serviceへのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを対象としていました。それ以降、オラクルはOracle Java Cloud Serviceソリューションの大幅な機能強化を実施しています。 現在、オラクルでは以下の3つのOracle Java Cloud Service製品を提供しています。Oracle Java Cloud Service - SaaS Extension:もっとも長く利用されてきたOracle Java Cloud Service製品です。他の2つのクラウド・サービス製品の提供が始まってから、SaaS Extensionが追加された名称となりました。 名前から分かるように、このソリューションでは主に、SaaS製品の機能を拡張する必要があるOracle SaaSユーザーのユースケースに対応します。Oracle Java Cloud Service - SaaS Extensionは主としてそのような目的で作られているため、オラクルの各種SaaSソリューションと簡単に統合できます。名称にSaaS Extensionとありますが、SaaSクラウドの拡張ではないJava EEスタンドアロン・アプリケーションでもデプロイできる点に注意してください。Oracle Java Cloud Service - SaaS Extensionは、Java EEアプリケーションを簡単にデプロイできるPaaS共有環境を提供するも

HARSHAD OAK

Oracle Java Cloud Serviceを 使い始めるエンタープライズ・クラウドを試すための実践的なステップ・バイ・ステップ・ガイド

Page 2: Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを 対象としていました。それ以降、オラクルはOracle

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2016

53

//cloud /

ので、その際に基盤のハードウェアのセットアップ、サーバーのインストール、パッチ適用、管理などを一切気にする必要がありません。Oracle Java Cloud Service - SaaS Extensionは、サーブレット、JavaServer Pages、JavaServer Faces、Enterprise JavaBeansなどのよく使われるJava EEテクノロジーをすべてサポートしています。また、JAX-WSおよびREST Webサービスをサポートしています。さらに、Oracle開発者に広く利用されているOracle Application Development Frameworkもサポートしています。Oracle Java Cloud Service - SaaS Extensionでは、Java EEアプリケーションに必要となるほぼすべての要素が揃っています。そのため、追加設定が不要で手間のかからないJava EE向けPaaS共有環境を探している場合に検討すべきソリューションであることは間違いありません。Oracle Java Cloud Service - SaaS Extensionでは、アプリケーション・サーバー、JVM、オペレーティング・システムを、要件に完全に合わせて構成することはできません。ユーザーがこれらの構成作業に手を煩わせたくない場合はメリットになり得ますが、特にエンタープライズ・アプリケーションの一部では、もっと詳細まで管理できることが望ましい場合もあります。そのような理由で、Oracle Java Cloud ServiceとOracle Java Cloud Service - Virtual Imageが登場します。Oracle Java Cloud Service:Oracle Java Cloud Serviceの主な強みは、セルフサービス・ポータルを使って、要件にもっとも適合した環境を簡単にプロビジョニングできることです。また、基盤のインフラストラクチャを管理でき、Oracle WebLogic Server、メモリ、クラスタリング、ロードバランシング、仮想マシンなどを選択できます。Oracle Java Cloud Serviceのセットアップには、Oracle Java Cloud Service - SaaS Extensionよりもかなり多くの作業や意思決定が必要になりますが、まさに必要としているものを手に入れることができ、将来必要に応じて自由に設定を変更することもできます。 Oracle Java Cloud Service - Virtual Image:Oracle Java

Cloud Service - Virtual ImageはOracle Java Cloud Serviceに似た環境ですが、基盤環境の多くの面を管理できるようにもなっています。Oracle Java Cloud Service - Virtual Imageは、開発およびテスト用途として作られており、バックアップとリストア、パッチ適用、スケーリングはサポートしていません。Oracle Java Cloud Serviceよりも前提条件が少ないため、セットアップ作業は少し簡単になっています。注:これらのクラウド・ソリューションは名前が似ており、やや混同しがちです。したがってこれ以降、これら3つの製品をそれぞれ区別して説明します。それぞれの文脈でどの製品を指しているかに注意してお読みください。

Oracle Java Cloud Serviceを使い始めるOracle Java Cloud Serviceの新しいインスタンスの構成とプロビジョニングを行う方法について説明します。まずは無料試用版をリクエストします。現在はOracle Java Cloud ServiceおよびOracle Java Cloud Service - SaaS Extensionについて、フル機能を搭載した30日間の試用版が提供されています。本記事では、Oracle Java Cloud Serviceについて試してみます。試用版のリクエストが承認されたら、アイデンティティ・ドメインとログイン情報をセットアップするためのフォームに入力します。アイデンティティ・ドメインは、認証や認可、およびユーザーが利用できる機能を管理するために使われます。各アイデンティティ・ドメイン内のユーザーに対して、異なるクラウド・サービスへの異なるアクセス・レベルを付与できます。セットアップが完了したら、環境のプロビジョニングに進むことができます。 アイデンティティ・ドメインとログイン情報を入力して、Oracle Cloudにログインします。ダッシュボードが表示され、すべてのサービスの一覧が示されます。図1に示すように、ドロップダウンを使って、特定のアイデンティティ・ドメイン内の特定のサービスのみを表示できます。筆者の例では、星型のアイコンをクリックしていくつかのサービスをお気に入りとして登録し、お気に入りのサービスのみを表示するようにしています。[編集注:本誌のファイル・サイズの制約により、他の大きな画像についてはリンクを提供しています。クリックすると、完全なサイズの画像が表示またはダウンロードされます]Oracle Java Cloud Serviceの「Service Console」リンクをクリックすると、Oracle Java Cloud Serviceのウェルカム・ページが表示されます。そのページの「Services」リンク(

Oracle Java Cloud Serviceの主な強みは、セルフサービス・ポータルを使って、要件にもっとも適合した環境を簡単にプロビジョニングできることです。

Page 3: Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを 対象としていました。それ以降、オラクルはOracle

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2016

54

//cloud /

図2)をクリックして、前提条件をセットアップします。前提条件は、Secure Shell(SSH)公開鍵/秘密鍵、アクティブなOracle Storage Cloud Service、およびアクティブなOracle Database Cloud Serviceがあることです。Oracle Java Cloud Serviceの試用版には、依存先となる他のクラウド・サービスの試用版も含まれているため、他の試

用版をリクエストする必要はありません。次に、前提条件について詳しく見ていきます。

SSH公開鍵/秘密鍵 Oracle Java Cloud Serviceには、認証のためにSSHの公開鍵と秘密鍵のペアが必要になるため、この鍵のペアを生成する必要があります。筆者はPuTTYgenツール(Windows実行可能ファイル)を使ってこの鍵のペアを生成しましたが、別の方法を使ってもかまいません。公開鍵は、Oracle Database Cloud ServiceやOracle Java Cloud Serviceをプロビジョニングする際も必要になります。

Oracle Storage Cloud ServiceOracle Storage Cloud Serviceは、セキュアでスケーラブルなストレージ機能を提供します。Oracle Java Cloud Serviceは、サービス・インスタンスのバックアップをOracle Storage Cloud Serviceのコンテナに保存するため、Oracle Storage Cloud Serviceが必要になります。 図1を見ると、Oracle Storage Cloud Serviceの部分に、Replication Policy Not Set(レプリケーション・ポリシーが設定されていません)と強調表示されています。そのため、まずは「Set Replication Policy」リンクをクリックして、Oracle Storage Cloud Serviceのレプリケーション・ポリシーを設定する必要があります。レプリケーション中のデータ転送速度を上げるために、各種Oracleクラウド・サービスとOracle Storage Cloud Serviceを同じプライマリ・データセンターでホストすることをお勧めします。法律上の要件やセキュリティ要件についても考慮する必要があります。

図1:構成ダッシュボード 図3:ストレージのレプリケーション・ポリシー

Page 4: Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを 対象としていました。それ以降、オラクルはOracle

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2016

55

//cloud /

図3に示すように、筆者はOracle Java Cloud Serviceと同じプライマリ・データセンターを選択しました。 次に、Oracle Java Cloud ServiceとOracle Database Cloud Serviceで必要となる、Oracle Storage Cloud Serviceコンテナを作成する必要があります。これらのコンテナは、REST APIまたはJavaライブラリを使って作成できます。 注:Oracle Java Cloud ServiceとOracle Database Cloud Serviceの両方でVirtual Imageオプションを利用する場合は、Oracle Storage Cloud Serviceコンテナを作成する必要はありません。Virtual Imageは開発/テスト環境向けであるため、バックアップとリカバリのためにOracle Storage Cloud Serviceコンテナを利用しないという選択が可能です。

Oracle Database Cloud ServiceOracle Java Cloud Serviceでは、Oracle Database Cloud Serviceが稼働している必要があります。そのため、Oracle Java Cloud Serviceインスタンスを作成するためには、事前にOracle Database Cloud Serviceインスタンスを作成する必要があります。Oracle Database Cloud Serviceの「Service Console」リンクをクリックします(図1)。表示されるウェルカム・ページで、「Services」リンクをクリックします。図4に示すページが表示されます。「Create Service」をクリックします。次に、Service Detailsページで毎月の請求とOracle Database 12c Enterprise Editionに関するオプションを選択して、Oracle Database Cloud Serviceを作成します(図5)。筆者は、javamagDBWithStorageというサービス名と、その説明およびパスワードを入力しました。また、作成しておいたSSH公開鍵を指定しました。注:Oracle Database Cloud Service - Virtual Imageを作成する場合は、バックアップ先としてnoneを選択できます。その場合、Oracle Database Cloud ServiceのバックアップとリストアのためのOracle Storage Cloud Serviceコンテナをセットアップする必要もありません。1 OCPU、7.5GB RAMの基本シェイ

プを選択します。この構成は、最大16

OCPU、240GB RAMまで拡張できます(ここでのOCPUは、ハイパースレッディングを有効にした何らかのIntel Xeonプロセッサの物理コア1つに相当するCPU性能を示します)。「Next」をクリックして詳細を確認します。数分後、javamagDBWithStorageデータベースがプロビジョニングされ、実行状態になります(図6)。

Oracle Java Cloud Serviceの詳細javamagDBWithStorageデータベースが実行状態になったら、Oracle Java Cloud Serviceコンソール(図2)に戻り、「Create Service」をクリックします。図7に示すように、「Oracle Java Cloud Service」を選択します。次に、利用可能な最新バージョンのOracle WebLogic ServerのEnterprise Editionを選択します。Service Detailsページ(図8)で、1 OCPU、7.5GB RAMの基本シェイプを選択して、Oracle Database Cloud Serviceの構成を指定し、Backup and Recovery ConfigurationでOracle Storage Cloud Serviceの構成を指定します。また、Oracle WebLogic Serverのユーザー名とパスワードを入力して、サンプル・アプリケーションをデプロイするように選択します。 サマリー画面(図9)に表示されるサービス情報を確認します。数分後、Oracle Java Cloud Serviceインスタンスがプロビジョニングされ、いつでも利用できる状態になります。この処理が完了したら、オンプレミスのOracle WebLogic Serverと同じようにOracle WebLogic Serverのインスタンスを利用できます。また、Oracle WebLogic Administration Consoleにログインして、アプリケーションをOracle Java Cloud Serviceにデプロイすることもできます。以上で、Oracle Java Cloud Serviceのセットアップが完了し、クラウドにエンタープライズ向けのOracle WebLogic Serverとデータベースを展開しました。また、Oracle Storage Cloud Serviceでのバックアップとリカバリのセットアップも完了しました。

Oracle Java Cloud Serviceの利用はとても簡単で、スケーリングやその他のメリットがあるため、クラウドが魅力的な選択肢になります。

Page 5: Oracle Java Cloud Serviceを 使い始める · へのデプロイ」)では、Oracle Java Cloud Serviceの過去のバージョンを 対象としていました。それ以降、オラクルはOracle

ORACLE.COM/JAVAMAGAZINE ///////////////////////////////// MAY/JUNE 2016

56

//cloud /

まとめ本記事で説明したように、Oracle Java Cloud Serviceの利用はとても簡単で、スケーリングやその他のメリットがあるため、特にエンタープライズ・アプリケーションにとってクラウドが魅力的な選択肢になります。 Javaのクラウド分野はここ数年で急速に成熟しました。当初は多くの開発者が次のように心配していました。「クラウドの設定を思いどおりに変更できるのだろうか。クラウドは、今のオンプレミス・サーバーで得られることが当然となっている性能や機能をすべて実現できるのだろうか。ビジネスに対する柔軟性は十分にあるのだろうか」ほかにも心配は尽きませんでした。筆者の経験上、最近のOracle Java Cloud Serviceソリューションでは、これらの不安はすべて解消されており、さらにそれ以上のメリットも得られています。</article>

Harshad Oak:Java Champion。IndicThreadsおよびRightrix Solutionsの設立者。『Pro Jakarta Commons』(Apress、2004年)の著者であるほか、Java EEに関する複数の著書あり。インド、米国、スリランカ、タイ、中国で講演を行う。

Oracle Developer Cloud ServiceOracle Managed Cloud Services

learn more