■ はじめに
今回は、AWS CloudFormation の Outputs について扱う。 ここ1~3ヶ月間、CloudFormation(cfn)を使ってきたが この Outputs で、ひとまず基本的なことは、大体わかったので良かった。
目次
【1】Outputsの書き方 【2】Outputs の参照 - !ImportValue 【3】サンプル 例1:VPC
【1】Outputsの書き方
* まずは、以下の公式ドキュメントから、、、
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html
例
Outputs: HelloLogicalID: # ID Description: Info about the value # 説明文(Optional) Value: "Hello world!!" # 値(通常 「!Ref Xxx」みたいな感じで) Export: Name: demo-dev-output-value # 参照する時のKey値
【2】Outputs の参照 - !ImportValue
* Outputs の値を参照するには、 Fn::ImportValue 組み込み関数(!ImportValue)を使う
より抜粋 ~~~~~~~~~~~~ Fn::ImportValue 組み込み関数は、別のスタックによってエクスポートされた出力の値を返します。 この関数は通常、クロススタック参照を作成するために使用されます。 ~~~~~~~~~~~~
例
# 参照例 !ImportValue demo-dev-output-value # !Sub との併合 !ImportValue !Sub 'demo-${ENV}-output-value'
【3】サンプル
例1:VPC
stack1.yml
AWSTemplateFormatVersion: '2010-09-09' Resources: DemoVpc: Properties: CidrBlock: 10.0.0.0/16 EnableDnsSupport: 'true' EnableDnsHostnames: 'true' Tags: - Key: Env Value: dev Outputs: DemoVpcId: Value: !Ref DemoVpc Export: Name: demo-vpc
stack2.yml
AWSTemplateFormatVersion: '2010-09-09' Resources: DemoSubnet: Type: AWS::EC2::Subnet Properties: VpcId: !ImportValue demo-vpc CidrBlock: 10.0.0.0/16
参考文献
https://qiita.com/jonhyoku_imu/items/c4125c21143eb77d5612
関連記事
CloudFormation ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2024/02/10/231900
CloudFormation ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/26/224812
CloudFormation ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2021/12/01/170326
CloudFormation ~ VPC ~
https://dk521123.hatenablog.com/entry/2024/03/03/011149