前記事
AWS Fargate, ECSを用いたコンテナ運用設計、構築をしてみた。~アーキテクチャ考察~
今回やること
前回の記事でアーキテクチャを考えました!!
今回はアーキテクチャを構築するためのネットワーク、セキュリティグループを作成していきます。
アーキテクチャ精査
前回作成したアーキテクチャに以下サブネットを追記します。
自分はCloud9を使用してALB→Fargateの疎通確認やDBの設定、ECRへのプッシュを行いましたので、Cloud9用のサブネットを追加しています。
赤線はCloud9から接続する必要があるルートです!このルートを通れるようにセキュリティグループを設定しないといけません。(自分はここ設定し忘れてテストで嘆いてました。)
ネットワーク作成
とりあえずこいつ↓を作っていきます!!
Gateway endpointとInternet GatewayはVPC作る時に自動で作成できるようになっているようですね、便利〇
初めてAWS触ったときにEC2入れない~(Internet Gateway作ってないだけ)ってなった記憶が蘇ります。笑笑
VPC作成
足りない分(Interfase Endopoint用Private subnet)を作成していきます。
セキュリティグループ作成
セキュリティグループを作成していきます。
今回はアウトバウンドルールは全て「0.0.0.0/0」を許可して、インバウンドルールを最小限に設定していきます。
(本番環境ではアウトバウンドも絞った方が良いとは思います)
インターネットから接続されるALBのセキュリティグループ
この部分ですね〇
ネットワークからの接続用にインバウンドを許可します。
(接続元PCのIPアドレスを設定した方が良いです!!!!)
フロントエンドのセキュリティグループ
先ほど作成したALBのセキュリティグループを指定しインバウンドを許可します。
作成時にスクショ取り忘れていたので編集画面ですm(__)m
Cloud9のセキュリティグループ
特にインバウンド設定する必要はありません。
(AWSコンソールから直接操作するため)
内部ALBのセキュリティグループ
ここも作成時にスクショ取り忘れていたので編集画面ですm(__)m
Cloud9で疎通確認を行うため、Cloud9からのインバウンドも許可しています。
フロントエンドからのインバウンドが2種類あるのは、後で設定するBrue/Greenデプロイメントのためです。
バックエンドのセキュリティグループ
DBのセキュリティグループ
DB接続なのでポート番号が「3306」になります。
フロントエンド、バックエンド両方から接続予定なので、両方のインバウンドを許可します。
Cloud9からDBを操作するので、Cloud9からのインバウンドも許可します。
Intarface Endpointのセキュリティグループ
こちらはCloud Watch, ECRへ接続する必要があるものが通ります。
フロントエンド、バックエンド、Cloud9からのインバウンドを許可します。
Cloud9からHttps通信する可能性を考え、Http, Httpsの両方を許可しています。
まとめ
ネットワーク、セキュリティグループ周りの設定は以上になります!!
ここにコンテナ環境を構築していきます!!
ここら辺は先にしっかり定義して作成しないと後で後悔します。(体験談)
次回からコンテナ環境構築に入っていきますーー!!
今回は以上です~~。