Help us understand the problem. What is going on with this article?

AWSの10分間チュートリアルをやってみる 9.Docker コンテナのデプロイ

こんにちは。トリドリといいます。
新卒で入社した会社でJavaを数年やった後、1年ほど前に転職してからはRailsを中心に使用してアプリケーションの開発をしているしがないエンジニアです。

今回、AWSの勉強をするために公式の10分間チュートリアルをやってみることにしたので、備忘のために記事に残していこうと思います。
AWSに関しては、1年ほど前転職活動をしていた時期にEC2とRDSを少し触っていた以外ほとんど触ったことが無い初心者です。
(ただし、このときにアカウントを作ったので、12ヶ月の無料枠は切れていました)

前回は、EB CLIを使用してデプロイ・モニタリングなどを行う、「Deploy and Monitor an Application from the Command Line」」というチュートリアルをやりました。
今回は、「Docker コンテナのデプロイ」をやっていきます。

Docker コンテナのデプロイ

(https://aws.amazon.com/jp/getting-started/tutorials/deploy-docker-containers/)

ステップ 1: Amazon ECS の初回実行を設定する

a.

チュートリアルのリンクから初回実行ウィザードを開きます。
AWSコンソールのサービスから、[ECS]を開き[今すぐ始める]でも可能です。
image.png

b.

ウィザードを開くと次のような画面が表示されます。
image.png
Amazon ECR オプションの設定については表示されませんでしたが、これがウィザードの変更によりなくなったのか、チュートリアルに記載の通りリージョンによって表示されないのかは不明です。
一応、私のコンソールで表示されているリージョンはすべて切り替えてみましたが、どのリージョンでも表示されませんでした。

ステップ 2: タスク定義を作成する

上記ステップ1のb.の通り、チュートリアルの画面から[コンテナの定義]と[タスク定義]に分かれた画面に変更になっています。
チュートリアル同様、デフォルト設定から変更せず[次]をクリックします。

ステップ 3: サービスを設定する

サービスの設定画面も次の通りに変更されています。
image.png

a.

サービス名・タスク数は自動的にデフォルト値が設定されているので、そのままにしておきます。

b.

ロードバランサーの種類で[Application Load Balancer]を選択します。
選択すると、[リスナープロトコル]はHTTP、[リスナーポート]は80が設定されているのでここもそのままにしておきます。

c.

IAMロールの設定はなくなっているようです。
他の変更点としては、チュートリアルでは次のクラスターの設定にあったセキュリティグループの作成の設定がここに移動しています。
デフォルトは[自動的に新規作成]になっているので、ここもそのままにしておきます。

d.

[次]を押して次の設定に進みます。

ステップ 4: クラスターを設定する

クラスターの設定画面も変更されており、項目数がかなり少なくなっています。
image.png

a./b./c./d.

設定項目が変更され、クラスター名とVPCとサブネットの設定のみ表示されています。
VPCとサブネットについては変更はできず、クラスター名のみが変更できるようになっています。
クラスター名も変更する必要はないので、そのまま[次]を押します。

ステップ 5: リソースの起動と表示

確認画面が表示されるので確認の上、リソースを起動します。

a.

確認画面を確認し[作成]を押します。

b.

作成ステータス画面は次のようになっています。
image.png

すべてのサービスのステータスが完了になると、[サービスの表示]ボタンが押せるようになるので、押下します。

ステップ 6: サンプルアプリケーションを開く

このステップでは、起動したアプリケーションを開いて確認していきます。

a.

サービスの詳細画面は次のようになっています。
スクリーンショット 2020-02-15 17.23.04.jpg

[ロードバランシング]の[ターゲットグループ名]のリンクをクリックすると、[EC2]の[ロードバランシング]の[ターゲットグループ]が開きます。
スクリーンショット 2020-02-15 17.39.43.jpg

ターゲットグループの[基本的な設定]に表示されているロードバランサーをクリックし、[ロードバランサー]のメニューを開きます。
チュートリアルに従って[DNS名]をコピーします。

b.

チュートリアルに従って、コピーしたDNS名をブラウザで開き、サンプルアプリケーションが開くことを確認します。

ステップ 7: リソースを削除する

最後に起動したアプリケーションを終了し、作成したリソースを削除します。

a.

チュートリアルに従ってECSコンソールからクラスターの詳細を開きます。

b.

ここもチュートリアルに従って、リソースの更新画面を開きます。

c.

チュートリアルの通りタスクを[0]に更新した上で、サービスの詳細画面から[削除]ボタンを押します。
削除する際は次のようなダイアログが表示され、delete meと入力した上で[削除]ボタンを押す必要があります。
image.png

d.

EC2インスタンスはサービスの削除時に一緒に削除されるようになっているようで、インスタンスは表示されませんでした。

e.

ロードバランサーは残っているので、チュートリアルに従って削除します。
これで、リソースの削除は完了です。

まとめ

今回はチュートリアルに従ってDockerコンテナのデプロイから削除までを行いました。
正直に言うとDockerのこと、ロードバランサーのことなどまだわからない部分がたくさんあるので、サンプルではない自分のコンテナはデプロイできないと思います。
今後Dockerのことも勉強していきたいと思っているので、その後にまた振り返りたいです。

次回は「Deploy and host a ReactJS app」をやっていきます

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした