1. はじめに
- OpsWorks を含む AWSサービス構成を CloudFormation のテンプレートで作成していた時に直面したダメなところ
2. CloudFormation から OpsWorks Instances にて作成した EC2 に対して、CloudWatch Alarm 設定や Route53 RecordSet 設定を行う時
- CloudFformation の AWS::OpsWorks::Instance の戻り値では作成した EC2 インスタンスの ID を取得することができないため、AWS::OpsWorks::Instance を定義した同じテンプレートファイル内でCloudWatch Alarm 設定や Route53 RecordSet 設定の定義を記載できない。 別テンプレートファイルで CloudWatch Alarm/Route53 RecordSet を行いたい EC2 のインスタンスIDを指定してCloudWatch Alarm/Route53 RecordSet を作成するテンプレートファイルを作成するか、直接 CloudWatch Alarm/Route53 のコンパネ等で設定する必要がある。
※参考
本家ドキュメント - AWS::OpsWorks::Instance
本家ドキュメント - OpsWorks よくある質問
- CloudFormation から一気通貫で AWS::OpsWorks::Instance でEC2インスタンスを作成するケースは少ないにしても、そもそも CloudFormation を使わなくて直接 OpsWorks の Instances から起動した EC2 に対しても CloudWatch Alarm/Route53 の設定は直接コンパネ等で設定しないといけないのは、めんどい。