いよいよ、コンテナアプリケーションにアクセスをしてみます。まずは動作確認のため EC2 コンソールから ALB のターゲットグループを確認します。
ステータスが healthy になっていることを確認したら、メモしておいた ALB の DNS をブラウザからアクセスしてみます。
(httpsではなく、 http
でアクセスします。)
ALB のエンドポイントは EC2 コンソールのロードバランサーから確認が可能です。
無事に Rails の画面が表示されると完成です。おめでとうございます!
ここまでは、Cloud9 上でコンテナを実行した場合と違いをあまり感じられていないかもしれません。
では、早速 ECS によるコンテナのスケーリング機能を体験してみます。まずは、コンテナの数を倍に増やしてみます。
コンテナを簡単に増やすことができました。逆に、タスクを停止させた場合どうなるでしょうか。次の手順を試してみて下さい。
しばらく待つと、無事にコンテナのタスクが 2 つ追加され、元の状態に戻ることが確認できます。
同じ仕組みを自分で実装も可能ですが、ECS を用いると余分な開発をせずに 運用負荷を軽減
できることが実感できます。
次のハンズオンでは、運用負荷を更に軽減させる Fargate というサーバーレスのサービスを試してみます。
Question: タスクを 3 つ以上に増やしてみるとどうなるでしょうか?時間に余裕がある方は試してみて下さい。
t3インスタンス
にネットワークインターフェイスが 3 つまでしか追加できないからです。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-eni.html
更に時間に余裕のある方は、インスタンスの数を増やすことでコンテナを更にスケールさせてみましょう。
ヒント:EC2 コンソールから Auto Scaling の希望するインスタンス数を設定。