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 である文字列を指定する必要があります。