AWSコンテナ設計・構築本格入門
chapter1 コンテナの概要
コンテナとは他のプロセスとは隔離された状態でOS上にソフトウェアを実行する技術。
サーバー仮想化で利用されるハイパーバイザーとは、
サーバー仮想化などで利用される、コンピューターを仮想化するための制御プログラム
アプリケーションの依存関係をコンテナ内で完結できるので環境依存から解放される。
dev、stg、prodなど各環境での差異がなくなる。再現性があるので各環境構築やテスト時間の短縮が可能。
OSから見ると単に一つのプロセスが動いているだけなのでリソースの消費も少なく起動も高速。
カーネルについて
Dockerはコンテナ技術。Kubernetesはオーケストレータ。
コンテナの自動管理を実現するのがオーケストレータ。
デファクトスタンダードはKubernetes
EKSなどはKubernetesをベースにしたコンテナオーケストレータ
ECSはAWS独自のコンテナオーケストレータ。
コンテナと仮想化について
chapter2 コンテナ設計に必要なAWSの基礎知識
AWS FargateはECSとEKS両方で動作するコンテナ向けサーバーレスコンピューティングエンジン。
コンテナ向けのためFargate単体では利用できない。
Fargateの最大のメリットはホスト管理が不要になること。その分EC2よりは高い。
chapter3 コンテナを利用したAWSアーキテクチャ
AWSはWell-Architectedフレームワークというシステム設計に関する考え方を提供している。
chapter4 コンテナを構築する(基礎編)
ECS on Fargate構成の大まかな作成手順
1、VPCでネットワークの設定
2、開発環境の整備(コンテナイメージの作成など)
3、ECRでコンテナレジストリの作成
4、作成したコンテナレジストリへのネットワークや権限の構築
5、ECRへコンテナイメージを登録
6、オーケストレーター(ECS)の構築
(CloudWatchやBlue/Greenデプロイメントの設定も含む)
その他、DB使うならDB構築など
最後にアプリケーションやDB間の疎通確認を行う。
Blue/Greenデプロイメントについて
+a
CI/CD環境の構築
ALBへのWAFの設定などを利用したセキュリティ対策
S3を利用したログ収集基盤の構築
踏み台サーバーの構築
blue/greenデプロイメント調べる