LoginSignup
9
24

More than 5 years have passed since last update.

一般的なWEBサービスのAWSネットワーク構成

Last updated at Posted at 2016-12-09

一般的なWEBサービスのAWSネットワーク構成

AWSでの小規模~中規模のWEBサービスにおいてのネットワーク構成を考えてみた。

下記最終図案
この他にアップロードファイルをスケール対応する為、S3を増やす予定。

AWS Design2.png

上記の図の詳細を説明する

VPC

10.1.0.0/16

サブネットでネットワークを区切る

マルチAZ構成にする。
更に下記のように三回層に区切る

フロントエンド

インバウンド、アウトバウンド共にインターネットとの接続を許可する。
具体的にはルートテーブルにインタネットゲートウェイを追加する。

【具体例】
図上のearth_frontend_left,rightに該当する。
踏み台サーバやNAT、ELBなどをここに設置する。
ELBを使わない場合はEC2のWEBサーバなど。

サブネットのネットワーク10.1.10.0/24,10.1.11.0/24

ルートテーブルの一例
10.1.0.0/16 local
0.0.0.0/0 igw-**********

igwは事前に作っておくといいと思う。

アプリケーション

インターネットからのインバウンドは必要ないが
wgetとかyumとかで
外のインターネットにつなげたいようなユースケースに該当するサーバを入れる。
具体的にはルートテーブルにNATへの接続を追加する。

【具体例】
図上のearth_application_left,rightに該当する。
PHP-FPMサーバ、tomcatサーバなどなど。
ELBを使う場合はWEBサーバもなどもここに入れて良いと思う。

サブネットのネットワーク10.1.20.0/24,10.1.21.0/24

ルートテーブルの一例
10.1.0.0/16 local
0.0.0.0/0 nat-**********

natは事前に作っておくといいと思う。

プライベート

インターネットと完全に切り離してもいいような領域。
RDSなどのフルマネージドサービスでインも必要ないユースケース。

【具体例】
図上のearth_datastore_left,rightに該当する。

サブネットのネットワーク10.1.30.0/24,10.1.31.0/24

ルートテーブルの一例
10.1.0.0/16 local

セキュリティグループの記述が楽

サブネットを役割ごとに小分けにしておけばセキュリティグループの記載が楽。
下記のようにできる。

databaseセキュリティグループの一例
MySQL/Aurora (3306) 10.1.20.0/23
すべての トラフィック sg-*****

踏み台サーバ

SSHのみ空けているサーバ、セキュリティグループをおいておきましょう。
普段は停止しておくといいと思います。
何か操作したい場合はコンソールから起動して。という形式で。
更にコンソール操作ユーザをMFA認証対応にしておけば尚グッドかと。

参考

9
24
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
9
24