AWS ECS を使ってコンテナーを触ってみる

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、matsunoです。
最近は運用環境でコンテナーを使うことも増えてきました。
恥ずかしながら今までコンテナーにふれる機会が殆どなかったので、AWSのコンテナーサービスであるAWS ECS(Elastic Container Service)を使って触ってみようと思います。

※注意
今回はとりあえず触ってみる、テスト用のサービスを起動しアクセスしてみる事が中心の記事となっています。
商用環境で利用する際はこの記事では触れていないセキュリティ・キャパシティ管理などについても考慮が必要です。

AWS ECS にてクラスターを起動する

AWSコントロールパネルにアクセスし、サービス一覧から Elastic Container Service を選択します。

表示された ECS のダッシュボードにて、
① クラスター
② クラスターの作成
の順にクリックをします。

クラスターの作成画面に移ります。今回は最低限の設定項目で進めていきます。
① クラスター名:任意
② VPC:配置するVPCを選択
③ サブネット:配置するサブネットを選択 最低2つ選択しておく

④ Amazon EC2 インスタンス:今回はEC2上で動かしたいのでチェックを入れる
⑤ Auto Scaling グループ(ASG):新しい ASG の作成
⑥ オペレーティングシステム/アーキテクチャ:Amazon Linux 2
⑦ EC2 インスタンスタイプ:t3.micro
⑧ 必要な容量:最小0 最大2とする
⑨ SSH キーペア:任意のキーペアを選択
⑩ 「作成」をクリック

クラスターの作成が開始されます。
正常に作成されたことを確認します。

サービスを作成する

作成したクラスターに、サービスを作成して設定します。

クラスター名をクリック

サービス タブにて、「作成」 をクリック
今回は必要最低限の設定で進めるため、多くの設定をデフォルトのままで進めます。

デプロイ設定にて、
① ファミリー:first-run-task-definition
② リビジョン:1
③ サービス名:任意のサービス名

ネットワーキングにて、
④ セキュリティグループ:80アクセスが可能なSGを指定する

ロードバランシング – オプションにて、
⑤ ロードバランサーの種類
⑥ ロードバランサー名:任意
⑦ ターゲットグループ名:任意

「作成」をクリック
サービスが作成されることを確認します。

作成したサービスにアクセスする

サービス名をクリックします。

ネットワーキング タブにてロードバランサーのDNS名が確認できるので、それをコピーします。

ブラウザにてコピーしたロードバランサーのDNS名にアクセスします。
サンプルのページが閲覧可能であるれば、アクセス成功です。
閲覧できなければ、ロードバランサーに紐づいたセキュリティグループのポリシーなどを確認してみた下さい。

コンテナーが稼働しているEC2インスタンスを見てみる。

今回はコンテナーの稼働環境にEC2を選択したため、EC2インスタンスが起動しています。
こちらを確認してみます。

サービス一覧からEC2を選択し、ステータスがrunningになっているEC2インスタンスを確認します。

ECS用のEC2インスタンスが起動していることを確認します。

おわりに

今回はECSを使ってコンテナーの立ち上げからテスト用サービスの起動、アクセス確認までを行いました。
重ねてですが、本記事では商用環境であれば必要となるセキュリティ・キャパシティ管理等については触れておりませんので、このまま商用環境での利用は行わないようお願い致します。

次回はテスト用サービスに対して変更を加えてみようと思います。
それでは。

投稿者プロフィール

matsuno
基本を大事にしていきたいサーバーエンジニアです。