【読書メモ】【2章】AWSコンテナ設計・構築[本格]入門

技術書

 

AWSコンテナ設計・構築[本格]入門」の「2章 コンテナ設計に必要なAWSの基礎知識」のメモを残します。

 

前章のメモ

 

AWSが提供するコンテナサービス

 

  1. コントロールプレーン:コンテナを管理する
  2. データプレーン:コンテナが稼働する
  3. リポジトリ:コンテナイメージを管理する

という観点でAWSが提供しているコンテナサービスを見ていきます。

 

コントロールプレーン

ECS(Amazon Elastic Container Service)

 

  • 無料で使える。
  • AWSが設計しているコンテナオーケストレータのため、サポートが手厚い。

 

  • ECS独自の概念や用語がある。

 

・独自の用語や概念

  1. タスク:アプリケーションの実行単位。1つ以上のコンテナから構成される。
  2. タスク定義:タスクを定義するJSON。
  3. サービス:指定した数のタスクを維持する。
  4. クラスター:サービスの集まり。

タスク < サービス < クラスター の関係

 

EKS(Amazon Elastic Kubernetes Service)

 

  • Kubernetesの知識があればすんなり使える。
  • Kubernetesコントロールプレーンの管理が不要。
  • エンジニアのモチベを保ちやすい。
    • 採用業務にも影響する。

 

  • EKSを使用するにもお金がかかる
  • そもそもKubernetesの学習コストが高い
    • リリースサイクルが速く、定期的なキャッチアップも必要
  • KubernetesのバグはAWSではどうしようもできない。

 

データプレーン

EC2(Amazon Elastic Compute Cloud)

 

  • マシンスペックやOSを柔軟に設定できる。
  • Fargateよりも安く、デプロイが速い。
    • コンテナイメージをキャッシュできる。

 

  • OSの更新やセキュリティパッチの適用などホストを管理する必要あり。
  • 適度なマシンスペックでないと、料金は高くなるかも。

 

AWS Fargate

 

  • ホストの管理が不要。
    • 脆弱性検知の仕組みや人員確保がいらないのは大きい。

 

  • EC2よりも割高。
  • デプロイは比較的遅い。
    • コンテナイメージのキャッシュできない。
    • コンテナごとに作成に時間がかかるENIがアタッチされる。

 

リポジトリ

ECR(Amazon Elastic Container Registry)

 

  • 他のAWSサービスとの連携が容易
    • ECSやEKSを使用したデプロイ
    • IAMでの細かなアクセス制御  など
  • Docker CLIが使える
  • パブリック、プライベート両方のリポジトリを使用可能

 

 

次章のメモ

 

コメント

タイトルとURLをコピーしました