AWS CDKでApp Runnerをデプロイするメモです。
2021年12月31日時点のCDKのバージョンは2.3.0(CDK 2系のApp Runnerはpreview)。
今回はCDK 1系を使用します(2021年01月09日時点の最新は1.138.0)。
ref. https://docs.aws.amazon.com/cdk/api/v1/docs/aws-apprunner-readme.html
$ cdk init app --language typescript
CDK 2系のApp RunnerはpreviewなのでCDK 1系を使用する。
$ npm i @aws-cdk/core
$ npm i @aws-cdk/aws-iam
$ npm i @aws-cdk/aws-ecr
$ npm i @aws-cdk/aws-apprunner
ImageConfiguration.environmentプロパティで渡す。
class Service (construct) > class Source > fromEcr(props)
メソッドの引数prop:EcrProps > interface EcrProps > interface ImageConfiguration > environment
プロパティ
environment?🔹 { [string]: string } Environment variables that are available to your running App Runner service.
https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apprunner.ImageConfiguration.html
/*
* EcrProps
* @see https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apprunner.EcrProps.html
*/
const ecrProps: apprunner.EcrProps = {
repository: ecr.Repository.fromRepositoryArn(
this,
'cdk/httpd',
'arn:aws:ecr:ap-northeast-1:{{アカウントID}}:repository/cdk/httpd'
),
// @see https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apprunner.ImageConfiguration.html
imageConfiguration: {
environment: {
// 環境変数設定
'FOO': 'foo'
}
},
tag: 'latest',
};
/*
* Service
* @see https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apprunner.Service.html
*/
new apprunner.Service(this, 'Service', {
source: apprunner.Source.fromEcr(ecrProps),
accessRole: accessRole,
serviceName: 'httpd server',
});
以下記事で環境変数が正しくApp Runnerに渡っていることをhttpdで確認する方法が分かりやすく説明されている。
cdk deploy
を実行しても更新イメージから起動されなかった(CDK側でなにか設定が必要?)デプロイ
を実行後にcdk deploy
したら更新イメージから起動されたNo comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。