create-wmsa.cf.jsonファイルの詳細
最終更新日: 2020年11月9日
R8 | R9
(ジャスミンソフトが提供する)s3uploadfiles フォルダに格納されている create-wmsa.cf.json ファイルには、デフォルト値を指定できるパラメータが含まれています。これらを適切に設定することで、AWS環境構築時のパラメータ設定を省略できます。
ここではS3BucketName,WMSAName,CertificateArn,HostedZone,EnvironmentTypeにDefaultを指定した例を示します。
この指定を行ったテンプレートをS3に転送します。
次回以降、CloudFormationテンプレートを使ったスタックの作成時に、デフォルト値が指定されたパラメータを省略できます。
create-wmsa.cf.json に指定できる、その他のパラメータを説明します。
CloudFormationテンプレートを修正した場合、このCloudFormationテンプレートファイルをひとつづつチェックするコマンドがあります。
create-stackには時間がかかるため、あらかじめテンプレートの間違いがないことをチェックすることを推奨します。
デフォルト値の設定
...
"Parameters": {
"EnvironmentName": {
"Description": "Environment name",
"Type": "String"
},
"ApplicationName": {
"Description": "Application name",
"Type": "String"
},
"Hostname": {
"Description": "DNS Hostname",
"Type": "String"
},
"S3BucketName": {
"Description": "S3 bucket name",
"Default": "wagby-cf-pipeline-wmsa",
"Type": "String"
},
"WMSAName": {
"Description": "WMSA name",
"Default": "wmsa"
"Type": "String"
},
"CertificateArn": {
"Description": "ACM Certificate Arn",
"Default": "arn:aws:acm:ap-northeast-1:111111111111:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"Type": "String"
},
"HostedZone": {
"Description": "DNS Hosted zone",
"Default": "wmsa.wagby.com",
"Type": "String"
},
"EnvironmentType": {
"Description": "Environment type",
"Type": "String",
"Default": "cluster",
"AllowedValues": [
"simple",
"rdb",
"cluster"
]
},
"NotifyEmailAddress": {
"Description": "Notify Email Address for CodePipeline execution",
"Type": "String",
"Default": ""
},
...
aws s3 sync . s3://wagby-cf-pipeline-wmsa
aws cloudformation create-stack --stack-name WmsaApp1Test --capabilities CAPABILITY_IAM --capabilities CAPABILITY_NAMED_IAM \
--template-url https://wagby-cf-pipeline-wmsa.s3-ap-northeast-1.amazonaws.com/create-wmsa.json \
--parameters ParameterKey=EnvironmentName,ParameterValue=testenv \
ParameterKey=ApplicationName,ParameterValue=wmsaapp1test \
ParameterKey=Hostname,ParameterValue=app1test
その他のパラメータ
名前 説明
DomainURL
各ドメインのドメイン名とURLの対応表。Wagbyマイクロサービス利用時に設定する。[詳細...]
NotifyEmailAddress
AWS管理者のメールアドレスを指定すると、CodePipeline実行時にメールが届くようになります。
ECSServiceDesireCount
ECSで起動するコンテナの数。CloudFormationのリソース作成後に1に変更する。コンテナを停止して、アクセスできないようにする場合 0 にするとよい。
CodePipelineExecType
"buildonly" を指定するとCodeCommitへのコミット時にDockerイメージのビルドまで行うが、デプロイは行わない。"full"を指定すると、CodeCommitへのコミット時にDockerイメージのビルドとECSへのデプロイを行う。[詳細...]
ExecuteCodePipelineAtCommit
CodeCommitへのコミット時にCodePipelineの実行を行うかどうかを指定する。この値がtrueの場合は行う。falseにするとコミットしてもBuildやDeployが行われないため、入れ替えを手動で行うことができる。
ELBListnerRulePriority
ロードバランサーで指定したドメイン名へのアクセスをコンテナに振り分ける際のルールの優先度を示す。1から開始される。Wagbyマイクロサービス運用で利用する。[詳細...]
検証
aws cloudformation validate-template \
--template-url https://wagby-cf-pipeline-wmsa.s3-ap-northeast-1.amazonaws.com/create-wmsa.json