すべてのプロダクト
Search
ドキュメントセンター

Serverless App Engine:Kubernetes サービス名に基づいてアプリケーションアクセスを設定する

最終更新日:May 28, 2025

Serverless App Engine (SAE) は、Kubernetes サービス名に基づく多言語サービス登録およびディスカバリ機能を提供します。 Kubernetes サービス名を使用して、サービス間呼び出しを実行できます。 アプリケーションがデプロイされるたびに、アプリケーションインスタンスの IP アドレスが変更されます。 インスタンスの IP アドレスの変更によって発生する可能性のある問題を防ぐために、SAE クラスタ内でアプリケーションにアクセスできる固定ドメイン名を設定できます。 このトピックでは、SAE コンソールでアプリケーションの Kubernetes サービス名ベースのサービスアクセスを設定する方法について説明します。

背景情報

分散マイクロサービスフレームワークでは、サービスの起動、シャットダウン、または変更時に、サービス登録およびディスカバリ機能を使用して、サーバーが呼び出し元と通信できます。

  • サービス登録はサーバーに適用されます。 サーバー側のインスタンスがサービス情報をレジストリに登録すると、呼び出し側はレジストリから情報を読み取り、サブスクライブできます。

  • サービスディスカバリは呼び出し側に適用されます。 レジストリは、サービスのインスタンスアドレスとメタデータを検出し、定義済みのインターフェイスを提供して、呼び出し側がデータをクエリできるようにします。 呼び出し側のサービスインスタンスは、レジストリにリクエストを送信して、サーバー側のサービスインスタンスの登録情報を取得します。 次に、呼び出し側のサービスインスタンスは、取得した情報に基づいて、サーバー側のサービスインスタンスによって提供されるサービスを呼び出すリクエストを送信します。

制限事項

  • 指定されたドメイン名は、対応する SAE アプリケーションのインスタンスへのアクセスにのみ使用できます。 Function Compute、Container Service for Kubernetes (ACK)、Elastic Compute Service (ECS) などの他のクラウドサービスのインスタンスまたはクラスタは、そのドメイン名を使用して SAE アプリケーションにアクセスすることはできません。 他のクラウドサービスが SAE アプリケーションにアクセスする必要がある場合は、内部向けまたはインターネット向けの Classic Load Balancer (CLB) インスタンスをアプリケーションにバインドすることをお勧めします。 詳細については、「CLB インスタンスに基づいてアプリケーションアクセスを設定する」をご参照ください。

  • ping コマンドを実行して、Kubernetes サービス名を使用してアプリケーションにアクセスすることはできません。 アプリケーションコードで TCP または UDP 関連の設定を行い、サービス名を使用してアプリケーションにアクセスできます。 ネットワーク接続が正常かどうかを確認するには、ping コマンドを実行して、アプリケーション内のポッドの IP アドレスをテストすることをお勧めします。

  • アプリケーションポッドは、Kubernetes サービス名を使用して自身にアクセスすることはできません。

  • サーバーと呼び出し元の間の通信を実装するには、サーバーと呼び出し元の Kubernetes サービス名を設定する必要があります。

アプリケーションの作成時にサービス登録およびディスカバリ機能を設定する

  1. SAE コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、地域を選択します。 次に、[アプリケーションの作成] をクリックします。

  3. [基本情報] ステップで、パラメータを設定し、[次へ: アプリケーションデプロイ構成] をクリックします。

  4. [デプロイ構成] ステップで、[テクノロジスタックプログラミング言語] パラメータと [アプリケーションデプロイ方法] パラメータ、および対応する設定を構成します。

  5. [サービス登録とディスカバリ] セクションで、[Kubernetes サービスベースのサービス登録とディスカバリ] タブをクリックします。 このタブで、[Kubernetes サービスベースのサービス登録とディスカバリを有効にする] をオンにして、パラメータを設定します。

    パラメータ

    説明

    サービス名

    デフォルトでは、システムは アプリケーション名-Namespace ID 形式でサービス名を自動的に指定します。 接尾辞 -Namespace ID は変更できません。

    説明

    サービスを作成した後、サービスの名前を変更することはできません。

    ポート

    [ポート] フィールドにポート番号を入力します。 有効な値: 1 ~ 65535。

    説明

    ポートとプロトコルの構成は最大 5 つまで追加できます。

    プロトコル

    ドロップダウンリストからプロトコルを選択します。 有効な値:

    • TCP

    • UDP

  6. [次へ: 仕様の確認] をクリックします。

  7. [仕様の確認] ステップで、アプリケーションの詳細と選択した仕様の料金を確認します。 次に、[確認] をクリックします。

    [作成完了] ステップが表示されます。 [アプリケーションの詳細] をクリックして、アプリケーションの [基本情報] ページに移動できます。

  8. 次のいずれかの方法を使用して、構成が有効になっているかどうかを確認します。

    • 方法 1:

      [基本情報] ページの左側のナビゲーションウィンドウで、[変更履歴] をクリックします。 [変更履歴] ページで、変更の詳細を表示します。 [変更ステータス] 列に [実行済み] と表示されている場合、アプリケーションはデプロイされ、構成が有効になっています。

    • 方法 2:

      [基本情報] ページで、[インスタンスデプロイ情報] タブをクリックして、インスタンスの [ステータス] を表示します。 [ステータス] 列に [実行中] と表示されている場合、アプリケーションはデプロイされ、構成が有効になっています。

    • 方法 3:

      [基本情報] ページの [アプリケーションアクセス設定] セクションで、[K8s サービス名ベースのアクセス] タブをクリックして、サービスディスカバリの構成を表示します。 指定されたサービス名、ポート番号、およびプロトコルが表示されている場合、アプリケーションはデプロイされ、構成が有効になっています。

アプリケーションのデプロイ時にサービス登録およびディスカバリ機能を設定する

警告

アプリケーションを再デプロイすると、アプリケーションが再起動されます。 ビジネスの中断などの予期しないエラーを防ぐために、オフピーク時にアプリケーションをデプロイすることをお勧めします。

アプリケーションを更新するために実行できる手順は、アプリケーション内のインスタンスの数によって異なります。 このセクションでは、インスタンス数が 1 以上であるアプリケーションに必要な機能を設定する方法の例を示します。 インスタンス数が 0 であるアプリケーションを更新する方法については、「アプリケーションを更新する」をご参照ください。

  1. SAE コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、地域を選択します。 次に、アプリケーションの名前をクリックします。

  3. [基本情報] ページの右上隅にある [アプリケーションのデプロイ] をクリックします。

  4. [サービスの登録と検出] セクションの [アプリケーションのデプロイ] ページで、[Kubernetes サービスベースのサービス登録と検出] タブをクリックします。このタブで、[Kubernetes サービスベースのサービス登録と検出を有効にする] をオンにして、パラメーターを構成します。

    パラメータ

    説明

    サービス名

    デフォルトでは、システムは アプリケーション名-Namespace ID 形式でサービス名を自動的に指定します。 接尾辞 -Namespace ID は変更できません。

    説明

    サービスを作成した後、サービスの名前を変更することはできません。

    ポート

    [ポート] フィールドにポート番号を入力します。 有効な値: 1 ~ 65535。

    説明

    ポートとプロトコルの構成は最大 5 つまで追加できます。

    プロトコル

    ドロップダウンリストからプロトコルを選択します。 有効な値:

    • TCP

    • UDP

  5. 設定が完了したら、[確認] をクリックします。

  6. 次のいずれかの方法を使用して、構成が有効になっているかどうかを確認します。

    • 方法 1:

      [基本情報] ページの左側のナビゲーションウィンドウで、[変更履歴] をクリックします。 [変更履歴] ページで、変更の詳細を表示します。 [変更ステータス] 列に [実行済み] と表示されている場合、アプリケーションはデプロイされ、構成が有効になっています。

    • 方法 2:

      [基本情報] ページで、[インスタンスデプロイ情報] タブをクリックして、インスタンスの [ステータス] を表示します。 [ステータス] 列に [実行中] と表示されている場合、アプリケーションはデプロイされ、構成が有効になっています。

    • 方法 3:

      [基本情報] ページの [アプリケーションアクセス設定] セクションで、[K8s サービス名ベースのアクセス] タブをクリックして、サービスディスカバリの構成を表示します。 指定されたサービス名、ポート番号、およびプロトコルが表示されている場合、アプリケーションはデプロイされ、構成が有効になっています。