CloudFormationスタックARN — IaCリソースの参照

CloudFormationスタックARNを解析し、スタック名、一意のID形式、ネストされたスタックARNの仕組みを理解します。クロススタック参照とエクスポートについても解説。

Infrastructure

詳細な説明

CloudFormationスタックARNの形式

CloudFormationスタックARNには、リソース部分内にスラッシュで接続されたスタック名と一意の識別子の両方が含まれています。

ARNの例

arn:aws:cloudformation:us-east-1:123456789012:stack/my-vpc-stack/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

解析されたコンポーネント

コンポーネント
Partition aws
Service cloudformation
Region us-east-1
Account ID 123456789012
Resource Type stack
Resource ID my-vpc-stack/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

スタック名 + 一意のID

リソース部分にはスラッシュで区切られた2つの部分が含まれています:人間が読めるスタック名(my-vpc-stack)とUUID(a1b2c3d4-...)。UUIDは一意性を保証します。同じ名前のスタックを削除して再作成すると、新しいUUIDが付与され、新しいARNになります。

ネストされたスタックARN

ネストされたスタックには自動生成された名前の独自のARNがあります:

arn:aws:cloudformation:us-east-1:123456789012:stack/my-vpc-stack-NetworkSubnets-ABC123/uuid

ネストされたスタック名には親スタック名がプレフィックスとして含まれ、階層を識別しやすくなっています。

StackSet ARN

マルチアカウント/マルチリージョンデプロイのためのCloudFormation StackSetsは異なるリソースタイプを使用します:

arn:aws:cloudformation:us-east-1:123456789012:stackset/my-org-baseline:a1b2c3d4-uuid

クロススタック参照

CloudFormationエクスポートはスタックARNを暗黙的に使用します。スタックAが値をエクスポートしてスタックBがそれをインポートすると、CloudFormationはスタックARNを使用して依存関係を追跡します。スタックBがスタックAのエクスポートを参照している間は、スタックAを削除できません。

変更セット

変更セットはchangeSetリソースタイプ下の独自のARNを持ち、親スタックのARNコンポーネントを参照します。

ユースケース

デプロイログからスタックARNを解析して、環境全体のインフラストラクチャデプロイを追跡する場合。また、特定のスタックにCloudFormation権限を制限するIAMポリシーで使用され、本番インフラストラクチャの不正な変更を防止します。

試してみる — AWS ARN Parser

フルツールを開く