サービスメッシュ - AWS App Mesh

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サービスメッシュ

重要

サポート終了通知: 2026 年 9 月 30 日、 は のサポートを中止 AWS します AWS App Mesh。2026 年 9 月 30 日以降、 AWS App Mesh コンソールまたは AWS App Mesh リソースにアクセスできなくなります。詳細については、このブログ記事の「 から Amazon ECS Service Connect AWS App Mesh への移行」を参照してください。

サービスメッシュは、サービス間のネットワークトラフィックの論理的な境界であり、サービスはその中に存在します。サービスメッシュを作成したら、仮想サービス、仮想ノード、仮想ルーター、およびルートを作成して、メッシュ内のアプリケーション間でトラフィックを分散させることができます。

サービスメッシュの作成

注記

メッシュを作成するときは、ネームスペースセレクタを追加する必要があります。名前空間セレクタが空の場合、すべての名前空間が選択されます。名前空間を制限するには、ラベルを使用して App Mesh リソースを作成したメッシュに関連付けます。

AWS Management Console
を使用してサービスメッシュを作成するには AWS Management Console
  1. で App Mesh コンソールを開きますhttps://console.aws.amazon.com/appmesh/

  2. [メッシュを作成] を選択します。

  3. [メッシュ名] に、サービスメッシュの名前を指定します。

  4. (オプション) [外部トラフィックを許可する] を選択します。デフォルトでは、メッシュ内のプロキシは相互間のトラフィックのみを転送します。外部トラフィックを許可すると、メッシュ内のプロキシは、メッシュで定義されているプロキシを使用してデプロイされていないサービスにもTCPトラフィックを直接転送します。

    注記

    ALLOW_ALL を使用する際、仮想化ノードでバックエンドを指定する場合は、その仮想化ノードのすべてのエグレスをバックエンドとして指定する必要があります。それ以外の場合は、その仮想化ノードでは ALLOW_ALL が機能しなくなります。

  5. [IP バージョンの設定]

    [デフォルトの IP バージョンの動作を上書きする] をオンに切り替えて、メッシュ内のトラフィックに使用する IP バージョンを制御します。デフォルトでは、App Mesh はさまざまな IP バージョンを使用します。

    注記

    メッシュは、IP 設定をメッシュ内のすべての仮想ノードと仮想ゲートウェイに適用します。この動作は、ノードを作成または編集するときに IP 設定の項目を設定することで、個々の仮想ノードで上書きできます。仮想ゲートウェイで IP 設定を上書きすることはできません。これは、トラフィックIPv4とIPv6トラフィックの両方をリッスンできる仮想ゲートウェイの設定は、メッシュで設定されている設定に関係なく同じであるためです。

    • デフォルト

      • Envoy のDNSリゾルバーは を好みIPv6、 に戻りますIPv4

      • 利用可能な場合は AWS Cloud Map から返された IPv4 アドレスを使用し、フォールバックする場合は IPv6 アドレスを使用します。

      • ローカルアプリ用に作成されたエンドポイントは IPv4 アドレスを使用します。

      • Envoy リスナーはすべての IPv4 アドレスにバインドされます。

    • IPv6 優先

      • Envoy のDNSリゾルバーは を好みIPv6、 に戻りますIPv4

      • 利用可能な場合は AWS Cloud Map から返された IPv6 アドレスを使用し、フォールバックする場合は IPv4 アドレスを使用します。

      • ローカルアプリ用に作成されたエンドポイントは IPv6 アドレスを使用します。

      • Envoy リスナーはすべての IPv4 および IPv6 アドレスにバインドされます。

    • IPv4 優先

      • Envoy のDNSリゾルバーは を好みIPv4、 に戻りますIPv6

      • 利用可能な場合は AWS Cloud Map から返された IPv4 アドレスを使用し、フォールバックする場合は IPv6 アドレスを使用します。

      • ローカルアプリ用に作成されたエンドポイントは IPv4 アドレスを使用します。

      • Envoy リスナーはすべての IPv4 および IPv6 アドレスにバインドされます。

    • IPv6 のみ

      • Envoy のDNSリゾルバーは のみを使用しますIPv6

      • AWS Cloud Map によって返された IPv6 アドレスのみが使用されます。がIPv4アドレス AWS Cloud Map を返すと、IP アドレスは使用されず、空の結果が Envoy に返されます。

      • ローカルアプリ用に作成されたエンドポイントは IPv6 アドレスを使用します。

      • Envoy リスナーはすべての IPv4 および IPv6 アドレスにバインドされます。

    • IPv4 のみ

      • Envoy のDNSリゾルバーは のみを使用しますIPv4

      • AWS Cloud Map によって返された IPv4 アドレスのみが使用されます。がIPv6アドレス AWS Cloud Map を返すと、IP アドレスは使用されず、空の結果が Envoy に返されます。

      • ローカルアプリ用に作成されたエンドポイントは IPv4 アドレスを使用します。

      • Envoy リスナーはすべての IPv4 および IPv6 アドレスにバインドされます。

  6. [メッシュを作成] を選択して終了します。

  7. (オプション) メッシュを他のアカウントと共有します。共有メッシュを使用すると、異なるアカウントで作成されたリソースが同じメッシュ内で相互に通信できるようになります。詳細については、「共有メッシュの使用」を参照してください。

AWS CLI

AWS CLIを使用してメッシュを作成するには

次のコマンドを使用してサービスメッシュを作成します ( red 独自の値):

  1. aws appmesh create-mesh --mesh-name meshName
  2. 出力例:

    { "mesh":{ "meshName":"meshName", "metadata":{ "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName", "createdAt":"2022-04-06T08:45:50.072000-05:00", "lastUpdatedAt":"2022-04-06T08:45:50.072000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version":1 }, "spec":{}, "status":{ "status":"ACTIVE" } } }

AWS CLI for App Mesh でメッシュを作成する方法の詳細については、 AWS CLI リファレンスの create-mesh コマンドを参照してください。

メッシュの削除

AWS Management Console
を使用して仮想ゲートウェイを削除するには AWS Management Console
  1. で App Mesh コンソールを開きますhttps://console.aws.amazon.com/appmesh/

  2. 削除するメッシュを選択します。所有し、共有されているすべてのメッシュが一覧表示されます。

  3. 確認ボックスで、「delete」と入力し、[削除] をクリックします。

AWS CLI
を使用してメッシュを削除するには AWS CLI
  1. 次のコマンドを使用してメッシュを削除します ( red 独自の値):

    aws appmesh delete-mesh \ --mesh-name meshName
  2. 出力例:

    { "mesh": { "meshName": "meshName", "metadata": { "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName", "createdAt": "2022-04-06T08:45:50.072000-05:00", "lastUpdatedAt": "2022-04-07T11:06:32.795000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": {}, "status": { "status": "DELETED" } } }

AWS CLI for App Mesh でメッシュを削除する方法の詳細については、 AWS CLI リファレンスの delete-mesh コマンドを参照してください。