Amazon EC2 を使用してクラシックコンソールで開始する
Amazon Elastic Container Service (Amazon ECS) は、非常にスケーラブルで高速なコンテナ管理サービスで、コンテナの実行、停止、管理を簡単に行うことができます。Amazon ECS の広範囲にわたる概要については、「Amazon Elastic Container Service とは」を参照してください。
タスク定義を登録し、クラスターを作成して、クラシックコンソールでサービスを作成することで、EC2 起動タイプを使用して Amazon ECS を開始します。
AWS Fargate を使用して Amazon ECS を開始する詳細については、「AWS Fargate で Linux コンテナを使用したクラシックコンソールの開始方法」または「」を参照してください。
EC2 起動タイプを使用して、Amazon ECS を開始するには、以下の手順を完了します。
前提条件
開始する前に、「Amazon ECS を使用するようにセットアップする」のステップを完了したこと、AdministratorAccess
または Amazon ECS 初回実行ウィザードのアクセス許可 の IAM ポリシー例で指定されているいずれかのアクセス許可が AWS ユーザーにあることを確認します。
ステップ 1: タスク定義を登録する
タスク定義はアプリケーションの設計図のようなものです。Amazon ECS でタスクを起動するたびに、タスク定義を指定します。サービスは、コンテナに使用する Docker イメージ、タスクで使用するコンテナの数、各コンテナのリソース割り当てを認識します。タスク定義の作成方法については、「Amazon ECSの タスク定義」を参照してください。
以下では、シンプルなウェブアプリケーションをデプロイするタスク定義の作成手順について説明します。
タスク定義を登録するには
Amazon ECS コンソール (https://console.aws.amazon.com/ecs/
) を開きます。 -
ナビゲーションバーから、使用するリージョンを選択します。
-
ナビゲーションペインで [Task Definitions (タスク定義)]、[Create new Task Definition (新しいタスク定義の作成)] の順に選択します。
-
[Select launch type compatibility (起動タイプの互換性の選択)] ページで、[EC2]、[Next step (次のステップ)] の順に選択します。
-
[Configure task and container definitions (タスクとコンテナ定義の設定)] ページで、下にスクロールして [Configure via JSON (JSON による設定)] を選択します。
-
以下のタスク定義の例をコピーしてボックスに貼り付け、[Save (保存)] を選択します。
{ "containerDefinitions": [ { "entryPoint": [ "sh", "-c" ], "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ], "command": [ "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ], "cpu": 10, "memory": 300, "image": "httpd:2.4", "name": "simple-app" } ], "family": "console-sample-app-static" }
-
[Create] を選択します。
ステップ 2: クラスターを作成する
Amazon ECS クラスターはタスク、サービス、およびコンテナインスタンスの論理グループです。クラシックコンソールを使用してクラスターを作成するとき、Amazon EC2 インスタンスの作成、ネットワーク、および IAM の設定を処理する AWS CloudFormation スタックが Amazon ECS によって作成されます。クラスターの詳細については、「Amazon ECS クラスター」を参照してください。
以下では、1 つの Amazon EC2 インスタンスが登録されたクラスターを作成し、そこでタスクを実行できるようにするステップについて説明します。特定のフィールドが示されていない場合は、コンソールによって使用されるデフォルト値のままにします。
クラスターを作成するには
Amazon ECS コンソール (https://console.aws.amazon.com/ecs/
) を開きます。 -
ナビゲーションバーから、前のステップで使用したのと同じリージョンを選択します。
-
ナビゲーションペインで [Clusters] (クラスター) を選択します。
-
[Clusters] ページで、[Create Cluster] を選択します。
-
[Select cluster template (クラスターテンプレートの選択)] ページで、[EC2 Linux + Networking (EC2 Linux + ネットワーク)] を選択します。
-
[Cluster name (クラスター名)] でクラスターの名前を選択します。
-
[Instance configuration (インスタンスの設定)] セクションで、以下の操作を行います。
-
[EC2 instance type (EC2 インスタンスタイプ)] で、コンテナインスタンスに使用するインスタンスタイプとして [t2.micro] または [t3.micro] を選択します。より多くの CPU とメモリリソースを搭載したインスタンスタイプは、より多くのタスクを処理できますが、この入門ガイドでは不要です。さまざまなインスタンスタイプに関する詳細については、Amazon EC2 インスタンス
を参照してください。 -
[インスタンス数] には、「1」を入力します。Amazon EC2 instances が AWS リソースに存在する間、コストが発生します。詳細については、「Amazon EC2 の料金表
」を参照してください。 -
EC2 AMI Idを使用する場合、Amazon Linux 2 Amazon ECS 最適化 AMI のデフォルト値を使用します。Amazon ECS 最適化 AMI の詳細については、Amazon ECS に最適化された AMIを参照してください。
-
-
[Networking (ネットワーク)] セクションにおいて、[VPC] で、[Create a new VPC (新しい VPC の作成)] を選択して、Amazon ECS でクラスターに使用するクラスター新しい VPC を作成するか、または使用する既存の VPC を選択します。詳細については、「仮想プライベートクラウドを作成する」を参照してください。
-
[コンテナインスタンス IAM ロール] セクションで、[Create new role (新しいロールの作成)] を選択して Amazon ECS でコンテナインスタンスの新しい IAM ロールを作成するか、作成済みの既存の Amazon ECS コンテナインスタンスロール (
ecsInstanceRole
) を選択します。詳細については、「Amazon ECS コンテナインスタンスの IAM ロール」を参照してください。 -
[Create] を選択します。
ステップ 3: サービスを作成する
Amazon ECS サービスを使用すると、Amazon ECS クラスター内で、タスク定義の指定した数のインスタンスを同時に実行して維持するのに役立ちます。タスクが何らかの理由で失敗または停止した場合、 Amazon ECS サービススケジューラは、タスク定義の別のインスタンスを起動してそれに置き換え、サービスで必要な数のタスクを維持します。サービスの詳細については、「Amazon ECS サービス」を参照してください。
サービスを作成するには
Amazon ECS コンソール (https://console.aws.amazon.com/ecs/
) を開きます。 -
ナビゲーションバーから、前のステップで使用したのと同じリージョンを選択します。
-
ナビゲーションペインで [Clusters] (クラスター) を選択します。
-
前のステップで作成したクラスターを選択します。
-
[Services (サービス)] タブで、[Create (作成]) を選択します。
-
[Configure service (サービスの設定)] セクションで、以下の操作を行います。
-
[起動タイプ] で [EC2] をクリックします。
-
[Task definition (タスク定義)] で、ステップ 1 で作成した [console-sample-app-static] タスク定義を選択します。
-
[Cluster (クラスター)] で、ステップ 2 で作成したクラスターを選択します。
-
[Service name (サービス名)] でサービスの名前を選択します。
-
[Number of tasks (タスクの数)] に「
1
」と入力します。
-
-
残りのフィールドにはデフォルト値を使用し、[Next step (次のステップ)] を選択します。
-
[Configure network (ネットワークの設定)] セクションで、デフォルト値のままにし、[Next step (次のステップ)] を選択します。
-
[Set Auto Scaling (Auto Scaling の設定)] セクションで、デフォルト値のままにし、[Next step (次のステップ)] を選択します。
-
オプションを確認し、[Create service (サービスの作成)] を選択します。
-
[View service (サービスの表示)] を選択して、サービスを確認します。
ステップ 4: サービスを表示する
このサービスはウェブベースのアプリケーションであるため、ウェブブラウザでコンテナを表示できます。
サービスの詳細を表示するには
Amazon ECS コンソール (https://console.aws.amazon.com/ecs/
) を開きます。 -
ナビゲーションバーから、前のステップで使用したのと同じリージョンを選択します。
-
ナビゲーションペインで [Clusters] (クラスター) を選択します。
-
ステップ 2 で作成したクラスターを選択します。
-
[Services (サービス)] タブで、ステップ 3 で作成したサービスを選択します。
-
[Service:
[service-name]
] (サービス:サービス名) ページで、[Tasks] (タスク) タブを選択します。 -
タスクが [RUNNING (実行中)] 状態であることを確認します。その状態である場合は、タスクを選択してタスクの詳細を表示します。タスクが [RUNNING (実行中)] 状態でない場合は、サービスの詳細画面を最新の状態に更新します。
-
[Containers (コンテナ)] セクションで、コンテナの詳細を展開します。[Network bindings] (ネットワークバインディング) セクションの [External Link] (外部リンク) に、ウェブアプリケーションへのアクセスに使用する [IPv4 Public IP] (IPv4 パブリック IP) アドレスが見られます。
-
ウェブブラウザに [IPv4 パブリック IP] アドレスを入力すると、[Amazon ECS サンプル] アプリケーションを表示するウェブページが確認できます。
ステップ 5: クリーンアップ
Amazon ECS クラスターの使用が終了したら、使用していないリソースに対する料金が発生しないように、そのクラスターに関連付けられたリソースをクリーンアップできます。
クラスターやサービスなどの この入門ガイドで作成した Amazon ECS リソース は、Amazon ECS コンソールを使用してクリーンアップできます。
リソースをクリーンアップするには
Amazon ECS コンソール (https://console.aws.amazon.com/ecs/
) を開きます。 -
ナビゲーションペインで [Clusters] (クラスター) を選択します。
-
ステップ 2 で作成したクラスターを選択します。
-
[Services (サービス)] タブで、ステップ 3 で作成したサービスを選択し、[Delete (削除)] を選択します。確認プロンプトで、[delete me (削除)] と入力し、 [Delete (削除)]を選択します。
-
クラスターの詳細ページで、[Delete cluster (クラスターの削除)] を選択します。確認プロンプトで、[delete me (削除)] と入力し、 [Delete (削除)]を選択します。クラスターを削除すると、VPC や Amazon EC2 インスタンスなど、クラスターで作成された関連リソースがクリーンアップされます。