はじめに
AWSコンテナ設計・構築[本格]入門を読んで見る。
1 コンテナの概要
1-1 コンテナの説明
メリット
環境依存からの開放
環境構築やテストに関する時間の削減
リソース効率
1-2 Dockerとは
コンテナのライフサイクルを管理するプラットフォーム
Dockerのイメージ/レジストリ/タグ/コンテナ の説明
1-3 オーケストレータとは
複数のコンテナを動かす必要がある時に、コンテナ群を管理する必要がある。
コンテナの配置管理 → どのコンテナが動いているかを見て判断
コンテナの負荷分散 → 処理量に応じて負荷を分散
コンテナの状態監視と自動復旧 → 異常時にコンテナを切離しい、自動復旧
コンテナのデプロイ → デプロイ時に、新旧のコンテナを入れ替える
1-4 コンテナ技術を導入する前に考慮すること
・コンテナ間の疎結合性や移植性を考慮した構成にする必要がある。
・従来のオンプレで管理していた時の非機能要件をそのまま反映させるような構成にする必要がある
2 コンテナ設計に必要なAWSの基礎知識
2-1 AWSが提供するコンテナサービス
コントロールプレーン = コンテナを管理する機能
ECS → オーケストレーションサービスであり、コンテナを動かす実行環境のサービスではない
Task → 1つ以上のコンテナなから構成されるアプリケーションの実行単位
タスク定義 → JSONで記述する、タスク作成を定義するテンプレート。
サービス → 指定した数だけタスクを維持するスケジューラー
クラスター → ECSサービスとタスクを実行する論理グループ
EKS → 省略
EC2 → 省略
Fargate → コンテナ向けサーバーレスコンピューティングエンジン
ホスト管理から開放されるが、割高。
ECR → フルマネージドなコンテナレジストリ
2-2 アーキテクチャの構成例
ECS on EC2
ECS on Fargate
EKS on EC2
EKS on Fargate
3章 コンテナを利用したAWSアーキテクチャ
Well-Architectedフレームワークの5つの柱についてまとめている。
かなり量が多かったので全部書くのは断念。
p188のまとめを見つつ、振り返るのがよさそう。
3-2 Well-Architectedフレームワークの活用
Well-Architectedフレームワークの5つの柱
運用上の優秀性
セキュリティ
信頼性
パフォーマンス効率
コスト最適化
3-3 設計対象とするアーキテクチャ
AWSのサービスの紹介のため割愛。
この本では、簡易的なWEBアプリケーションを作る。
アイテム通知の一覧表z、お気に入り追加など。
SSRでやる。
3-4 運用設計
実際にハンズオンでやる内容をサービス含めて紹介している章
運用上の優秀性
どのようにシステムの状態を把握するか
どのように不具合の修正を容易にするか
どのようにデプロイのリスクを軽減するか
モニタリングの目的は、システムの可用性を維持するために問題発生に気づくこと
利用者の体験が損なわれるようなイベントを念頭に行うべき。
メトリクスとは、定量的な指標として定期的に計測、収集されるシステム内部動作のデータ
3~5 ~ 3~8 は割愛。まとめから、ハンズオンをやる時に振り返る。