AWS
ARN

AWS ARNまとめ

資格勉強向けにARNの構文をメモ
Amazon ARN

基本形式

arn:partition:service:region:account-id:resource
arn:partition:service:region:account-id:resourcetype/resource
arn:partition:service:region:account-id:resourcetype:resource
  • パーティション: 基本的にAWS
  • サービス: AWS製品名
  • リージョン: リソースがあるリージョン。リージョン関係ないものは省かれている
  • リソース,リソースタイプ: サービスによって異なる。スラッシュやコロンなどで書いてある

覚え方
アランとパーティでサービス受けたらリケジョにアカンと(リ)ソースかけられた。

EC2構文例

arn:aws:ec2:region:account-id:instance/instance-id
arn:aws:ec2:region:account-id:volume/volume-id

arn:aws:ec2:us-east-1::image/ami-1a2b3c4d
アカウントが省略されて::となる。
arn:aws:ec2:us-east-1:123456789012:instance/*

S3構文例

arn:aws:s3:::bucket_name
arn:aws:s3:::bucket_name/key_name
s3はリージョン、アカウントは不要。故にバケット名が一意である必要があるのか

S3例

arn:aws:s3:::my_corporate_bucket/*
ポリシーのARNを指定する場合は、ワイルドカード「*」文字を使用できる。

RDS構文例

arn:aws:rds:region:account-id:db:db-instance-name
arn:aws:rds:region:account-id:cluster:db-cluster-name

AWSCLI,RDS APIを使用する時に使う。その際にはタグと共に使用する。

AWS サービスの名前空間
AWSサービスの識別をNamespaceを使用して AWSのサービスを識別する。
IAMポリシーを作る時などにアクションとリソースを識別するときに使用する。

そういえば関係ないけどサービス名のプレフィックスでAmazonとAWSの違いは

  • Amazon: 単体のサービスとして利用出来る。
  • AWS: 他のAWSのサービスと組み合わせて利用する。

と,どこかで聞いた気がする。公式のどこかに書いてあったけな?