AWS ARN（形式やリソース名に確信が持てない時のための一覧）

AWSのARNを指定する際、形式やリソース名が正しいかを調べるために一覧を作成しました。
APIやCLIを使用してスクリプトを組む時に役立つかもしれません。

公式のドキュメントとしては以下にまとまっています。
[Service Authorization Reference](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html)

# AWS ARNとは
AWS ARN（Amazon Resource Name）とは、AWSのリソースを一意に識別する文字列です。AWSリソースへのアクセスや配信、呼び出しなどに使用されます。﻿

# ARNの構成

[引用元](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference-arns.html "Amazon リソースネーム (ARN) で AWS リソースを識別する")

```
arn:partition:service:region:account-id:resource-id
arn:partition:service:region:account-id:resource-type/resource-id
arn:partition:service:region:account-id:resource-type:resource-id
```

<table>
  <thead>
    <tr>
      <th>名前</th> <th>説明</th> <th>例</th>
    </tr>
  </thead>

  <tr>
    <td> partition </td> <td>AWSリージョンのグループ</td> <td>aws</td>
  </tr>
  <tr>
    <td> service </td> <td>サービス名</td> <td>ec2</td>
  </tr>
  <tr>
    <td> region </td> <td>リージョン名</td> <td>ap-northeast-1</td>
  </tr>
  <tr>
    <td> account-id </td> <td>アカウントID</td> <td>123456789012</td>
  </tr>
  <tr>
    <td> resource-type </td>  <td>リソース名</td> <td>instance</td>
  </tr>
  <tr>
    <td> resource-id </td> <td>リソース識別子</td> <td>id-abcdefghijkl</td>
  </tr>
</table>


# ARN一覧（随時拡充）
<table>
  <thead>
    <tr>
      <th>リソース名</th> <th>例</th>
    </tr>
  </thead>
  <tr>
    <td>EC2インスタンス</td> <td>arn:aws:ec2:ap-northeast-1:\${account-id}:instance/${InstanceId}</td>
  </tr>
  <tr>
    <td> VPC </td> <td>arn:aws:ec2:ap-northeast-1:\${account-id}:vpc/${VpcId}</td>
  </tr>
  <tr>
    <td>サブネット</td> <td>arn:aws:ec2:ap-northeast-1:\${Account}:subnet/${SubnetId}</td>
  </tr>
  <tr>
    <td>NATゲートウェイ</td> <td>arn:aws:ec2:ap-northeast-1:\${Account}:natgateway/${NatGatewayId}</td>
  </tr>
  <tr>
    <td>インターネットゲートウェイ</td> <td>arn:aws:ec2:ap-northeast-1:\${account-id}:internet-gateway/${InternetGatewayId}</td>
  </tr>
  <tr>
    <td>セキュリティグループ</td> <td>arn:aws:ec2:ap-northeast-1:\${Account}:security-group/${SecurityGroupId}</td>
  </tr>
  <tr>
    <td>ENI</td> <td>arn:aws:ec2:ap-northeast-1:\${account-id}:network-interface/${NetworkInterfaceId}</td>
  </tr>
  <tr>
    <td> ALB </td> <td>arn:aws:elasticloadbalancing:ap-northeast-1:\${account-id}:loadbalancer/app/\${LoadBalancerName}/${LoadBalancerId}</td>
  </tr>
  <tr>
    <td> S3バケット </td> <td>arn:aws:s3:::${BucketName}</td>
  </tr>
  <tr>
    <td> IAMユーザー </td> <td>arn:aws:iam::\${account-id}:user/${UserNameWithPath}</td>
  </tr>
  <tr>
    <td> RDS </td> <td>arn:aws:rds::\${account-id}:db:${DbInstanceName}</td>
  </tr>
  <tr>
    <td> DynamoDBテーブル </td> <td>arn:aws:dynamodb::\${account-id}::table/${TableName}</td>
  </tr>
  <tr>
    <td> Lambda関数 </td> <td>arn:aws:lambda:ap-northeast-1:\${account-id}:function:${FunctionName}
  </td>
  <tr>
    <td> Cloud Frontディストリビューション </td> <td>arn:aws:cloudfront::\${Account}:distribution/${DistributionId}
  </td>
  <tr>
    <td> SNSトピック </td> <td>arn:aws:sns:ap-northeast-1:\${account-id}:${TopicName}	
  </td>
  <tr>
    <td> SQS queue </td> <td>arn:aws:sqs:ap-northeast-1:\${account-id}:${QueueName}	
  </td>
  <tr>
    <td> SSMドキュメント </td> <td>arn:aws:ssm:ap-northeast-1:\${account-id}:document/${DocumentName}	
  </td>
  </tr>
</table>

※「${}」の部分は実際の値に置き換えてください