AWS PrivateLink でプライベート接続を実現 - VPC エンドポイントとエンドポイントサービス

インターネットを経由せず AWS サービスにプライベート接続する。Gateway エンドポイントの無料活用とエンドポイントサービスの構築を紹介します。

PrivateLink の概要

PrivateLinkVPC から AWS サービスや SaaS にプライベート接続を提供するサービスです。インターネットゲートウェイや NAT Gateway を経由せず、AWS のプライベートネットワーク内で通信が完結します。セキュリティ要件でインターネットアクセスを禁止している環境でも AWS サービスを利用できます。

エンドポイントの種類

インターフェースエンドポイントは ENI (Elastic Network Interface) をサブネットに作成し、プライベート IP アドレスで AWS サービスにアクセスします。時間課金とデータ処理課金が発生します。ゲートウェイエンドポイントは S3 と DynamoDB 専用で、ルートテーブルにプレフィックスリストを追加する方式です。無料で利用でき、S3 への大量アクセスがある場合はゲートウェイエンドポイントが推奨です。エンドポイントポリシーで特定の S3 バケットのみにアクセスを制限し、意図しないバケットへのデータ流出を防止します。

エンドポイントサービスの構築

自社のサービスを PrivateLink 経由で他のアカウントに公開するには、 NLB または GWLB の背後にサービスを配置し、エンドポイントサービスを作成します。許可プリンシパルで接続を許可するアカウントや IAM プリンシパルを制御し、接続リクエストの手動承認または自動承認を設定します。コンシューマー側はインターフェースエンドポイントを作成し、プライベート DNS 名でサービスにアクセスします。プライベート DNS 名を設定すると、コンシューマーの VPC 内で DNS 解決がエンドポイントの ENI に向けられ、アプリケーションコードの変更なしでプライベート接続に切り替えられます。エンドポイントポリシーで特定の API アクションやリソースへのアクセスを制限し、データ流出を防止します。 VPC エンドポイントに関する詳しい解説はAmazon の関連書籍でも確認できます。

PrivateLink の料金と設計指針

インターフェースエンドポイントは AZ ごとに時間課金 (約 0.01 ドル/時) とデータ処理料金 (約 0.01 ドル/GB) が発生します。マルチ AZ 構成では AZ 数分のコストがかかるため、可用性要件に応じて配置する AZ 数を決定します。Gateway エンドポイント (S3、DynamoDB) は無料で、NAT Gateway 経由のトラフィックを削減する最も効果的なコスト最適化策です。大量のデータ転送がある場合、PrivateLink のデータ処理料金と NAT Gateway のデータ処理料金を比較し、コスト効率の高い方を選択します。VPC エンドポイントの利用状況は CloudWatch メトリクスで監視でき、未使用のエンドポイントを特定して削除することでコストを削減します。

DNS とプライベート名前解決

PrivateLink を使う際の利便性を高めるのが、プライベート DNS の機能です。インターフェースエンドポイントにプライベート DNS を有効にすると、サービス本来のホスト名がエンドポイントの VPC 内アドレスに解決されるようになります。これにより、アプリケーションのコードや設定を変えずに、通信だけをプライベート経路へ切り替えられます。オンプレミスからの解決には Route 53 Resolver を組み合わせます。名前解決の経路を正しく設計しておかないと、意図せず公開経路を使ってしまうことがあるため、DNS の構成は PrivateLink 設計の重要な要素です。

セキュリティと境界設計

PrivateLink の利点は、通信をインターネットに出さずに VPC 内で完結できることです。これにより、インターネットゲートウェイを持たない閉じたネットワークからでも、必要なサービスへ安全に接続できます。エンドポイントにはポリシーを設定し、どのリソースへどの操作を許可するかを制限できます。セキュリティグループで通信元を絞り、最小限の経路だけを開きます。アカウントをまたいでサービスを提供・利用する構成でも、PrivateLink を介せば、相手にネットワーク全体を見せることなく、特定のサービスだけを安全に公開できます。

代表的なユースケース

PrivateLink は、さまざまな接続要件に応えます。SaaS 事業者が、顧客の VPC へ自社サービスを安全に提供する経路として使えます。オンプレミスと AWS を専用線や VPN でつないだうえで、PrivateLink を経由して特定のサービスだけに到達させる構成も可能です。組織内の共有サービスを、複数のアカウントやチームから安全に利用させる用途にも適します。インターネットを介さずにサービス間をつなぐため、データの経路を社内に閉じたい、公開エンドポイントを増やしたくない、といった要件を持つ環境で特に価値を発揮します。

運用と可用性

PrivateLink を本番で使うには、可用性とコストの両面を設計します。エンドポイントは複数のアベイラビリティゾーンに配置し、片方のゾーンに障害が起きても通信を継続できるようにします。インターフェースエンドポイントは時間とデータ処理量に応じて課金されるため、本当に必要なサービスに絞って作成し、無駄なエンドポイントを残さないようにします。一部のサービスへの接続は無料のゲートウェイ型で代替できる場合があるため、種類を使い分けてコストを抑えます。利用状況を監視し、エンドポイントの数と構成を定期的に見直すことが、効率的な運用につながります。

まとめ

PrivateLink は VPC からのプライベート接続を提供し、インターネットを経由しないセキュアな通信を実現するサービスです。Gateway エンドポイントで S3/DynamoDB への無料プライベート接続を確立し、インターフェースエンドポイントで 100 以上の AWS サービスにプライベートアクセスします。エンドポイントポリシーでアクセスを制限し、エンドポイントサービスで自社サービスを他アカウントに安全に公開します。