AWS CDK(TypeScript)でECRのリポジトリを作成したい
前提
- aws,cdkコマンドは使えるようにしておく
cdk init
は済んでいる
スタックを作成する
npm i @aws-cdk/aws-ecr
でecrするためのライブラリを追加しておく。
今回はcdk init
時に作成されてるCdkStack
をそのまま使う。
コード例は下記の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import * as cdk from '@aws-cdk/core'; import {RemovalPolicy} from '@aws-cdk/core'; import ecr = require('@aws-cdk/aws-ecr'); export class CdkStack extends cdk.Stack { constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // repositoryNameやremovalPolicyはお好みで new ecr.Repository(this, 'awesomeRepoId', { repositoryName: "my-repo-name", removalPolicy: RemovalPolicy.DESTROY }); } } |
removalPolicyを明示的に付与しないとcdk destroy
実行したとき、作成したリポジトリが削除されない。
今回は作ったり壊したりしたかったので、removalPolicyを付与してる。
スタックをデプロイする
デプロイするとAWS上にスタックに書かれたリソース(今回の場合はECR)が展開される。
cdk deploy CdkStack --profile [your profile]
特に記録すべきことないけど、下記はやっておいた方がいいかも。
- デプロイするスタックを明示する
- profileを明示する
省略してもいいんだけど、『何を』、『誰が』を明示しておくと何をやろうとしてるのか一目で分かる。
スタックを削除する
cdk destroy CdkStack --profile [your profile]