ECR + ECS環境を構築してみた

こんにちは!エンジニアの落合です。

今回は初めてECRとECSを触ったので、備忘録として書いていきます。

1. ECRリポジトリ作成

まずはECRのリポジトリを作成していきます。

ECRのコンソールを開き、リポジトリの作成から「作成」をクリックします。

リポジトリ名を入力して、イメージのスキャン設定のみ変更しておきます。

「作成」を押して、プライベートリポジトリの一覧に表示されたら作成完了です。

2. Dockerイメージをプッシュ

ECRリポジトリができたので、リポジトリにDockerイメージをプッシュします。

リポジトリを選択して「プッシュコマンドを表示」をクリックすると、必要なコマンドを出してくれます!便利!

今回はWindows環境でコマンドを実行します。

 

!エラー① Dockerクライアント認証ができない

1つ目のコマンドを実行したところエラーが出てしまいました。

 

調べてみたら、モジュールのインストールが必要みたいです。

以下のコマンドでインストールします。

スクリプトの実行が無効になっているのでインストールができないようです。

以下のコマンドで一時的にスクリプトの実行を有効にして、もう一度インストールコマンドを試してみます。

インストールできました!

 

気を取り直して、もう一度Dockerクライアント認証のコマンドを実行します。

成功しました!

 

続いてDocker イメージの構築、タグ付け、イメージのプッシュのコマンドも実行します。

イメージは以前作成したものを使いました。

コンソールに戻ってリポジトリを確認すると、無事にイメージがプッシュできていました!

 

3. ECSクラスター作成

続いてECSクラスターを作成します。

ECSコンソールを表示して、「クラスターの作成」をクリックします。

今回はFargateを利用します。

!エラー② ECSクラスター作成ができない

エラーが発生しました。権限が不足してるみたいです。

ECSクラスターを作成するためのロールを作成して、もう一度作成してみます。

今度は無事に作成できました!

続いて、クラスターで実行するためのタスク定義を作成します。

先ほど作成したクラスターを選択し、タスクタブの「新しいタスクの実行」をクリックします。

「タスク定義」リンクをクリックして、先にタスク定義ファミリーを作成します。

タスク定義ファミリー名と起動タイプ、タスクサイズ、コンテナの設定して「作成」をクリックします。

今回は試しに起動してみるだけなので、タスクサイズは最小にしました。

コンテナのURIはECRリポジトリのイメージURIを入力します。

 

元のタブに戻り、作成したタスク定義ファミリーを選択して「作成」をクリックします。

http://<タスクのIPアドレス>/helloにアクセスができるようになっていました!

おわりに

ECRとECSについてはAWS試験の勉強で学びましたが、実際に触ってみると結構苦戦しました。

慣れてしまえば環境構築が素早くできそうで便利そうです。

 

今度はもう少し設定をいじってみたいと思います!

 

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ