Amazon VPC Lattice とは - Amazon VPC Lattice

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

Amazon VPC Lattice とは

Amazon VPC Lattice は、アプリケーションのサービスの接続、保護、モニタリングに使用する、フルマネージド型アプリケーションネットワーキングサービスです。VPC Lattice は、単一の仮想プライベートクラウド (VPC)、または 1 つ以上のアカウントの複数の VPC で使用できます。

最新のアプリケーションは、マイクロサービスと呼ばれる、複数の小型でモジュラー型のサービスで構成されることがあります。モダナイゼーションには利点がありますが、これらのマイクロサービスを接続すると、ネットワークが複雑になり、課題が生じることもあります。例えば、デベロッパーが異なるチームに分散している場合、複数のアカウントや VPC にわたってマイクロサービスを構築してデプロイすることになります。

VPC Lattice では、マイクロサービスをサービスと呼んでいます。これは VPC Lattice ドキュメントに記載されている表現です。

主要コンポーネント

Amazon VPC Lattice を使用するには、その主要コンポーネントに精通している必要があります。

サービス

特定のタスクや機能を提供する、独立してデプロイ可能な単位のソフトウェアです。サービスは、アカウントまたは仮想プライベートクラウド (VPC) 内で、EC2 インスタンスまたは ECS コンテナで実行できるほか、Lambda 関数として実行することもできます。VPC Lattice サービスには、ターゲットグループ、リスナー、ルールというコンポーネントがあります。


       リスナーを 1 つとターゲットグループを 2 つを含むサービス。
ターゲットグループ

アプリケーションまたはサービスを実行するリソース (ターゲットとも呼ばれる) のコレクションです。ターゲットには、EC2 インスタンス、IP アドレス、Lambda 関数、Application Load Balancer、Kubernetes ポッドを指定できます。これらは Elastic Load Balancing が提供するターゲットグループと似ていますが、互換性はありません。

Listener

接続リクエストをチェックし、ターゲットグループのターゲットにルーティングするプロセスです。1 つのサービスには、HTTP プロトコルおよび HTTPS プロトコルと 1~65535 のポート番号を使用する、最大 2 つのリスナーを設定できます。

ルール

VPC Lattice ターゲットグループのターゲットにリクエストを転送するリスナーのデフォルトのコンポーネントです。各ルールは優先度、1 つ以上のアクション、および 1 つ以上の条件で構成されています。ルールは、リスナーによるクライアントリクエストのルーティング方法を決定します。

サービスネットワーク

サービスの集合の論理的な境界です。クライアントは、サービスネットワークに関連付けられている VPC にデプロイされたリソースです。同じサービスネットワークに関連付けられているクライアントとサービスは、権限があれば、相互に通信できます。

次の図の VPC とサービスは同じサービスネットワークに関連付けられているため、クライアントは両方のサービスと通信できます。


       サーバーとクライアントを含むサービスネットワーク。
サービスディレクトリ

AWS Resource Access Manager () を通じて所有または共有しているすべての VPC Lattice サービスの中央レジストリAWS RAM。

認証ポリシー

サービスへのアクセスを定義するために使用できる、きめ細やかな認証ポリシーです。個別の認証ポリシーを個々のサービスまたはサービスネットワークにアタッチできます。例えば、EC2 インスタンスの Auto Scaling グループで実行されている支払いサービスと、 AWS Lambdaで実行されている請求サービスとのやり取りを定めたポリシーを作成できます。

役割と責任

役割は、Amazon VPC Lattice 内の情報の設定とフローの担当者を決定します。通常、サービスネットワーク所有者とサービス所有者の 2 つの役割がありますが、それぞれの責任は重複する場合があります。

サービスネットワーク所有者 — サービスネットワーク所有者は通常、組織のネットワーク管理者またはクラウド管理者です。サービスネットワーク所有者は、サービスネットワークの作成、共有、プロビジョニングを行います。また、VPC Lattice 内のサービスネットワークまたはサービスにアクセスできるユーザーを管理します。サービスネットワーク所有者は、サービスネットワークに関連付けられたサービスの粗粒度のアクセス設定を定義できます。これらのコントロールは、認証ポリシーおよび承認ポリシーを使用してクライアントとサービス間の通信を管理するために使用されます。サービスがサービスネットワーク所有者のアカウントと共有されている場合、サービスネットワーク所有者はサービスをサービスネットワークに関連付けることもできます。


    サービスネットワーク所有者の役割と責任

サービス所有者 — 通常、サービス所有者は組織におけるソフトウェア開発者です。サービス所有者は VPC Lattice でサービスを作成し、ルーティングルールを定義し、サービスをサービスネットワークに関連付けます。また、きめ細かなアクセス設定を定義して、認証および承認されたサービスとクライアントにのみアクセスを制限することもできます。


    サービス所有者の役割と責任

機能

VPC Lattice が提供するコア機能は以下のとおりです。

サービス検出

サービスネットワークに関連付けられた VPC のクライアントとサービスはすべて、同一サービスネットワーク内の他のサービスと通信できます。DNS は、VPC Lattice エンドポイントを介して client-to-service および service-to-service トラフィックを送信します。クライアントがサービスにリクエストを送信する場合、クライアントはサービスの DNS 名を使用します。Route 53 リゾルバーはトラフィックを VPC Lattice に送信し、VPC Lattice が送信先サービスを識別します。

接続

C lient-to-service 接続は、 AWS ネットワークインフラストラクチャ内の VPC Lattice データプレーンを使用して確立されます。VPC をサービスネットワークに関連付けると、VPC 内のクライアントは、必要なアクセス権を持っている場合、サービスネットワーク内のサービスに接続できます。

オブザーバビリティ

VPC Lattice は、サービスネットワークを経由するリクエストとレスポンスごとにメトリクスとログを生成します。これは、アプリケーションの監視とトラブルシューティングに利用できます。デフォルトでは、VPC Lattice はサービス所有者のアカウントでメトリクスを公開します。また、ログ記録を有効にするオプションもあります。クライアントも同じサービスネットワークに関連付けられている場合、サービスネットワーク所有者はサービスネットワークに関連付けられているすべてのサービスのログを受け取ります。サービス所有者は、サービスにリクエストを送信したすべてのクライアントのログを受け取ります。

VPC Lattice は、 CloudWatch ロググループ、Firehose 配信ストリーム、S3 バケットといったサービスのモニタリングとトラブルシューティングに役立つツールと連携します。

セキュリティ

VPC Lattice は、複数のネットワークレイヤーに防御戦略を実装するために使用できるフレームワークを提供します。最初のレイヤーはサービスと VPC の関連付けです。VPC とサービスとの関連付けがなければ、クライアントはサービスにアクセスできません。2 番目のレイヤーでは、VPC とサービスネットワーク間の関連付けにセキュリティグループをアタッチできます。3 番目と 4 番目のレイヤーは認証ポリシーで、サービスネットワークレベルおよびサービスレベルで個別に適用できます。

VPC Lattice へのアクセス

次のインターフェイスのいずれかを使用して、VPC Lattice の作成、アクセス、管理を行うことができます。

  • AWS Management Console - VPC Lattice へのアクセスに使用するウェブインターフェイスを提供します。

  • AWS Command Line Interface (AWS CLI) — VPC Lattice を含むさまざまな AWS のサービス用のコマンドを提供します。 AWS CLI は、Windows、MacOS、Linux でサポートされています。CLI の詳細については、AWS Command Line Interface を参照してください。API の詳細については、「Amazon VPC Lattice API リファレンス」を参照してください。

  • Kubernetes 用 VPC Lattice コントローラー — Kubernetes クラスターの VPC Lattice リソースを管理します。Kubernetes での VPC Lattice の使用の詳細については、「AWS ゲートウェイ API コントローラのユーザーガイド」を参照してください。

  • AWS CloudFormation - AWS のリソースをモデル化して設定するのに役立ちます。詳細については、「Amazon VPC Lattice リソースタイプリファレンス」を参照してください。

料金

VPC Lattice では、サービスがプロビジョニングされた時間、各サービスを通じて転送されたデータ量、リクエスト数に対してお支払いいただきます。詳細については、「Amazon VPC Lattice の料金」を参照してください。