スタックの出力値のエクスポート - AWS CloudFormation

スタックの出力値のエクスポート

スタック間で情報を共有するには、スタックの出力値をエクスポートします。同じ AWS アカウントとリージョンの他のスタックは、エクスポートされた値をインポートできます。たとえば、パブリックウェブサーバーのサブネットやセキュリティグループの ID をエクスポートする単一ネットワーキングスタックがあります。パブリックウェブサーバーのあるスタックは、それらのネットワーキングリソースを簡単にインポートできます。リソースの ID をスタックのテンプレートにハードコード化する、または、ID を入力パラメータとして渡す必要はありません。

スタックの出力値をエクスポートするには、スタックのテンプレートの Output セクションの Export フィールドを使用します。これらの値をインポートするには、他のスタックのテンプレートの Fn::ImportValue 関数を使用します。チュートリアル、およびサンプルテンプレートについては、チュートリアル: 別の AWS CloudFormation スタックのリソース出力を参照する を参照してください。

注記

別のスタックが出力値をインポート後、出力値をエクスポートしているスタックを削除したり、エクスポートされた出力値を変更することはできません。エクスポートしているスタックを削除したり出力値を変更する前に、インポートをすべて削除する必要があります。

スタック出力値のエクスポートとネストされたスタックの使用との比較

ネストされたスタックとは、AWS::CloudFormation::Stack リソースを使用して別のスタック内に作成したスタックです。ネストされたスタックにより、1 つのスタックからすべてのリソースをデプロイし、管理します。ネストされたスタックグループからの出力をグループ内の別のスタックへの入力として使用できます。これは値のエクスポートとは異なります。

情報共有をネストされたスタックグループ内に隔離する場合は、ネストされたスタックを使用することを推奨します。ネストされたスタックのグループ内に限らず、他のスタックと情報を共有するには、値をエクスポートします。たとえば、サブネットのあると 1 つのスタックを作成し、ID をエクスポートできます。他のスタックは、ID をインポートすることでそのサブネットを使用できます。各スタックが独自のサブネットを作成する必要はありません。スタックがサブネット ID をインポートする限り、それを変更または削除することはできません。

エクスポートされた出力値のリスト

インポートできる値を確認するには、AWS CloudFormation コンソール、AWS CLI、または AWS CloudFormation API を使用してエクスポートされた出力値をすべてリスト表示します。AWS CloudFormation は、現在のリージョンのエクスポートされた出力の名前と値、および出力がエクスポートされるスタックを表示します。スタックのテンプレートでエクスポートされた出力値を参照するには、エクスポート名と Fn::ImportValue 関数を使用します。

エクスポートされた出力値 (コンソール) をリスト表示するには
エクスポートされた出力値 (AWS CLI) をリスト表示するには
エクスポートされた出力値 (API) をリスト表示するには
  • API オペレーション ListExports を実行します。