サービスメッシュ - 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 設定の項目を設定することで、個々の仮想ノードで上書きできます。IPv4 と IPv6 の両方のトラフィックをリッスンできる仮想ゲートウェイの設定は、メッシュにどちらの IP 設定が設定されていても同じであるため、仮想ゲートウェイでは IP 設定を上書きすることはできません。

    • デフォルト

      • 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 アドレスのみが使用されます。AWS Cloud Map が IPv4 アドレスを返す場合、IP アドレスは使用されず、空の結果が Envoy に返されます。

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

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

    • IPv4 のみ

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

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

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

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

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

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

AWS CLI

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

以下のコマンド (赤色の値を独自の値に置き換えてください) を使用して、サービスメッシュを作成します。

  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" } } }

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

メッシュの削除

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

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

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

AWS CLI
AWS CLI を使用してメッシュを削除するには
  1. 以下のコマンドを使用してメッシュを削除します (赤色の値を独自の値に置き換えてください)。

    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" } } }

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