ECR
· 約2分
Amazon ECR は、フルマネージドのコンテナイメージレジストリサービスです。Docker ImageをPrivateで保存、管理できます。
アクセス制御:各リポジトリに対してリソースベースのIAMポリシーを設定し、プッシュ・プルの許可を細かくコントロールでいます。 保存:AWS S3上に保存されます。 ライフサイクル管理:自動削除ルールを定義可能。 脆弱性スキャン:プッシュ時に自動的に脆弱性スキャンを実行し、結果を取得できます。
ワークフロー
リポジトリの作成
aws ecr create-repository \
--repository-name my-org \
--region ap-northeast-1
認証&Dockerログイン
aws ecr get-login-password \
--region ap-northeast-1 \
--username AWS \
--password-stdin <account-id>.dkr.erc.ap-northeast-1.amazonaws.com
イメージのビルド、タグ付け、プッシュ
docker build -t myapp:v1 .
docker tag my-app:v1 \
<account-id>.dkr.erc.ap-northeast-1.amazonaws.com/my-app:v1
docker push <account-id>.dkr.erc.ap-northeast-1.amazonaws.com/my-app:v1
イメージのプル
docker pull <account-id>.dkr.erc.ap-northeast-1.amazonaws.com/my-app:v1
kubectlによるEKSにデプロイ
KubernetesマニフェストにそのデプロイしたイメージのURLを設定し、下記コマンドで適用したら簡単にEKSにデプロイできます。
# deploy
kubectl apply -f deployment.yaml
# status confirm
kubectl get pods -l app=my-app