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}" ↩