CloudFormationでリソースのARNやリソースを取得する際、!Refと!GetAttどちらを使うべきか等迷うことがあるので、関連する戻り値のメモです。
| Service | Resource | !Refの戻り値 | !GetAttの戻り値 |
|---|---|---|---|
| AWS IAM | Role | ロール名 | .Arn : ARN .RoleId : ロールID |
| AWS IAM | Policy | ポリシー名 | 無し |
| Amazon VPC | VPC | VPC ID | .CidrBlockAssociations : CIDR block association IDs 他 |
| Amazon VPC | Subnet | Subnet ID | .VpcId : サブネットの属するVPCのVPC ID 他 |
| Amazon EC2 | Instance 1 | インスタンスID | .PrivateDnsName : プライベードDNS名 .PublicDnsName : パブリックDNS名 他 |
| AWS Lambda | Function | 関数名 | .Arn : ARN |
| Amazon S3 | Bucket | バケット名 | .Arn : ARN 他 |
| Amazon DynamoDB | Table | 表名 | .Arn : ARN |
| Amazon RDS | DBCluster 2 | クラスター名 | .Endpoint.Address : 接続エンドポイント .ReadEndpoint.Address : 読み取りエンドポイント |
| Amazon API Gateway (v2) | Api 3 | API ID | .ApiEndpoint : APIエンドポイント |
| Elastic Load Balancing | LoadBalancer | ARN | .LoadBalancerName : ロードバランサー名 .LoadBalancerFullName : ロードバランサーのフル名称 |
| Amazon SNS | Topic | ARN | .TopicName : Topic名 |
| Amazon SQS | Queue | キューURL | .Arn : ARN .QueueName : キュー名 |
| Amazon Kinesis | Stream | ストリーム名 | .Arn : ARN |
-
ECRインスタンスのARNは、"arn:aws:ec2:{$REGION}:{$ACCOUNT_ID}:instance/{$instance-id}" ↩