CloudFrontディストリビューションARN — CDNリソースの参照
CloudFrontディストリビューションARNを解析し、グローバルサービスパターンとディストリビューションIDの形式を理解します。OACとS3オリジンアクセスパターンについても解説。
詳細な説明
CloudFrontディストリビューションARN
CloudFrontディストリビューションはグローバルリソースですが、S3とは異なり、ARNにはアカウントIDが含まれます。リージョンフィールドは空です。CloudFrontは単一のリージョンではなくエッジで動作するためです。
ARNの例
arn:aws:cloudfront::123456789012:distribution/E1234ABCDEF567
解析されたコンポーネント
| コンポーネント | 値 |
|---|---|
| Partition | aws |
| Service | cloudfront |
| Region | (空) — グローバルサービス |
| Account ID | 123456789012 |
| Resource Type | distribution |
| Resource ID | E1234ABCDEF567 |
ディストリビューションIDの形式
CloudFrontディストリビューションIDはEで始まり、その後に英数字文字列が続きます(例:E1234ABCDEF567)。このIDはドメイン名(d111111abcdef8.cloudfront.net)とAPI呼び出しで使用されます。
Origin Access Control(OAC)ARN
最新のCloudFrontセットアップでは、S3オリジンに安全にアクセスするためにOrigin Access Controlを使用します:
arn:aws:cloudfront::123456789012:origin-access-control/EABC123DEF456
キーグループARN
署名付きURL/CookieのためのCloudFrontキーグループ:
arn:aws:cloudfront::123456789012:key-group/abc123-def456
CloudFrontのIAMポリシー
IAMポリシーでのCloudFront ARNは、権限がすべてのディストリビューションまたはCloudFrontサービス全体に対して付与される傾向があるため、ワイルドカードを使用することが多いです:
{
"Resource": "arn:aws:cloudfront::123456789012:distribution/*"
}
CloudFront + S3パターン
最も一般的なCloudFront設定はS3バケットオリジンを含みます。このセットアップでは、IAMでCloudFrontディストリビューションARNを参照し、ディストリビューションのオリジン設定でS3バケットARNを参照します。2つの異なるARN形式が連携して機能します。
ユースケース
CloudFormationやTerraformなどのインフラストラクチャ・アズ・コードツールによるCloudFrontディストリビューションの管理。ディストリビューションARNは、Origin Access Control(OAC)を使用してCloudFrontのみへの直接S3アクセスを制限する場合にS3バケットポリシーで参照されます。