yagibrary
← 記事一覧に戻る
公開日: 2026-06-11

【AWS SAA対策】ネットワーク全体を繋がずに安全共有!AWS PrivateLinkの仕組みとNLBの設計パターン

AWS SAA試験で頻出のマルチアカウントVPC設計!「共通のサービスを特定のAWSアカウントにだけプライベート公開するにはどうする?」という課題に対し、AWS PrivateLinkとNLBを組み合わせるべき理由を初心者向けに徹底図解します。

AWS上で複数のアカウントやVPCを運用するようになると、「共通で利用する便利なアプリケーション(住所確認、決済処理、共通データベース等)を1つのVPCにまとめて、他の子会社や外部アカウントから安全に利用させたい」 という要件が頻繁に出てきます。

しかし、セキュリティや運用の観点から以下のような課題に直面します。

  • 「ネットワーク全体を繋ぎたくない(特定のアプリケーションだけを利用させたい)」
  • 「接続元のVPCとIPアドレス(CIDR)が重複している」
  • 「接続先のVPCごとに複雑なルートテーブルやルーティングの管理をするのが面倒」

この記事では、これらの課題をスマートに解決し、AWS SAA試験でも超頻出である 「AWS PrivateLink と Network Load Balancer (NLB)」 の構成について、初心者向けに図解を交えて徹底解説します!


💻 よくある設計課題(シナリオ)

あなたはある大手物流会社で、複数の事業部門が共通して利用する「住所確認アプリケーション」を提供しようとしています。

このアプリケーションは共有サービス用のVPC(Shared Services VPC)内で稼働していますが、セキュリティ担当者から以下の要件を課されました。

  1. アプリケーションへのアクセスは特定のAWSアカウントのみに限定し、その他の不要なアクセスは一切遮断する。
  2. インターネットを経由しない、セキュリティの高いプライベートなネットワーク環境で接続する。
  3. 接続元のVPCがどのようなIPアドレス帯(CIDR)を使っていても繋がるようにし、ルートテーブルの変更などのメンテナンス工数を最小限に抑える。

これらを満たす最適なネットワーク構成はどのような設計になるでしょうか?


この課題に対するベストプラクティスは、接続元のVPCと共有VPCの間を AWS PrivateLink(VPC エンドポイントサービス) で繋ぎ、裏側に NLB (Network Load Balancer) を配置する構成です。

構成の概要図

graph LR
    subgraph ClientVPC ["クライアントの VPC (接続元)"]
        ClientApp["接続元インスタンス"]
        Endpoint["VPC エンドポイント<br/>(プライベートIP)"]
    end

    subgraph ProviderVPC ["Shared Services VPC (提供元)"]
        NLB["Network Load Balancer (NLB)"]
        SharedApp["住所確認アプリ"]
    end

    ClientApp -->|VPC内部のプライベートIP宛て| Endpoint
    Endpoint == AWS PrivateLink (専用通信路) ==> NLB
    NLB -->|トラフィックを分散| SharedApp

1. 特定のアカウントのプリンシパル(IAM)だけに公開を制限できる

PrivateLinkは、エンドポイントサービス側で「接続を許可するAWSアカウントID(または特定のIAMエンティティ)」をホワイトリスト登録できます。許可されていないアカウントからの接続はすべて自動で拒否されるため、極めて安全です。

2. ネットワーク全体を接続せず、サービス単位で露出する

VPCピアリングのように「ネットワーク全体を繋ぐ道路」を作るのではなく、共有サービスへアクセスするための「プライベートな窓口(VPCエンドポイント)」を接続元VPCに1つだけ出現させる技術です。これにより、接続元から提供元VPC内にある他の不要なリソースへのアクセスを完全に遮断できます。

3. IPアドレス(CIDR)の重複(衝突)があっても接続できる

VPCピアリングや後述するTransit Gatewayでは、接続し合うVPC同士のIPアドレス範囲(例: 10.0.0.0/16)が重複しているとルーティングが競合するため接続できません。

💡 なぜIPアドレスが重複しているとダメなのか?(郵便の例え) 同じ町内に「山田さん」の家が2つあり、番地も完全に同じ(例: 1丁目1番地)だった場合、郵便配達員はどちらの「山田さん」に手紙を届ければいいか分からなくなります。 ネットワークでも同様に、接続元が 10.0.0.0/16 で、接続先も 10.0.0.0/16 だった場合、お互いに全く同じIPアドレス(例: 10.0.1.5)が存在し得ます。この状態で通信を送ろうとしても、宛先が「自分のローカル内」なのか「接続先VPC」なのか判別できず、ルーターの設定(ルートテーブル)も競合エラーで登録できません。

しかし、PrivateLinkは接続元VPCの中に「自VPC内のプライベートIP(例: 10.0.5.50)」を持った専用のエンドポイント(窓口)を作成します。 接続元のインスタンスは、相手のIPアドレスを一切意識することなく、自VPC内の窓口宛てに通信を送るだけで良く、あとはAWSのシステムが自動で裏でアドレス変換(NAT)を行うため、IPアドレスの重複があっても全く問題なく繋がります

4. ルーティングの管理(ルートテーブル)が不要

接続元は、自VPC内に出現したエンドポイントのプライベートIP(またはプライベートDNS名)宛てに通信を送るだけです。VPCを跨ぐための複雑なルートテーブルの設定変更(ルーティング設定)が不要なため、管理工数を劇的に抑えられます。


🧐 なぜ他の選択肢(ピアリング等)は不適切なのか?

a. VPC ピアリング

  • 不適切である理由: VPCピアリングはネットワーク全体を相互接続するため、細かい制御が難しく、接続先から不要なリソースまで通信が通ってしまうリスクがあります。また、接続するVPC数が増えるにつれてルートテーブルの管理がメッシュ状に肥大化し、メンテナンス工数が増え続けます。さらに、IPアドレス(CIDR)の重複がある場合は接続できません。

c. ALB をインターネット経由で公開する

  • 不適切である理由: インターネット経由でアクセスさせる構成は、「セキュリティの高いネットワーク環境(プライベート接続)」という要件に反します。

d. Transit Gateway

  • 不適切である理由: Transit Gateway は大規模なハブアンドスポーク構成を組むための強力なサービスですが、これもVPC間の相互通信をルーティング制御するため、特定のアプリケーションだけにアクセスを制限する管理が複雑になります。また、IPアドレス重複に対応しづらく、設定の複雑さや初期費用・転送量コストも大きいため、「メンテナンス工数を抑える」という観点からはPrivateLinkに劣ります。

🎯 AWS SAA 合格に向けたおすすめの教材

AWS SAA(ソリューションアーキテクト – アソシエイト)の勉強をさらに進めたい方向けの、おすすめの優良教材です。

1. 【書籍】AWS教科書 AWS認定ソリューションアーキテクトアソシエイト テキスト&問題集 第2版

試験範囲の網羅率が非常に高く、各サービスの仕組みが詳細な図解付きで体系的に学べる一冊です。今回解説したVPCエンドポイントやPrivateLinkの仕組みについても丁寧に書かれています。

おすすめ参考書(書籍)

AWS教科書 AWS認定ソリューションアーキテクトアソシエイト テキスト&問題集 第2版

試験範囲の網羅率が非常に高く、各サービスの仕組みが詳細な図解付きで体系的に学べる一冊です。今回解説したVPC周りのルートテーブルやNATの動作についても丁寧に書かれています。

amazon.co.jp Amazonで詳細を見る →

2. 【Udemy】【SAA-C03版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座

ベストセラーとなっている動画教材です。ハンズオン(実際にAWS画面を操作するパート)が豊富で、実際にVPCやエンドポイントを作ってプライベート接続を検証できるため、本で学ぶよりも圧倒的にPrivateLinkの仕組みが腹落ちします。

オンライン動画教材(Udemy)

【SAA-C03版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座

03版の新試験対応!アソシエイト試験突破に必要な経験と知識を1000ページ以上の理論学習、40サービス以上のハンズオン、3回分の模擬テストで獲得していきます! 網羅的にAWSを利用していく基礎力を身に着けることが可能です!

udemy.com 講座の詳細を見る →

この記事をシェアする