AWSネットワークの基礎学習
AWS VPC(Virtual Private Cloud)
VPC
サブネット
を配置するための完全に論理的なネットワーク
設定項目は以下の通り
- CIDRブロック
サブネット
VPC
の一部を物理世界にマッピングしたモノ
(AWSリソースは物理世界にしか配置出来ないため、サブネット上に配置する)
設定項目は以下の通り
-
親VPC
の指定 - アベイラビリティーゾーン
- CIDRブロック
パブリックサブネット
- ルートテーブルに
IGW
へのルートが存在する サブネット
プライベートサブネット
- ルートテーブルに
IGW
へのルートが存在しない サブネット
ルートテーブル
サブネット内が起点で発生した通信の宛先CIDRと行先を管理しているモノ
設定項目は以下の通り
-
親VPC
の指定 - 送信先CIDRブロック
- 行先AWSリソース
メインルートテーブル
VPC作成時に作成されるルートテーブル
⇒ サブネットに明示的にルートテーブルを紐づけない場合に適用される
カスタムルートテーブル
自分で作成するルートテーブル
⇒ サブネットに明示的にルートテーブルを紐づける場合に適用される
インターネットゲートウェイ
隔離された仮想ネットワークであるVPC
をインターネットに繋げるモノ
設定項目は以下の通り
- アタッチ先VPC
セキュリティグループ
AWSリソースに付与して使うファイアウォール
- ホワイトリスト方式
- 外向きのリクエストに対するレスポンスは暗黙的に全許可
-
CIDRブロック
は特定のセキュリティグループも指定できる
設定項目は以下の通り
-
親VPC
の指定 - インバウンドルール(外部から入ってくる通信の許可)
- アウトバウンドルール(外部へ出ていく通信の許可)
リージョン・アベイラビリティーゾーン
リージョン
- 地域で分かれたDC群のこと
アベイラビリティーゾーン
- DC群の中の物理的に分離されたDCのこと
Elastic Container Service
コンテナオーケストレーションのAWSリソース
コンテナオーケストレーターとは
- サーバとコンテナの状況を監視しながら、正しくマシンリソースを使用するために
コンテナを作る・削除する・再起動するを行う機構
ECSの登場人物
クラスター
サービス・タスク群の親玉
タスク
デプロイするコンテナ群のこと
設定項目は以下の通り
- 実行するタスク定義
- 実行するタスク数
- 配置するサブネット
タスク定義
タスクの情報を記述する設定ファイル
設定項目は以下の通り
- タスクを実行するマシンリソース
- CPU
- メモリ
- タスク内で実行するコンテナの設定
- コンテナ名
- イメージURI
- ポートマッピング
サービス
下記の機能を持ったタスク群のこと
- 実行中のタスク数の制御
- 前段にLBを配置できる
- Blue/Greenデプロイ等の円滑なアップデートが可能
設定項目は以下の通り
- 実行するタスク定義
- 実行するタスク数
- ローリングアップデート or Blue/Greenデプロイ
- 配置するサブネット
- ALBの指定
- ターゲットに指定するコンテナ
- リスナー
- ターゲットグループ
AWS ECR
Docker Hub
のAWSリソース版
Blue/Greenデプロイ
ECR push + ECS deploy CI/CD
ECS Auto Scaling + スティッキーセッション
private subnet で ECS Service