Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for tommy tommy
March 16, 2026

 VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!

Avatar for tommy

tommy

March 16, 2026

More Decks by tommy

Other Decks in Technology

Transcript

  1. インターフェースエンドポイントの料金 インターフェースエンドポイントの課金体系は2種類あります。 ① エンドポイントが存在する時間に応じて課金されるもの ② データ通信量に応じて課金されるもの ① ② 【参考】 https://aws.amazon.com/jp/privatelink/pricing/

    ①は利用有無に関係なく料金が発生します! つまり“1つ”のエンドポイントに対して1か月で最低でも以下の料金が必要になります ※2026年3月時点 0.014ドル × 730時間(1か月) = 10.22ドル(約1,600円)/月
  2. インターフェースエンドポイントの料金 インターフェースエンドポイントの課金体系は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円)/月 ・ ・ ・
  3. (その前に)ドメインと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レコードが登録される。
  4. 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
  5. VPCエンドポイント共有(今回ご紹介する案) 前提 ⚫ 全てのVPCで以下設定が有効化されていること enableDnsHostnames enableDnsSupport ⚫ VPC間で双方向に通信できること VPC Peering

    や Transit Gateway など、接続方式は問いませんが、 当然ながら双方向で通信できる状態である必要があります。 (今回のメインでお伝えしたい趣旨とは少し外れるので後続の手順では割愛しております) ⚫ 接続先サービスを利用するためのアクセス制御が設定されていること こちらも当然ながらIAMポリシーやリソースポリシーなど、必要な権限が適切に設定されてい る必要があります。 (今回のメインでお伝えしたい趣旨とは少し外れるので後続の手順では割愛しております)
  6. 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が関連付けられたことが確認できる
  7. 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
  8. 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
  9. 留意点(今回ご紹介する案) 以下のような点に留意が必要です。 ⚫ リソースを共有することになるため、性能面のボトルネックや障害影響範囲の拡大に注意が 必要 ⇒利用VPCやワークロードが増えるほど通信やDNSクエリが集中する ⇒共有基盤としてキャパシティ設計や監視設計が必要になる ⚫ 共有利用は基本的にリージョン単位で設計する ⇒VPCエンドポイントがリージョナルサービスで、DNS

    と経路もリージョン単位で設計する必 要がある ⚫ プライベートホストゾーンあたりに関連付けられるVPC数の上限は300 ⇒Route 53 Profiles を利用することで、1Profile あたり最大1,000VPC まで関連 付け可能 【参考】 https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/DNSLimitations.html
  10. Route53 Profiles を使う Route53 Profiles を使うことで、Route53プライベートホストゾーンやRoute53 Resolver 転送ルール、DNS FirewallグループなどのDNS設定の管理を容易にすることが できます。

    ただし、追加コストが発生します。(中々に高価) 一方で、管理が容易になるため、開発や運用負荷が低減され、規模などによっては結果的に全 体のコストとして最適化になる可能性もあります。(経費は増加、労務費は減少) 【参考】 https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/profiles.html
  11. 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への戻りの通信は、行きの通信の逆経路を通る