[新機能]AWS OpsWorksでECSコンテナインスタンスを管理出来るようになりました!
はじめに
今日発表の新機能はこちら!
AWS OpsWorksからAmazon EC2 Container Serviceのコンテナインスタンスを管理出来るようになりました。これまでOpsWorks上でDockerコンテナを動かすことは出来ましたが、ECSとは連携していませんでした。今回の新機能により、ECSがOpsWorksのLayerとして管理操作出来るようになります。
ということは、Layerの切り替えを使ったBlue Green DeploymentにECSが使えちゃうわけですね。Blue環境が本番稼動しているときに、 Green環境でECSのタスクを入れ替えて最新のアプリケーションコンテナを実行、テストし、問題なければGreenを本番環境にする、というようなイメージです。
早速やってみました!
やってみた
まず、ECSのCLusterを作っておきます。今回は「app」という名前にしました。この段階ではコンテナクラスタは0台です。
AWS管理コンソールのOpsWroks画面で、[Add Your First Stack]ボタンをクリックします。
[Add Stack]画面が表示されます。名前を適当に決めます。その他パラメータを設定し、[Add Stack]ボタンをクリックします。なお、ここの[Default Operating System]でRedHat Enterprise Linux7が選べるようになったのが、今回のもう1つの新機能です。
Stackが出来上がりましたので、[Add a layer]からレイヤーを作成します。
[Add Layer]画面が表示されます。[Layer type]で[ECS Cluster Layer]を選択します。[ECS Cluster]でコンテナインスタンスを作りたいECSクラスタを指定します。設定後[Add Layer]ボタンをクリックします。
Layerが出来上がりました。この状態だとまだコンテナインスタンスは無いので、[Add Instance]をクリックします。
[Instances]画面の[New]タブで、作りたいコンテナインスタンスの情報を設定し、[Add Instance]ボタンをクリックします。
コンテナインスタンスが出来上がりました。
同じようにコンテナインスタンスを追加し、2台にしました。この状態だとコンテナインスタンスは停止中なので、[Start All Instances]ボタンをクリックします。
しばらく待つと、2台のコンテナインスタンスがどちらも[online]になります。
ECS管理画面でも、クラスタ「app」にコンテナインスタンスが2台追加されていることがわかります!
さいごに
使い慣れているOpsWorksの考え方やインターフェースをそのまま使いつつ、フロントをECS化してコンテナ環境を一括管理出来る、というのはとても便利だと思います。今後さらにOpsWorksの活用が増えるかもしれませんね!