【新機能】Amazon EC2 Container Registry (ECR)が東京リージョンにやってきました!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

今日の新機能はこちら!

Amazon EC2 Container Registry (ECR)が、東京リージョンを含む5つのリージョンで使えるようになりました。これで現在ECRが使えるリージョンは以下の通り8つとなります。Amazon EC2 Container Service (ECS)が使えるリージョンは全てECRが使えるようになりましたね。

  • [us-east-1]: US East (N. Virginia)
  • [us-west-2]: US West (Oregon)
  • [eu-west-1]: EU (Ireland)
  • [us-west-1]: US West (N. California) (new!)
  • [ap-southeast-1]: Asia Pacific (Singapore) (new!)
  • [ap-southeast-2]: Asia Pacific (Sydney) (new!)
  • [ap-northeast-1]: Asia Pacific (Tokyo) (new!)
  • [eu-central-1]: EU (Frankfurt) (new!)

やってみた

では実際に、東京リージョンでECRを使ってみましょう。AWS管理コンソールで東京リージョンを選択し、Amazon EC2 Container Service (ECS)から[Repositories]をクリックします。「Welcome to EC2 Container Registry!」と東京リージョンで表示されました![Get Started]ボタンをクリックします。

Amazon_EC2_Container_Service 7

[Configure Repository]画面が表示されます。[Repository name]に適当なレポジトリ名を入力します。[Repository URL]がap-northeast-1(東京リージョン)となっていることがわかります。[Next step]ボタンをクリックします。

Amazon_EC2_Container_Service 8

レポジトリへのプッシュ方法の説明が表示されます。この画面自体は[Done]で完了します。

Amazon_EC2_Container_Service 10

では、Docker Imageを東京リージョンのECRにプッシュしてみましょう。ローカル環境のDockerは起動した状態とします。ちなみに私は自分のMacBook上で、Docker for Macを使っています。AWS CLIで東京リージョンのECRにログインします。

$ $(aws ecr get-login --region ap-northeast-1)

テンポラリディレクトリを作り、テスト用のDocker Imageを作ります。以下のようなDockerfileを作成します。

$ mkdir myrepo; cd myrepo
$ vi Dockerfile
FROM nginx

Docker ImageをBuildします。

$ docker build -t myrepo .

作成したDocker Imageにタグを付与します。

$ docker tag myrepo:latest 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/myrepo:latest

そしてプッシュ!

$ docker push 123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/myrepo:latest

AWS管理コンソールから確認します。myrepoというリポジトリにlatestというタグが付与されたDocker Imageがプッシュされていることがわかります。

Amazon_EC2_Container_Service 9

さいごに

ECSは日本でも本番活用される事例が増えてきました。東京リージョンでECRが使えるようになったことで、より一層利用が加速するのでは無いでしょうか。今後の機能拡張にも注目ですね!