Amazon ECSでのコンテナウェブアプリケーションのデプロイ

入門ガイド

モジュール 1 : Amazon ECSの理解

このモジュールでは、Amazon Elastic Container Service (ECS) 及び、サービスコンポーネントについて学習します

はじめに

このモジュールの焦点は、Amazon ECSの概念を紹介することです。ECS のコンポーネント(クラスター、タスク、デフィニション、サービス)、オーケストレーションとは何か、そしてコンテナの実行に使用するコンピューティングのタイプを選択する方法について説明します。既に、ECS について精通しているのであれば、モジュール 2 へ進んでください。

学習内容

  • Amazon ECS とは何ですか
  • ECS のコンポーネントはどんなものですか
  • Amazon EC2 インスタンスか Amazon Fargate を使用してコンテナを実行することの違いは何ですか

 所要時間

5 分

 モジュールの前提条件

  • 管理者レベルのアクセス権を持つ AWS アカウント**
  • 推奨ブラウザ: Chrome または Firefox の最新バージョン

[**] 過去 24 時間以内に作成されたアカウントは、このチュートリアルに必要なサービスへのアクセス権限がまだ付与されていない可能性があります。

実装

Amazon ECS とは何ですか

Amazon Elastic Container Service (または、略して ECS) は、コンテナ化されたアプリケーションを簡単にデプロイ、管理、スケーリングするのに役立つフルマネージドコンテナオーケストレーションサービスです。また、AWS プラットフォームの他の部分と密接に統合され、クラウドや Amazon ECS Anywhere が備わったインフラストラクチャで、コンテナワークロードを実行する安全で使いやすいソリューションを提供します。オーケストレーターは、コンテナのデプロイ、健全性の確保、不全ノードの置き換え、新しいデプロイメントの処理からコンテナのライフサイクルを管理します。

ECS のコンポーネントはどんなものですか

ECSクラスターは、すべてのデプロイするコンテナをクラスターにグループ化する論理的な概念です。クラスターに費用はかからず、コンテナの実行に使用するコンピューティングとその他のインフラストラクチャだけです。コンテナを起動するために、コンテナイメージの位置、CPU とメモリーの量、ロギング設定、他多くのパラメータを含むタスク定義を準備します。これは、コンテナを起動せず、実行するのに必要なすべての設定の準備するだけです - 起動するには、サービスを定義します。サービスでは、必要とするコンテナのコピー数を定義するか、もしくは、すべてのインスタンスで実行する必要がある場合は、すべてのホストで実行する必要のあるデーモン、及びそのオーケストレーションを処理する ECS を定義します。サービスをインターネットに紹介するには、サービスにリクエストを転送するために、Application Load Balancerをセットアップする必要があります。最後に、ECS は複数のアベイラビリティーゾーン (AZs) に渡ってデプロイするように構成でき、使用可能な AZs の数に渡って自動でデプロイメントのバランスを取り、各デプロイメントの詳細によってロードバランサーを更新し、転送のためのトラフィックを割り当てます。 

以下は、インフラストラクチャがどにようになるかを示した図表です:

gsg-build-ecs-1

コンピューティング性能の計画とオプション

ECSは、EC2ホスト(バーチャルマシン)で実行するか、もしくはコンテナ用のサーバーレスコンピューティングエンジンである Amazon Fargate を使用して実行するかをスケジュールすることができます。コンテナを実行するときは、容量計画を考慮する必要があります。一例として、クラスターで 2 つのホストが使用可能であり、それぞれ 512MB のメモリーがあった場合、クラスターにはトータル 1024MB の使用可能なメモリーが表示されますが、512MB を超えるメモリーを必要とする新しいコンテナは、十分なメモリーを備えた単一ホストがないので、起動することはできません。これは、容量プロバイダーを使用してクラスターのオートスケールで軽減することができます。 

または、Fargateを使用して、各コンテナの CPU とメモリーの必要条件を指定し、必要なコンピューティングを起動して、コンテナを実行することもできます。Fargate と EC2ホストの主な違いは、Fargate を使用する時には、ホスト上のオペレーティングシステムのセットアップ、管理、保守の必要が無く、必要な容量を正確に起動するため、容量計画を行う必要が無いことです。

まとめ

このモジュールでは、Amazon ECSとは何か、使用されるコンポーネント及び、Amazon EC2 または Amazon Fargate を使用してコンテナを実行するための容量配分の違いについて説明しました。次のモジュールでは、最初のECSクラスターの作成をします。

次回: インフラストラクチャを作成する

当社のサービスについてご意見をお聞かせください。

フィードバックありがとうございます。
このページがお役に立てれば幸いです。今後の改善のために、追加の詳細情報を共有していただけますか?
閉じる
フィードバックありがとうございます。
このページがお役に立たず申し訳ありません。今後の改善のために、追加の詳細情報を共有していただけますか?
閉じる