前回は、AWS Protonについてお伝えしました。今回は、ECR Publicの活用方法について、お伝えします。

ECR Publicとは

Dockerイメージの配布と聞くとDockerHubが主流ですが、最近になって無料ユーザーに対するイメージのPull制限が先月頃から実施されました。

(参考) Download rate limit | Docker Documentation

開発者がDockerイメージをパブリックに配布する場合にDockerHubで公開した時、利用者がDockerの無料プランを利用している時にデプロイの状況によっては短期間に何度もイメージのPullが走り、制限に引っかかってデプロイが失敗する……なんて事が起こりうるため、AWSはDockerHubの代替として、ECRにイメージの公開機能を実装したようです。

ECR Publicによって何がどう変わるのか

ECRを利用する事で、AWSという信頼性のあるプラットフォームからイメージを利用する事が出来、また提供元にとってはイメージのPushをECRに一元化することで、管理コストの削減や費用の削減を狙うことが出来ます。

※ECRのプライベートリポジトリは同一リージョンにECRとインスタンス(EC2)が存在する場合、データ転送量は掛かりません。

余談ですが、EKSでコンテナを使ったマイクロサービスを運用する場合、月あたりのECRに関する料金はイメージをPushした時に掛かるストレージ料のみとなります。

プライベートイメージに対するPullに料金が掛かるのは別リージョンに関するトラフィックのみとなるので、マイクロサービスを使ってKubernetesによってコンテナが入れ替わりでどんどん立ち上がるような状況でも安価に運用することが出来ます。

料金 – Amazon ECR | AWS

参考リンク

「インフラに関連するサービスをAWSに寄せていく」ことでシステムの管理に関する自由度が上がることが分かります。どんどん便利になっていくAWSにこれからも注目です。