AWS EC2(開発用)備忘録

基本構成

EC2で公開するアプリケーションは、本番用であればEIPでパブリックIPを固定する。

一方、開発環境では、パブリップIPにする必要は無く、EIPはお金がかかる。

なので、お金のかからないプライベートIPを使用し、AWS VPNでセキュリティを担保しつつ、ローカルからの通信をプライベートIPにルーティングする。

AWS VPNのルーティングについては、『AWS VPNの使いかた』を参照。

VPCとサブネット

VPCは「大きな区画」、サブネットはその中の「小さな区画」

VPC(大きな箱)
サブネット(小箱1)
サブネット(小箱2)
サブネット(小箱3)

サブネットにはNACL(ネットワークACL)という通信制限機能がある。

ただし、デフォルトで以下の設定となっており、基本的には使用しない。

ルール番号 範囲 許可/拒否
100    すべて ALLOW ←全許可
*     すべて DENY ← デフォルト拒否

※ルール番号によって処理順が決められており、基本的には番号100ですべて許可で処理される。

SG(セキュリティグループ)

インバウンドルール

サーバー側の受け入れ設定、つまりはホワイトリストのようなもの。許可する通信の送信元IP範囲(CIDR)を指定する。

デフォルトではすべて拒否。アプリケーションをサーバーにデプロイした際には設定は必須。

アウトバウンドルール

サーバーから送信を許可する先。デフォルトでは「すべて許可(0.0.0.0/0、全ポート)」

インバウンドルールによって許可された通信に対するレスポンスはこのルールとは無関係(SGの通信はステートフルで状態を持たない)。

Appendix

プライベートIP

以下の範囲のIPを指す。

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

世界中のインターネットルーターには、「プライベートIPアドレス宛のパケットは、インターネットに流さない(破棄する)」というルールが組み込まれている。

また、プライベートIPは世界中で重複しているので、ルーティング自体が不可能です。

しかし、VPCへのルーティングが突破された場合に無防備になる点を覚えておく。

コメント

タイトルとURLをコピーしました