HaneCa

独り立ちへ向けた長い道

AWC ECSでdocker composeを設置する方法

投稿日: 2020年3月22日

ここでは、AWS ECS上にdocker-compose.ymlのコンテナを設置する方法をご紹介します。まず、今回はwordpressが動作するdocker-compose.ymlを用意しました。

まず、簡単に手順を説明すると、AWS ECSの場合、まず、クラスターと呼ばれる箱を定義し、その箱の中にEC2インスタンス群を稼働させます。そのインスタンスには、dockerコンテナー動作しています。その後、docker composeで定義した構成のdockerイメージを設置します。

 

ecs-cliコマンドのインストールと初期設定

事前の準備として、amazon-ecs-cliを次のようにインストールします。すると、ecs-cliというコマンドでECSを操作できるようになります。

 

次に、認証情報を次のコマンドで、登録します。必要なアカウントIDやシークレットきーは予め取得していることを想定しています。

 

コンテナの設置方法

次に設置するECSを次のように作ります。ただし、このコマンドは実際に設置するためのコマンドではなく、作業PC上でクラスターを定義するためのコマンドです。

 

次に実際にdockerが動作するEC2インスタンスを設置します。ここで、kpnameには、EC2インスタンスへアクセスする時に利用するキーペア名を指定してください。キーペアとは、EC2などでsshアクセスする時に利用する証明書です。わからない場合は、WebコンソールでEC2を選択し、キーペアのタブを選択すると利用可能なキーペアの一覧が現れます。

 

dockerを構成する

次に、Wordpressを構成するためのdocker-composeファイルを、今回は次のように定義しました。

 

これを、docker-compose.ymlという名前で保存し、次のコマンドを実行して、ECS上のdockerに設置します。

 

ここで、エラーが発生しなければ、WebコンソールのEC2で、今回設置したインスタンスのパブリックIPアドレスを調べ、ブラウザでそのURLにアクセスし、次のような画面が表示されるとうまくインストールが完了しています。

ここで、ecs-cli composeの処理が終了してから、実際にアクセスできるようになるまでに、数秒のタイムラグがあります。

また、ecs-cli composeの処理中に、エラーらしきログが出力されない場合でも、「Stopped container…」とプロセスが起動せずに処理が終えていることもあるので、注意しなければなりません。

 

コンテナを停止する方法

作成したコンテナを停止する場合、次のコマンドでEC2インスタンスを停止できます。

 

参考サイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください