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

Serverless App Engine:K8s ServiceName を使用してアプリケーションサービスのアクセスを設定する

最終更新日:Nov 21, 2025

SAE は、多言語のアプリケーションのサービス登録とサービスディスカバリをサポートしており、K8s ServiceName を使用したサービス間の呼び出しが可能です。SAE クラスター内のアプリケーションに、固定でアクセス可能なドメイン名を設定できます。これにより、デプロイメントごとにインスタンスの IP アドレスが変更される問題が解決されます。このトピックでは、SAE コンソールを使用して K8s ServiceName でアプリケーションのアクセスを設定する方法について説明します。

背景情報

分散マイクロサービスフレームワークでは、サービスのオンラインまたはオフラインのステータスが変更されたときに、サーバーとクライアントが適切に通信できるようにするために、サービス登録とサービスディスカバリが使用されます。

  • サービス登録: これはサーバーに適用されます。サービスインスタンスは、その情報をレジストリに登録します。クライアントは、レジストリからこの情報を読み取り、サブスクライブします。

  • サービスディスカバリ: これはクライアントに適用されます。レジストリは、サービスのインスタンスアドレスとメタデータをプローブし、事前定義されたインターフェイスを介してこの情報をクライアントに提供します。クライアントはレジストリにクエリを実行して、依存するサービスに関する情報を取得し、その情報を使用して呼び出しを行います。

制限事項

  • このドメイン名は、SAE アプリケーション内のインスタンスへのアクセスにのみ使用できます。FC、ACK、ECS などの他のサービスのインスタンスやクラスターは、このドメイン名を使用して SAE アプリケーションにアクセスすることはできません。他のサービスのアプリケーションが SAE アプリケーションにアクセスする必要がある場合は、非公開または公開の Classic Load Balancer (CLB) を関連付けてアクセスを提供する必要があります。詳細については、「CLB を使用してアプリケーションサービスのアクセスを設定する」をご参照ください。

  • K8s ServiceName にアクセスするために ping コマンドを使用しないでください。代わりに、TCP または UDP を使用してコードから ServiceName にアクセスしてください。ネットワーク接続を確認するために、ping コマンドを使用してアプリケーションの Pod IP アドレスをテストできます。

  • アプリケーションの Pod は、その ServiceName を使用して自身にアクセスすることはできません。

  • サーバーアプリケーションとクライアントアプリケーションが相互に呼び出す必要がある場合、両方に K8s ServiceName を設定する必要があります。

設定ガイド

  1. 機能にアクセスします。

    アプリケーション作成時の設定エントリポイント

    1. SAE コンソールにログインします。左側のナビゲーションウィンドウで、[アプリケーション管理] > [アプリケーション一覧] を選択します。リージョンと名前空間を選択し、[アプリケーションの作成] をクリックします。

    2. アプリケーションのバージョンを選択し、[アプリケーションの作成] をクリックします。

    3. [アプリケーションの基本情報] ページで設定を構成し、[次へ: 詳細設定] をクリックします。

    4. [詳細設定] ページで、[サービス登録と検出] セクションを見つけて展開します。

    アプリケーションデプロイ時の設定エントリポイント

    警告

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

    1. SAE コンソールにログインします。左側のナビゲーションウィンドウで、[アプリケーション管理] > [アプリケーション一覧] を選択します。リージョンと名前空間を選択し、対象のアプリケーションの名前をクリックします。

    2. アプリケーションの [基本情報] ページで、[アプリケーションのデプロイ] をクリックします。

    3. [アプリケーションのデプロイ] ページで、[サービス登録と検出] セクションを見つけて展開します。

  2. [K8s Service に基づくサービス登録と検出] 機能を設定します。

    1. [K8s Service に基づくサービス登録と検出] スイッチをオンにします。

    2. [サービス名][ポート][プロトコル] を設定します。

      設定項目

      説明

      サービス名

      カスタムサービス名を入力します。名前は、アカウントの同じリージョン内で一意である必要があり、作成後に変更することはできません。

      説明

      デフォルトのサービス名はアプリケーション名です。

      ポート

      1 から 65535 までの [ポート] 番号を入力します。

      説明

      最大 5 つのポートとプロトコルの設定を追加できます。

      コンテナーポート

      コンテナーポートを入力します。

      プロトコル

      ドロップダウンリストからプロトコルを選択します。次のプロトコルがサポートされています:

      • TCP

      • UDP

アクセスドメイン名の表示

対象アプリケーションの [基本情報] ページで、[アプリケーションアクセス設定] セクションに移動します。[K8s Service Name に基づくアクセス] タブをクリックしてドメイン名を表示します。

説明

次の 4 種類のドメイン名がサポートされています:

  • 同じ名前空間内のアプリケーションにアクセスするには、サービス名を使用します。例: `demo`。

  • 名前空間をまたいでアプリケーションにアクセスするには、次のいずれかのドメイン名形式を使用します。

    • demo.nsfoo

      この例では、`nsfoo` はカスタム名前空間です。対象のアプリケーションが `default` 名前空間にある場合は、名前空間 ID として `default` を使用します。例: `demo.default`。
    • demo.nsfoo.svc.cluster.local

    • demo.nsfoo.svc.cluster.local.cn-hangzhou

TCK2WNb6P7