このトピックでは、Serverless Application Engine (SAE) を使用してマイクロサービスアプリケーションをデプロイする方法の例を示します。このトピックでは、アプリケーションのパブリックネットワークアクセスを有効にし、マイクロサービス間でメソッドを呼び出す方法についても説明します。
前提条件
SAE を有効化し、必要な権限を付与していること。また、VPC と名前空間を作成していること。詳細については、「準備」をご参照ください。
ソリューション概要
アプリケーションの作成: Provider アプリケーションと Consumer アプリケーションを SAE にデプロイします。Consumer アプリケーションは、SAE の組み込みのサービス登録および検出機能を使用して、Provider アプリケーションからサービスを呼び出します。
インターネットからアプリケーションにアクセスして結果を検証する: Consumer アプリケーションのパブリックエンドポイントを設定します。次に、ブラウザからアプリケーションにアクセスして、Consumer アプリケーションが Provider アプリケーションを正常に呼び出せることを確認します。
アプリケーションの作成
Provider アプリケーションを SAE にデプロイする
SAE コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。トップメニューバーで、リージョンを選択します。このトピックでは、中国 (杭州) リージョンを例として使用します。[アプリケーションの作成] をクリックします。

[アプリケーションの作成] ページで、次の表の説明に従ってパラメーターを設定し、他のパラメーターはデフォルト値のままにします。次に、[今すぐ作成] をクリックします。アプリケーションは約 1 分で作成されます。
このトピックでは、公式の [デモイメージ] を使用してデプロイメントプロセスを説明します。イメージのビルドステップはスキップできます。本番環境では、ビジネスコードからイメージをビルドし、イメージをイメージリポジトリにアップロードしてから、イメージを SAE にデプロイする必要があります。

設定項目
例
説明
アプリケーション名
microservice-provider
カスタマイズ可能です。
デプロイメント方法
イメージを使用してデプロイ
[イメージの設定] をクリックします。[技術スタック] を Java に、[Java 環境] を Open JDK 8 に設定します。[デモイメージ] タブで、[イメージバージョン] を microservice-java-provider-v1.0 に設定します。
説明このトピックでは、アプリケーション作成プロセスの簡略化された例を示します。アプリケーションの [基本情報] を設定した後、[次へ: 高度な設定] をクリックして、環境変数やログなどの高度な機能を設定できます。詳細については、「高度な設定」をご参照ください。
Consumer アプリケーションを SAE にデプロイする
Consumer アプリケーションをデプロイするには、前の手順を繰り返し、次の表の説明に従ってパラメーターを変更します。

設定項目 | 例 | 説明 |
アプリケーション名 | microservice-consumer | カスタマイズ可能です。 |
デプロイメント方法 | イメージを使用してデプロイ | [イメージの設定] をクリックします。[技術スタック] を Java に、[Java 環境] を Open JDK 8 に設定します。[デモイメージ] タブで、[イメージバージョン] を microservice-java-consumer-v1.0 に設定します。 |
インターネットからアプリケーションにアクセスして結果を検証する
パブリックエンドポイントの設定
[アプリケーション一覧] ページで、作成した Consumer アプリケーションの名前をクリックします。この例では、アプリケーション名は
microservice-consumerです。
[基本情報] ページの [アプリケーション情報] タブで、[アプリケーションアクセス設定] セクションの [インターネット向け CLB の追加] をクリックします。

表示される [インターネット向け CLB の追加] パネルで、次の表の説明に従ってパラメーターを設定します。次に、[OK] をクリックします。
ページでサービスの有効化を求められた場合は、画面の指示に従ってください。

設定項目
例
説明
CLB インスタンス
CLB インスタンスの作成 (従量課金)
次の 2 種類の CLB インスタンスのいずれかを作成できます:
CLB インスタンスの作成 (サブスクリプション)
CLB インスタンスの作成 (従量課金)
プロトコルタイプ
HTTP
利用可能なプロトコルタイプは、HTTP、HTTPS、TCP、および UDP です。このトピックでは、HTTP を例として使用します。他のプロトコルの設定方法については、「CLB インスタンスをアプリケーションにバインドし、パブリックまたは内部エンドポイントを生成する」をご参照ください。
プロトコルポート
2222
カスタム。ポート番号は 1 から 65535 の間でなければなりません。
コンテナーポート
18082
この例では、コンテナーポートは 18082 です。本番環境では、必要に応じてこのパラメーターを設定してください。
アクセスのテスト
Consumer アプリケーションに追加したパブリックエンドポイントをコピーし、ブラウザからエンドポイントにアクセスします。URL のフォーマットは
パブリックエンドポイント/consumer-echo/helloです。アクセスが成功すると、アプリケーションがデプロイされ、インターネットからアクセス可能であることが確認されます。

(オプション) [アプリケーション一覧] ページで、作成した Provider アプリケーションの名前をクリックします。この例では、アプリケーション名は
microservice-providerです。左側のナビゲーションウィンドウで、 を選択します。前の手順を繰り返し、ページをリフレッシュします。Consumer アプリケーションにアクセスするたびに、Provider アプリケーションのリクエスト総数が増加することを確認します。これは、マイクロサービス間のメソッド呼び出しが成功したことを示します。
リソースのクリーンアップ
このチュートリアルを完了した後、リソースが不要になった場合は削除してください。そうしないと、引き続き課金されます。
SAE コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。リソースが配置されているリージョンに切り替えます。このチュートリアルでは、中国 (杭州) リージョンを例として使用します。[アプリケーション一覧] ページで、作成したアプリケーションの名前をクリックして詳細ページに移動します。次に、 を選択し、画面の指示に従います。

参考資料
デモイメージは通常、実際のビジネス要件を満たしません。本番環境では、Docker イメージリポジトリやコードパッケージなどのメソッドを使用してマイクロサービスアプリケーションをデプロイし、高度な機能を設定する必要があります。詳細については、次のトピックをご参照ください。