Amazon VPC Lattice のよくある質問

Page Topics

全般

全般

Amazon VPC Lattice は、事前のネットワーキングの専門知識がなくても、サービス間の通信を一貫して接続、保護、モニタリングできるようにするアプリケーションレイヤーのネットワーキングサービスです。VPC Lattice を使用すると、基盤となるコンピューティングタイプにかかわらず、ネットワークアクセス、トラフィック管理、およびネットワークモニタリングを設定して、VPC やアカウント全体で一貫したサービス間通信を実現できます。

VPC Lattice は、次のユースケースに対処するのに役立ちます。

サービスを大規模に接続する – ネットワークを複雑にすることなく、VPC やアカウント全体で数千のサービスを接続します。

きめ細かいアクセス許可を適用する – サービス間のセキュリティを強化し、一元化されたアクセスコントロール、認証、およびコンテキスト固有の承認により、ゼロトラストアーキテクチャをサポートします。

高度なトラフィックコントロールを実装する – リクエストレベルのルーティングや、ブルー/グリーンおよび canary デプロイ向けの重み付けされたターゲットなど、きめ細かなトラフィックコントロールを適用します。

サービス間のインタラクションを観察する – リクエストタイプ、トラフィック量、エラー、応答時間などについて、サービス間の通信をモニタリングおよびトラブルシューティングします。

VPC Lattice は、ロール固有の機能を提供することで、デベロッパーとクラウド管理者の間のギャップを埋めるのに役立ちます。VPC Lattice は、最新のアプリケーションを迅速に実行するために必要となる、一般的なインフラストラクチャやネットワークタスクを学習して実行することに気が進まないデベロッパーにお勧めです。デベロッパーは、ネットワークではなく、アプリケーションの構築に注力できるべきです。VPC Lattice は、混合コンピューティング環境 (インスタンス、コンテナ、サーバーレス)、および VPC やアカウント全体で一貫した方法で認証、承認、および暗号化を有効にすることにより、組織のセキュリティ体制を強化しようとしているクラウドおよびネットワーク管理者にもお勧めです。

VPC Lattice を使用すると、仮想プライベートクラウド (VPC) とアカウントの境界にまたがるサービス間通信を可能にするサービスネットワークと呼ばれる論理アプリケーションレイヤーのネットワークを作成し、ネットワークの複雑さを緩和できます。VPC 内の専用データプレーンを通じて、HTTP/HTTPS および gRPC プロトコルを介した接続を提供します。このデータプレーンは、VPC 内からのみアクセスできるリンクローカルエンドポイントを通じて公開されます。

管理者は、AWS Resource Access Manager (AWS RAM) を使用して、サービスネットワーク経由で通信を確立できるアカウントや VPC を制御できます。VPC がサービスネットワークに関連付けられている場合、VPC 内のリソースは、サービスネットワーク内のサービスのコレクションを自動的に検出して接続できます。サービス所有者は、VPC Lattice コンピューティング統合を使用して、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic Kubernetes Service (Amazon EKS)、および AWS Lambda からサービスをオンボーディングし、参加する 1 つ以上のサービスネットワークを選択できます。サービス所有者は、高度なトラフィック管理ルールを設定して、ブルー/グリーンや canary スタイルのデプロイなどの一般的なパターンをサポートするためにリクエストを処理する方法を定義することもできます。トラフィック管理に加えて、サービス所有者と管理者は、VPC Lattice 認証ポリシーを通じて認証と承認を強制することにより、追加のアクセスコントロールを実装できます。管理者は、サービスネットワークレベルでガードレールを適用し、個々のサービスに対してきめ細かいアクセスコントロールを適用できます。VPC Lattice は非侵襲的で、既存のアーキテクチャパターンと連携するように設計されているため、組織全体の開発チームは時間の経過に合わせて段階的かつ漸進的にサービスをオンボーディングできます。

VPC Lattice には、次の 4 つの主なコンポーネントが導入されています。

サービス – 特定のタスクまたは機能を提供する、独立してデプロイ可能なソフトウェアの単位。サービスは任意の VPC やアカウントに存在でき、インスタンス、コンテナ、またはサーバーレスコンピューティングで実行できます。サービスは、AWS Application Load Balancer と同様に、リスナー、ルール、およびターゲットグループで構成されます。

サービスディレクトリ – 自ら作成したか、または AWS RAM を通じてアカウントと共有され、VPC Lattice に登録されたすべてのサービスの一元的なレジストリです。

サービスネットワーク – ユーザーが接続を有効にし、サービスのコレクションに共通のポリシーを適用する方法を簡素化するための論理的なグループ化メカニズム。サービスネットワークは、AWS RAM を使用してアカウント間で共有し、VPC に関連付けて、サービスのグループへの接続を有効にすることができます。

認証ポリシー – 認証ポリシーは、アクセスコントロールを定義するためにサービスネットワークおよび個々のサービスに関連付けることができる AWS Identity and Access Management (IAM) リソースポリシーです。認証ポリシーは IAM を使用し、ユーザーはリッチなプリンシパル-アクション-リソース-条件 (PARC) スタイルの質問を指定して、VPC Lattice サービスでコンテキスト固有の認証を強制できます。通常、組織はサービスネットワークで「自分の組織 ID 内で認証されたリクエストのみを許可する」などの粒度の粗い認証ポリシーを適用し、サービスレベルでよりきめ細かいポリシーを適用します。

VPC Lattice は、現在、米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、欧州 (アイルランド)、欧州 (フランクフルト)、欧州 (ロンドン)、欧州 (ストックホルム)、およびカナダ (中部) といった AWS リージョンで利用できます。

Lattice は VPC の機能であり、個別の評価/呼び出しは必要ありません。対象範囲内のサービスの機能は「評価済み/対象」とみなされ、「コンプライアンスプログラムによる対象範囲内の AWS のサービス」にも記載されています。特に除外されていない限り、各サービスの一般に利用可能な機能は、保証プログラムの範囲内とみなされます。

Amazon VPC Lattice では、AZ 間のデータ転送の料金が別途かかることはありません。アベイラビリティーゾーン間のデータ転送は、VPC Lattice のサービス料金のデータ処理ディメンションによってカバーされます。

トラフィックフローと到達可能性をモニタリングするために、サービスネットワークとサービスレベルの両方でアクセスログを利用できます。環境の完全なオブザーバビリティを実現するために、サービスと Lattice ターゲットグループのメトリクスを表示することもできます。サービスネットワークとサービスレベルのログは、CloudWatch Logs、S3、または Kinesis Data Firehose にエクスポートできます。さらに、VPC フローログや AWS X-Ray などの他の AWS のオブザーバビリティ機能を利用して、ネットワークフロー、サービスインタラクション、API コールを追跡できます。

VPC Lattice サービスが作成されると、AWS によって管理される Route 53 パブリックホストゾーンに完全修飾ドメイン名 (FQDN) が作成されます。これらの DNS 名は、サービスネットワークに関連付けられた VPC に関連付けられた独自のプライベートホストゾーンの CNAME エイリアスレコードで使用できます。カスタムドメイン名を指定して、カスタムサービス名を解決できます。カスタムドメイン名を指定する場合は、サービスの作成後に DNS ルーティングを設定する必要があります。これは、カスタムドメイン名の DNS クエリを VPC Lattice エンドポイントにマッピングするためです。Route 53 を DNS サービスとして使用している場合は、Amazon Route 53 のパブリックまたはプライベートホストゾーン内に CNAME エイリアスレコードを設定できます。HTTPS の場合は、カスタムドメイン名に一致する SSL/TLS 証明書も指定する必要があります。

はい。Amazon VPC Lattice は HTTPs をサポートしており、Amazon Certificate Manager (ACM) を通じて管理される各サービスの証明書も生成します。クライアント側の認証のために、Lattice は AWS SIGv4 を使用します。

はい。Amazon VPC Lattice は、可用性の高いリージョンレベルの分散型サービスです。VPC Lattice にサービスを登録する場合、ターゲットを複数のアベイラビリティーゾーンに分散させることがベストプラクティスです。VPC Lattice サービスは、設定されたルールと条件に基づいて、トラフィックが正常なターゲットにルーティングされるようにします。

Amazon VPC Lattice は、Kubernetes Gateway API の実装である AWS Gateway API Controller を通じて、Amazon Elastic Kubernets Service (EKS) およびセルフマネージド Kubernetes ワークロードとネイティブに統合します。 これにより、既存または新規のサービスの Lattice への登録、および HTTP ルートの Kubernetes リソースへの動的マッピングが容易になります。

Amazon VPC Lattice のサービスとサービスネットワークは、リージョンレベルのコンポーネントです。マルチリージョン環境がある場合は、すべてのリージョンにサービスとサービスネットワークを配置できます。クロスリージョンおよびオンプレミスの通信パターンについては、現在、クロスリージョン VPC ピアリング、AWS Transit Gateway、AWS Direct Connect、または AWS Cloud WAN などの AWS グローバル接続サービスを利用できます。リージョン間の接続パターンの詳細については、このブログをご覧ください。

はい。Amazon VPC Lattice は IPv6 をサポートしており、VPC Lattice サービスと VPC 全体で重複する IPv4 アドレス空間と IPv6 アドレス空間の間でネットワークアドレス変換を実行できます。Amazon VPC Lattice は、さまざまなコンピューティングタイプにわたってシンプルかつ一貫した態様で、IPv4 サービスと IPv6 サービスの両方を安全に接続し、通信フローをモニタリングするのに役立ちます。これにより、基盤となる IP アドレス指定にかかわらず、IP サービス間のネイティブな相互運用性が提供され、AWS におけるサービス全体での IPv6 の採用が促進されます。詳細については、このブログをご覧ください。

はい。Amazon EventBridgeAWS LambdaAWS CloudTrailAWS Resource Access Manager (AWS RAM) でタグを使用して、Amazon VPC Lattice リソースの関連付けの追加と削除、およびクロスアカウントリソース共有を自動化できます。これらの方法は、単一の AWS Organization 内で用いることも、複数の AWS アカウント全体で用いることもでき、ベンダー/クライアントアプリケーションなどの複数のユースケースをサポートします。詳細と実装例については、このブログをご覧ください。

サービスネットワークのディストリビューションの設計は、組織の構造と運用モデルに対応する必要があります。組織全体のドメイン固有のサービスネットワークを選択し、それに応じてアクセスポリシーを設定できます。あるいは、サービスネットワークに対してよりセグメント化したアプローチを採用し、それらのサービスネットワークを各ルーティングドメインや組織内の独立したビジネスユニット全体に関連付けることもできます。1 つの VPC は一度に 1 つのサービスネットワークに関連付けることができる一方で、サービスは複数のサービスネットワークに登録できます。