0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS VPCに対する構造的理解とセキュリティグループ、ACLに関する概要の備忘録

Last updated at Posted at 2024-11-16

経緯

学習の為やっていたAWSスキルビルダーのAWS QUESTのクラウド島第4ステージで躓いたので、その時の要点をまとめる。
P.S.多分不正確な記述が多いので初学者はこの記事で覚えないで下さい。責任は負いかねます。

参考にしたURL

【AWS図解】インターネットGWとNAT GWの違い解説!

VPCの構造

インターネットからVPCへの接続関係

インターネットからの接続関係
Internet
└── Internet Gateway
     |
(----|---------<VPC>--------------)
(    |                            )
(   Public Subnet                 )
(        |                        )
(   Private Subnet  <--------  NAT Gateway  <--  Internet  <--  Remote Host
(                                 )
(---------------------------------)
  • AWSでは、原則としてVPCとインターネット間のやりとりはIGW(インターネットゲートウェイ)を介して行われる
  • インターネットに公開しなければいけないもの(Webサーバー)はパブリックサブネット
  • インターネットからアクセスできる必要のないものはプライベートサブネット

パブリックサブネットの中身

パブリックサブネット内の構図
Public Subnet
└──  Web Server (HTTP)    <== Webサーバー用セキュリティグループを適用
  • 公開用Webサーバーが配置されている。
    • この時、Webサーバーとして運用しているインスタンスはHTTP通信が通ればいい。
      • HTTP、HTTPS通信を許可したWebサーバー用セキュリティグループを作成、適用する。

  • NATゲートウェイは、プライベートサブネット内のデータベースサーバーをリモート接続で操作しなければいけない場合にアドレス変換をする為に用意してある。
    • データベースサーバーとして運用しているインスタンスのルートテーブルにNATゲートウェイのルートが登録されていればOK

プライベートサブネットの中身

プライベートサブネット内の構図
Private Subnet
└── Database Server    <==データベースサーバー用セキュリティグループを適用
  • インターネットに公開する必要のないデータベースサーバーが配置されている。
    • データベースサーバーインスタンスはWebサーバーからのMySQLリクエストに応答できればいい
      • Webサーバーの入っているインスタンスのプライベートアドレスからのMySQLリクエストのみを許可するデータベースサーバー用セキュリティグループを作成、適用する。


ざっくりとした要点

インターネットゲートウェイ

  • インターネットゲートウェイ(IGW) と聞くと「覚えなきゃ!」という感覚になるが、要は物理ホストにおける デフォルトゲートウェイの事。
  • デフォゲという事なので、IGWはパブリックサブネットからインターネットに出る通信の為にある。
  • だから、データベースサーバーのリモートアクセス用にはNATゲートウェイを使う。

セキュリティグループ

  • セキュリティグループはインスタンスに適用する設定である。
  • だから、コンソールでもEC2インスタンスのセキュリティタブに設定リンクがある。分かり易いね。
  • (重要) セキュリティグループは ステートフルである。
    • ステートフルというのは、「リクエストが届けば、その内容を理解して必要な返答はしてもいいよ」 という便利な性質のこと。
    • つまり、セキュリティグループのインバウンドルールで受信許可を出した通信に関しては、アウトバウンドルールでいちいち適用しなくても返答してくれる
    • アウトバウンドルールは、セキュリティ要件の厳しいプロジェクトや、手順書などに特別指示がない限り設定しなくてもセキュリティグループは機能してくれる。

ACL(アクセスコントロールリスト)

  • サブネットに適用する。
  • サブネットに対する設定なので、コンソールでもインスタンスのサブネットIDリンクから飛んだVPC subnetウィンドウにネットワークACLタブがある。分かり易いね。
  • (重要) ACLはステートレスなので、ちゃんとアウトバウンドルールも設定する事。
  • 簡単なACLルールの見方
    • ルール番号:数字が小さいものほど優先される。恐らく番号表の最下行にある「*」のルールは、適用できるルールがなにもない場合に適用されるルールで、内容は「全部拒否」になっている筈

個人的に重要だったポイント

プライベートサブネット内のインスタンスに適用するセキュリティグループのルールで、インバウンドルールに設定する通信のソースは、「[カスタム]:送信元インスタンスのプライベートIPアドレス(プレフィックスあり)」 に設定する!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?