こんにちは、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を使ってコンテナーの立ち上げからテスト用サービスの起動、アクセス確認までを行いました。
重ねてですが、本記事では商用環境であれば必要となるセキュリティ・キャパシティ管理等については触れておりませんので、このまま商用環境での利用は行わないようお願い致します。
次回はテスト用サービスに対して変更を加えてみようと思います。
それでは。
投稿者プロフィール
- 基本を大事にしていきたいサーバーエンジニアです。
最新の投稿
AWS2023年7月5日AWS ECS を使ってコンテナーを触ってみる
AWS2022年12月22日AWS Transfer Familyを使ってみた
AWS2022年12月19日Amazon EFSのElastic Throughputモードを利用してみる
AWS2018年11月29日re:Invent2018 新サービス「Amazon Managed Blockchain」発表