Share
Embed
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy
March 16, 2026
Transcript
34 slides
-
VPCエンドポイントとは 超ざっくり言えば、 VPC内から、インターネットを経由せずに、対応するAWSサービス・リソースへ到達するための プライベートな接続口(経路) 以下のような種類があります。 ⚫ ゲートウェイエンドポイント ⚫ インターフェースエンドポイント ⚫
Gateway Load Balancer エンドポイント ⚫ リソースエンドポイント ⚫ サービスネットワークエンドポイント -
VPCエンドポイントとは 超ざっくり言えば、 VPC内から、インターネットを経由せずに、対応するAWSサービス・リソースへ到達するための プライベートな接続口(経路) 以下のような種類があります。 ⚫ ゲートウェイエンドポイント ⚫ インターフェースエンドポイント ⚫
Gateway Load Balancer エンドポイント ⚫ リソースエンドポイント ⚫ サービスネットワークエンドポイント 今回お話しするのはこちら! -
インターフェースエンドポイントの料金 インターフェースエンドポイントの課金体系は2種類あります。 ① エンドポイントが存在する時間に応じて課金されるもの ② データ通信量に応じて課金されるもの ① ② 【参考】 https://aws.amazon.com/jp/privatelink/pricing/
①は利用有無に関係なく料金が発生します! つまり“1つ”のエンドポイントに対して1か月で最低でも以下の料金が必要になります ※2026年3月時点 0.014ドル × 730時間(1か月) = 10.22ドル(約1,600円)/月 -
インターフェースエンドポイントの料金 インターフェースエンドポイントの課金体系は2種類あります。 ① エンドポイントが存在する時間に応じて課金されるもの ② データ通信量に応じて課金されるもの ① ② 【参考】 https://aws.amazon.com/jp/privatelink/pricing/
①は利用有無に関係なく料金が発生します! つまり“1つ”のエンドポイントに対して1か月で最低でも以下の料金が必要になります ※2026年3月時点 0.014ドル × 730時間(1か月) = 10.22ドル(約1,600円)/月 10個あれば102.2ドル(約16,000円)/月 20個あれば204.4ドル(約32,000円)/月 50個あれば511ドル(約80,000円)/月 ・ ・ ・ -
(その前に)ドメインとIPアドレスのマッピング ここでは分かりやすく EC2 から Secrets Manager への通信を例とします。 【参考】 https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/privatelink-access-aws-services.html#interface-endpoint-private-dns VPCエンドポイント作成時に
プライベートDNS名を有効化 することで、自動的にAWS管理・ユーザ非表示のプラ イベートホストゾーンが作成され、DNS名(secretsmanager.ap-northeast-1.amazonaws.com)とVPC エンドポイントのENIのIPアドレスがマッピングされたDNSレコードが登録される。 -
VPCエンドポイント共有(今回ご紹介する案) Route53 プライベートホストゾーンを各VPCに関連付けることで実現可能 アカウント ◆イメージ図 共有VPC VPCエンドポイント Private subnet Route53
Private Hosted Zone ホストゾーンの関連付け Secrets Manager ホストゾーンの関連付け Route53 Resolver VPC-a Private subnet EC2 Route53 Resolver VPC-b Private subnet EC2 Route53 Resolver -
VPCエンドポイント共有(今回ご紹介する案) 前提 ⚫ 全てのVPCで以下設定が有効化されていること enableDnsHostnames enableDnsSupport ⚫ VPC間で双方向に通信できること VPC Peering
や Transit Gateway など、接続方式は問いませんが、 当然ながら双方向で通信できる状態である必要があります。 (今回のメインでお伝えしたい趣旨とは少し外れるので後続の手順では割愛しております) ⚫ 接続先サービスを利用するためのアクセス制御が設定されていること こちらも当然ながらIAMポリシーやリソースポリシーなど、必要な権限が適切に設定されてい る必要があります。 (今回のメインでお伝えしたい趣旨とは少し外れるので後続の手順では割愛しております) -
VPCエンドポイント共有(今回ご紹介する案) 手順(1/3) 1.共有アカウント側でVPCエンドポイントを作成する。 この時に プライベートDNS名を有効化 のチェックを外す。 2.共有アカウント側でRoute53 プライベートホストゾーンを作成する。 この時に設定するドメイン名を サービスエンドポイントのDNS名とする。
【参考】 https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html -
VPCエンドポイント共有(今回ご紹介する案) 手順(3/3) 4.2で作成したホストゾーンを別のVPCへ関連付けする許可を AWS CLI で行う。 ※AWS CLIもしくはSDKしか対応していないため、マネコンでは不可。 5.共有先のアカウント側で4のホストゾーン関連付け承認を AWS
CLI で行う。 ※AWS CLIもしくはSDKしか対応していないため、マネコンでは不可。 【参考】 https://docs.aws.amazon.com/cli/latest/reference/route53/associate-vpc-with-hosted-zone.html 【参考】 https://docs.aws.amazon.com/cli/latest/reference/route53/create-vpc-association-authorization.html CLIコマンド)aws route53 create-vpc-association-authorization CLIコマンド)aws route53 associate-vpc-with-hosted-zone ホストゾーンにVPCが関連付けられたことが確認できる -
VPCエンドポイント共有(今回ご紹介する案) 単一アカウント内の場合 アカウント ◆アーキテクチャ例 共有VPC VPCエンドポイント Private subnet Route53 Private
Hosted Zone ホストゾーンの関連付け Secrets Manager ホストゾーンの関連付け Route53 Resolver VPC-a Private subnet EC2 Route53 Resolver VPC-b Private subnet EC2 Route53 Resolver -
VPCエンドポイント共有(今回ご紹介する案) マルチアカウントの場合 共有アカウント ◆アーキテクチャ例 共有VPC VPCエンドポイント Private subnet Route53 Private
Hosted Zone アカウント1 VPC-a Private subnet アカウント2 ホストゾーンの関連付け ホストゾーンの関連付け ホストゾーンの関連付け EC2 Secrets Manager Route53 Resolver Route53 Resolver VPC-b Private subnet EC2 Route53 Resolver VPC-c Private subnet EC2 Route53 Resolver -
留意点(今回ご紹介する案) 以下のような点に留意が必要です。 ⚫ リソースを共有することになるため、性能面のボトルネックや障害影響範囲の拡大に注意が 必要 ⇒利用VPCやワークロードが増えるほど通信やDNSクエリが集中する ⇒共有基盤としてキャパシティ設計や監視設計が必要になる ⚫ 共有利用は基本的にリージョン単位で設計する ⇒VPCエンドポイントがリージョナルサービスで、DNS
と経路もリージョン単位で設計する必 要がある ⚫ プライベートホストゾーンあたりに関連付けられるVPC数の上限は300 ⇒Route 53 Profiles を利用することで、1Profile あたり最大1,000VPC まで関連 付け可能 【参考】 https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/DNSLimitations.html -
Route53 Profiles を使う Route53 Profiles を使うことで、Route53プライベートホストゾーンやRoute53 Resolver 転送ルール、DNS FirewallグループなどのDNS設定の管理を容易にすることが できます。
ただし、追加コストが発生します。(中々に高価) 一方で、管理が容易になるため、開発や運用負荷が低減され、規模などによっては結果的に全 体のコストとして最適化になる可能性もあります。(経費は増加、労務費は減少) 【参考】 https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/profiles.html -
RAM を使う AWS Resource Access Manager(RAM)を用いた共有といった方式もあります。 RAMを利用して個別に中央ネットワークアカウントを用意したりと、規模などによってはこちらの 方が一般的かと思われます。 ですが名前解決の考え方は前半に紹介した内容と基本的に同じになります。 【参考】
https://docs.aws.amazon.com/ja_jp/ram/latest/userguide/what-is.html https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/rehost-multi-account-architecture-interface-endpoints/introduction.html -
NAT Gateway 経由でのアクセス VPCエンドポイントではなく NAT Gateway を経由してアクセスさせることも可能です。 その場合も、インターネットを経由することがない旨、FAQやドキュメントに掲載されています。 セキュリティやコストなどを考慮したうえでの検討によっては選択肢の1つになります。 システムによってはNAT
Gateway 経由の方がトータルコストで有利な場合もあります。 【参考】 https://aws.amazon.com/jp/vpc/faqs/ https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/privatelink-access-aws-services.html -
NAT Gateway 経由でのアクセス(図にするとこんな感じ) AWS Cloud ◆アーキテクチャ例(イメージです) VPC ルートテーブル Private subnet
Route53 Resolver ①Secrets Manager(secretsmanager.ap- northeast-1.amazonaws.com) のIPアドレス教えて ②ほいよ、X.X.X.X だよ。 Secrets Manager ⑤NATGWにアクセス ③X.X.X.X への 行き方を教えて ④まずはNATGWに 行ってね <凡例> 名前解決 : 通信 : EC2 パブリックサービス エンドポイント (Secrets Manager) AWSグローバルネットワーク NAT Gateway Internet Gateway Public DNS ルートテーブル ⑥X.X.X.X への 行き方を教えて ⑦次はIGWに行って ね ⑧ IGWを経由してパブリックサービスエンドポイントへアクセス ※EC2への戻りの通信は、行きの通信の逆経路を通る -
まとめ ⚫ VPCエンドポイントの料金体系を把握しましょう ⚫ VPCエンドポイントへの通信の流れを理解しましょう ⚫ VPCエンドポイント共有によりコスト最適化できる場合があります ⚫ VPCエンドポイントの共有方法には複数の選択肢があります ⚫
NAT Gatewayを利用する方法もあります ⚫ とはいえ、コスト最適化だけにとらわず可用性やセキュリティ、運用なども考慮して選択しま しょう