[小ネタ] ECS では ECR 以外のイメージも使用できることを確認してみた

ECS のタスク定義で指定するイメージは、ECR 以外にも Docker Hub なども指定できます
2022.11.08

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

はじめに

アノテーション・テクニカルサポートチームの hato です。

ECS で使用する Docker イメージは ECR のイメージ以外も指定可能ですが、実際に設定したことはなかったのでやってみました。

タスク定義パラメータ - Amazon Elastic Container Service

Docker Hub レジストリのイメージはデフォルトで使用できます。repository-url/image:tag または repository-url/image@digest で他のリポジトリを指定することもできます。

試したレジストリ

やってみた

Docker Hub

ドキュメントにも明示的に記載されていますが、念の為にやってみます。

タスク定義のイメージでnginx:latestを指定して保存します。

作成したタスク定義を指定して、タスクが起動できました。

ECR Public Gallery

ECR Public Galleryは、Docker や AWS のオフィシャルイメージが利用できます。

こちらも同様にタスク定義のイメージでpublic.ecr.aws/nginx/nginx:latestを指定して保存します。

ECR Public Gallery のイメージでも、タスクが起動できました。

Container Registry(Google Cloud)

Google Cloud の Container Registry は、AWS の ECR に相当するコンテナレジストリサービスです。

実は Docker Hub が例外で AWS 以外は対応していないかも?というドキドキを胸にやってみます。

タスク定義のイメージでgcr.io/google-containers/nginx:latestを指定して保存します。

Google Cloud の Container Registry でも、タスクが起動できました!!

Open Source Docker Registry

Open Source Docker Registryは、オープンソースのコンテナレジストリでオンプレミスなどでも使用できます。

適切なネットワーク経路があればオンプレミスでも使用できるはずなのでやってみます。

タスク定義のイメージでURL(例:hato-registry.hato.test.an.classmethod.info/nginx:latest)を指定して保存します。

Open Source Docker Registry のイメージでも、タスクが起動できました!!

最後に

この記事が誰かのお役にたてば幸いです。

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。