AWS CloudFormation
ユーザーガイド (API バージョン 2010-05-15)

Ref

組み込み関数 Ref は、指定したパラメータまたはリソースの値を返します。

  • パラメータの論理名を指定すると、それはパラメータの値を返します。

  • リソースの論理名を指定すると、それはそのリソースを参照するために通常使用できる値を返します (物理 ID)。

テンプレートでリソースを宣言するときに別のテンプレートリソースを名前で指定する必要がある場合は、Ref を使用して別のリソースを参照できます。一般的に、Ref はリソースの名前を返します。たとえば、AWS::AutoScaling::AutoScalingGroup の参照は、Auto Scaling グループリソースの名前を返します。

一部のリソースでは、リソースのコンテキストにおいて別の重要な意味を持つ識別子が返されます。たとえば、AWS::EC2::EIP リソースは IP アドレスを返し、AWS::EC2::Instance はインスタンス ID を返します。

ヒント

Ref を使用して Output メッセージに値を追加することもできます。

特定のリソースまたはプロパティに対する Ref の戻り値の詳細については、「リソースおよびプロパティのリファレンス」でそのリソースまたはプロパティのドキュメントを参照してください。

宣言

JSON

{ "Ref" : "logicalName" }

YAML

完全名関数の構文:

Ref: logicalName

短縮形の構文:

!Ref logicalName

パラメータ

logicalName

参照解除するパラメータまたはリソースの論理名。

戻り値

リソースの物理 ID またはパラメータの値。

以下の Elastic IP アドレスのリソース宣言は、EC2 インスタンスのインスタンス ID を必要とし、Ref 関数を使用して MyEC2Instance リソースのインスタンス ID を指定します。

JSON

"MyEIP" : { "Type" : "AWS::EC2::EIP", "Properties" : { "InstanceId" : { "Ref" : "MyEC2Instance" } } }

YAML

MyEIP: Type: "AWS::EC2::EIP" Properties: InstanceId: !Ref MyEC2Instance

サポートされている関数

Ref 関数には関数を使用できません。リソースの論理 ID である文字列を指定する必要があります。