0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは。アメリカ在住で独学エンジニアを目指している Taira です。

本日は ECR について記事を書いていきたいと思います。
ECS 同様、AWS で CD を考えている方は必ず知っておく必要がある内容です。

ECR とは

ECR(Elastic Container Registry)は、AWS が提供するプライベートな Docker イメージレジストリです。

特徴

  • Docker Hub の AWS 版のようなもの
  • IAM と統合されていてセキュリティが高い
  • ECS や EKS と連携しやすい
  • VPC 内通信や VPC エンドポイントにも対応

Fargate × ECR:基本的に NAT Gateway が必要

Fargate は完全マネージドな実行基盤で、通常はプライベートサブネット内で動きます。

しかし、ECR から Docker イメージを pull するにはインターネットアクセスが必要です。

🔻 よって構成上、次のいずれかが必要:

方法説明
✅ NAT Gateway プライベートサブネットのタスクがインターネットに出られるようにする
✅ VPC エンドポイント(推奨) NAT Gateway の代替。ECR への通信を VPC 内で完結させる

VPC エンドポイントに必要なサービス:

  • com.amazonaws.<region>.ecr.api
  • com.amazonaws.<region>.ecr.dkr
  • com.amazonaws.<region>.s3(ECR のイメージ実体は S3)

💡 ポイント:

NAT Gateway は料金がかかるため、個人開発や学習用途では VPC エンドポイントを使う方が安く済みます。


🖥 ECS on EC2 × ECR:NAT Gateway なしでも使える

ECS on EC2 では、EC2 インスタンスにパブリック IP を付けることで、NAT Gateway なしでもイメージを pull できます。

✅ 条件

  • EC2 がパブリックサブネットに存在
  • インターネットゲートウェイ経由で外部通信できる
  • docker login で ECR に認証済みであること

🔒 ECR を使うメリットまとめ

たとえ NAT Gateway の有無に関係なく、ECR は以下の理由でおすすめです:

メリット説明
🔐 IAM によるアクセス制御 特定のユーザーやロールだけに pull/push を許可可能
🚀 ECS/Fargate との親和性 image: に ARN を書くことでシームレスに連携できる
⏱ pull 制限なし Docker Hub の「匿名 100 回/6 時間制限」を気にしなくて OK
🌎 高速通信 同じリージョン内の ECR なら通信速度が安定
🔁 CI/CD との統合 GitHub Actions などからの push も容易に構成可能

✅ 構成まとめ表

項目 FargateECS on EC2
NAT Gateway 必要? ✅ 基本必要(または VPC エンドポイント) ❌ 不要(パブリック IP ありなら)
VPC エンドポイント対応 ✅ 必須級 ❌ 基本不要
イメージ pull の起点 タスク(内部的に Fargate) EC2 インスタンス上の Docker
ECR 使用の推奨度 ⭐⭐⭐⭐☆ ⭐⭐⭐⭐⭐

ちょっとした補足:ECR を使わずに Docker Hub でも動く?

動きます。 ただし以下の点に注意:

  • Docker Hub は無料アカウントに pull 制限あり(匿名 100 回/6 時間)
  • プライベートレポジトリは有料プランが必要
  • 商用利用・チーム利用ではセキュリティ面で不安が残る

まとめ

  • Fargate で ECR を使う場合は NAT Gateway か VPC エンドポイントが必要
  • ECS on EC2 ならパブリック IP で ECR に直接アクセス可能
  • ECR は AWS サービスとの連携やセキュリティ面で非常に便利
  • 小規模開発でも VPC エンドポイントを使えば Fargate でも安価に運用できる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?