CloudFormationテンプレートの擬似パラメータ
擬似パラメータは、CloudFormation側で事前定義されているパラメータです。
Parametersセクションで定義する必要はありません。
現在ログインしているAWSアカウントIDや選択しているリージョンなど、主に現在のコンテキスト情報を参照するために利用します。
擬似パラメータ
擬似パラメータは AWS::
から始まります。
擬似パラメータ | 説明 | よく使う組み込み関数 | 出力例 |
---|---|---|---|
AWS::AccountId | AWSアカウントID | Ref | 123456789012 |
AWS::NotificationARNs | スタックの通知 Amazon リソースネーム | Ref | arn:aws:sns:ap-northeast-1:871728391824:topic1 |
AWS::NoValue | 組み込み関数 Fn::If で使用すると対象プロパティを削除 |
Fn::If | |
AWS::Partition | パーティション | Fn::Sub | aws |
AWS::Region | リージョン | Fn::Sub | ap-northeast-1 |
AWS::StackId | スタックのID | Ref | arn:aws:cloudformation:ap-northeast-1:123456789012:stack/test/12345678-8b4e-9abc-def0-123456789abc |
AWS::StackName | スタック名 | Ref | test |
AWS::URLSuffix | ドメインのサフィックス | Fn::Sub | amazonaws.com |
AWS::NotificationARNs
[スタックの作成]-[オプション]のアドバンストで設定したトピック。
AWS::NoValue
少し特殊な疑似パラメータです。組み込み関数 Fn::If
内で使用します。
定義されている場合はプロパティに設定し、未定義ならプロパティに設定したくない場合に利用します。
DBSnapshotIdentifier: !If: - UseDBSnapshot - Ref: DBSnapshotName - Ref: AWS::NoValue
サンプル
パラメータでアベイラビリティゾーンを選択し、サブネット作成時に入力値を設定するサンプルです。
AWSTemplateFormatVersion: '2010-09-09' Resources: MyVPC: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 Outputs: Output1: Value: !Sub "arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:vpc/${MyVPC}" Description: VPC ARN Output2: Value: !Sub "https://dynamodb.${AWS::Region}.${AWS::URLSuffix}" Description: DynamoDB endpoint
出力 (Outputs)
- 組み込み関数
Fn::Sub
を利用すると、文字列内にパラメータを埋め込むことができます。 - パラメータは ${パラメータ名} で表現。
- Sub は
substitute
の略。置換。