ARNとは?
「Amazon Resource Name」の略です。AWSサービスのリソースを一意に識別します。
命名形式
基本的には以下のようになっていますが、サービスによって異なります。
1 2 3 |
arn:partition:service:region:account-id:resource arn:partition:service:region:account-id:resourcetype/resource arn:partition:service:region:account-id:resourcetype:resource |
partition
リソースが置かれているパーテーション。基本的には「aws(AWSリージョン)」になります。AWSのリージョンのグループになります。(日本以外であればaws-cn(中国リージョン)や、aws-us-gov(USリージョン)などが使われます。)
service
AWSのサービス名です。
region
リージョンコード、リソースがあるリージョンを指しています。(例:オハイオであればus-east-2になります。)IAMやRoute53などのグローバルサービスの場合は省略されます。
account-id
AWSのアカウントIDです。通常のアカウントIDとは異なりハイフンは省かれています。
resource、resourcetype/resource、resourcetype:resource
リソースタイプ、リソース。サービスによって異なります。
スラッシュ(resourcetype/resource)
パスで区切られるリソースの場合
例
VPCのサブネット
1 |
arn:aws:ec2:ap-northeast-1:アカウントID:subnet/subnet-xxxxxxxxxxxxx |
IAMユーザー
1 |
arn:aws:iam::アカウントID:user/ユーザー名 |
IAMはグローバルサービスなのでリージョンがないですね。
S3バケット
1 |
arn:aws:s3:::バケット名 |
S3バケットに関しては特にグローバルサービスではないですがバケット名などはリージョンやアカウントに依存しない全世界共通なのでリージョン情報は付与されていないですし、アカウントIDも省略されているようです。
SNSトピック
1 |
arn:aws:sns:us-east-1:123456789012:example-sns-topic-name |
この記事へのコメントはありません。