← グループ一覧へ戻る
ガイド

「プライベートネットワークだから安全」を考え直す ─ 3つのネットワークとAWS APIの守られ方

  • AWS
  • ネットワーク
  • セキュリティ
  • IAM
  • VPC

オンプレミスのネットワーク設計には、長く機能してきた直感がある。 「ファイアウォールの内側は安全で、外側は危険」——境界の内外がそのままセキュリティの内外だった。

この直感を持ったままAWSに入ると、2つの症状が出る。 「とにかく全部プライベートサブネットに入れたい」という過剰な閉域志向と、 「プライベートに置いたのだから安全だ」という誤った安心感である。 本稿では、AWSに存在する3つのネットワークを区別するところから、この直感を組み立て直す。

ページ構成

  1. AWSには3つのネットワークがある
  2. AWSのサービスはどこに住んでいるか
  3. 核心: AWS APIは「場所」ではなく「署名」で守られている
  4. ではプライベートネットワークは何のためにあるのか
  5. 判断の整理: 守りたいものからレイヤーを選ぶ
  6. まとめ

1. AWSには3つのネットワークがある

#ネットワーク誰が管理するか性質
1一般インターネット誰でもない(公共)経路上に不特定の第三者がいる前提。TLSで内容を守る
2AWSグローバルネットワークAWSAWSサービスのAPIエンドポイント群が生きている場所。リージョン間通信もAWSの専用網を通る
3VPCプライベートネットワーク利用者利用者が自分で作る仮想ネットワーク。EC2やRDSなど「住所を持つリソース」だけがここに住む

オンプレの直感では1と3の二分法しかない。しかしAWSの実像は、 多くのサービスが2(AWSのグローバルネットワーク)に住んでいて、そもそも3の中にいないという構造をしている。

2. AWSのサービスはどこに住んでいるか

サービス例住んでいる場所あなたのVPCに「入れられる」か
S3 / DynamoDB / Lambda(関数実行の管理面) / CloudWatch / IAMAWSグローバルネットワーク上のAPIエンドポイント入れられない(そういう場所にいない)
EC2 / RDS / ElastiCache / ECSタスクVPC内(利用者が決めたサブネット)もともとVPCの住人

「S3をプライベートサブネットに置きたい」という要望は、オンプレ直感からは自然に聞こえるが、 構造的に成立しない。S3はVPCの外側、AWSのネットワークに住むサービスであり、 できるのは「S3への経路をどう通すか」を選ぶことだけである(後述のVPCエンドポイント)。

3. 核心: AWS APIは「場所」ではなく「署名」で守られている

ここが本稿でいちばん伝えたい一点である。

AWSのAPIは、リクエストが「どこから来たか」ではなく「誰が署名したか」で守られている。

すべてのAWS API呼び出しには、IAMの認証情報による署名(SigV4)が付く。 APIエンドポイントは署名を検証し、IAMポリシーで認可を判定する。この仕組みに、呼び出し元の場所は関係がない。

呼び出しの状況結果
インターネットの自宅回線から、正しい認証情報でS3を操作成功する
VPCのプライベートサブネット内のEC2から、IAM権限なしでS3を操作拒否される

つまり——

  • プライベートネットワークの内側にいることは、AWS APIに対して何の権限も与えない
  • インターネット側にいることは、AWS APIに対して何の減点にもならない

オンプレの「境界の内側=信頼」という等式は、AWS APIのレイヤーには存在しない。 APIの安全性を決めているのは、IAMポリシーの設計品質(誰に・どの操作を・どのリソースへ許すか)であり、 ネットワーク構成ではない。プライベートサブネットに置いたことを理由にIAMを緩めるのは、 守られていない場所を守られていると誤認する、最も危険なパターンである。

4. ではプライベートネットワークは何のためにあるのか

プライベートネットワークが無意味だという話ではない。守る対象が違うという話である。

守りたいもの有効な手段プライベート配置の意味
AWS APIの操作(S3読み書き、リソース作成…)IAMポリシー、(必要なら)エンドポイントポリシー本質的な防御ではない
VPC内リソースへのネットワーク到達(DBの接続口、管理ポート…)Security Group、プライベートサブネット配置有効。これが本来の役割
通信経路の要件(閉域要件、監査要件…)VPCエンドポイント、専用線・VPN経路の統制として有効
  • データベースやアプリの内部通信のように、ポートへのネットワーク到達そのものを制限したいものには、プライベート配置とSecurity Groupが効く。ここはオンプレの直感がそのまま活きる領域である
  • VPCエンドポイントは「S3への通信をインターネットに出さず、AWS網内で完結させる」という経路の選択であり、それ自体がAPIの認可を強化するわけではない。「閉域経路でなければならない」という要件があるときに選ぶ手段で、全構成に必須の安全装置ではない
  • 閉域化にはNATやエンドポイントの構築・運用コストが伴う。要件のない閉域はコストだけを生む

5. 判断の整理: 守りたいものからレイヤーを選ぶ

設計の順序を「まずプライベートに閉じる」から始めるのではなく、「何を守るか」から始める。

問いYesなら
守りたいのはAWS APIの操作か?IAMポリシーを設計する。ネットワークをどれだけ閉じてもここの代わりにはならない
守りたいのは特定ポートへの到達か?Security Groupで接続元を絞る。必要ならプライベートサブネットへ
「経路をAWS網内に閉じよ」という明文の要件があるか?VPCエンドポイント等を追加する。要件がないなら、その運用コストは他に回す

この順序で考えると、「全部プライベートに置く」という一律の方針は、 第一の問い(API操作の防御)に対して何も答えていないことが分かる。

6. まとめ

オンプレの直感AWSでの実像
ネットワークは内と外の2つ一般インターネット / AWSグローバルネットワーク / VPCの3つ
主要なシステムは内側に置く多くのAWSサービスはそもそもVPCの外(AWS網)に住んでいる
境界の内側=信頼できるAWS APIは場所を見ない。署名とIAMポリシーだけを見る
閉じるほど安全閉域は「経路の要件」に応える手段。APIの防御はIAMの設計品質で決まる

プライベートネットワークは、選択肢の1つであって既定の正解ではない。 API認証とネットワーク制限は別のレイヤーである——この一点を押さえるだけで、 過剰な閉域構成と誤った安心感の両方から距離を取り、守るべきものに設計の力を集中できるようになる。