6
3

More than 3 years have passed since last update.

CloudFormation Resource Importで、実体と違うテンプレートを使うとどうなるのか

Posted at

概要

CloudFormationに待望のリソースインポート機能がリリース1:tada:
使い方は、例によってクラメソさんが記事化しているので2、気になったところを追加で確認する。

気になっていること

対象のリソースが存在していなければならない、などいくつかの必須条件はドキュメントにも記載済み3
では、インポートするリソースと、違うパラメータ設定のテンプレートを使うとどうなるのか。置換されたり、上書きされたりする?

実験

対象はS3 Bucket:hogehoge-fugafuga-poyopoyo
全てデフォルト設定。

テストその1:ユニークキーとなるBucketNameが違うテンプレート

取り込むバケット名とBucketNameが異なる。

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  S3Bucket:
    Type: 'AWS::S3::Bucket'
    DeletionPolicy: 'Retain'
    Properties:
      BucketName: 'piyopiyo-foo-bar'

image.png

失敗。

テストその2:デフォルト値と異なるテンプレート

バージョニングはデフォルトで無効。

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  S3Bucket:
    Type: 'AWS::S3::Bucket'
    DeletionPolicy: 'Retain'
    Properties:
      BucketName: 'hogehoge-fugafuga-poyopoyo'
      VersioningConfiguration: 
        Status: 'Enabled'

image.png

インポートは成功。バージョニングは無効化のまま
どうやら、反映はされないよう。
その後、テンプレート側をDisabled / Enabledと変更しつつ反映したところちゃんと更新された。

まとめ

リソースインポートによって既存リソースが取り込めるようになってとても便利になった。
取り込みと設定更新は同時に行われないようなので、
1. 必須項目だけを記述したテンプレートで取り込み
2. 任意項目を追加

の方が安全そう。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3