AWS ECS編~EC2 Container Registry を試してみる~

前回は『 AWS EC2編~EC2 Run Command Linuxで試してみる~ 』と題して、EC2 Run Command をLinuxで試してみました。

今回は『AWS ECS編~EC2 Container Registry を試してみる~』と題して、EC2 Container Registry を試してみたいと思います。

Amazon EC2 Container Registry (ECR)とは

Amazon EC2 Container Registry (ECR)は完全マネージドなDockerコンテナレジストリで、開発者はDockerコンテナイメージを保存し管理しデプロイすることが簡単にできます。

Amazon ECRはAmazon ECSとDocker CLIとも連携をしているため、 開発や本番でのワークフローをシンプルにできます。開発機からはDocker CLIを使ってAmazon ECRにコンテナイメージを簡単にpushでき、本番デプロイではAmazon ECSで直接pullできます。

今までは自身でプライベートDockerイメージレジストリを立てて管理する必要がありましたが、このサービスにより開発等に集中する事ができますね。

試してみる

1.ECR を作成する

今回はGetting Started を利用してECRを作成してみます。

ECSページからGetting Startedを起動してECRの項目にチェックを付けて進みます。

01

次にRepositoryの設定をしていきます。

02

これで作成は完了です。

Repositoryのコマンドチュートリアルが表示されます。

03

現状では未だイメージが無いのがわかります。

04
2.Repositoryに接続してみる

実際にRepositoryに接続してみます。

ECRのコマンドは最新のaws cliが必要の為、アップデートします。

1# pip install --upgrade awscli

コマンドチュートリアルを参考に以下を実施します。

1# aws ecr get-login --region us-east-123docker login -u AWS -p <文字列> -e none https://<発行されたURL>.dkr.ecr.us-east-1.amazonaws.com

発行されたコマンドの結果で以下が表示されていれば成功です。

1WARNING: login credentials saved in /root/.docker/config.json2Login Succeeded

3.イメージを登録してみる

実際にRepositoryにイメージを登録してみます。

今回はテストの為、簡単に出来るようにbusyboxのイメージを利用してpushしてみたいと思います。

busyboxのイメージをpullしてタグ付けします。

1# docker pull busybox:latest23# docker tag busybox:latest <発行されたURL>.dkr.ecr.us-east-1.amazonaws.com/test-repo:latest

pushしてみます。

1# docker push <発行されたURL>.dkr.ecr.us-east-1.amazonaws.com/test-repo:latest2The push refers to a repository [<発行されたURL>.dkr.ecr.us-east-1.amazonaws.com/test-repo] (len: 1)3ac6a7980c6c2: Pushed4c00ef186408b: Pushed56latest: digest: sha256:f68c31e407261ff952470c755adb014b75841e21efaadd69eaf65b696da9b80b size: 2737

コンソール上で確認してみます。

05
いかがでしたでしょうか?

次回は『AWS RDS編~Amazon RDS (MySQL)でlocal time zone を試してみる~』と題して、Amazon RDS (MySQL)でlocal time zone を試してみたいと思います。

お楽しみに!!!

この記事を書いた人

aws-recipe-user