AWS CDKでクロススタックリファレンスをする
2021/05/18
CloudFormationで複数のスタックで参照することがあります。
それをCDKで実現するのがすごくシンプルで素敵です。
例えばこんなコードでパブリックIPアドレスを別のスタックから参照できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
from aws_cdk import core from cdk_vpn.on_premises import OnpreStack from cdk_vpn.vpc import VpcStack app = core.App() onpre_stack = OnpreStack( app, 'Onpre', ) vpc_stack = VpcStack( app, 'Vpc', cgw_ip=onpre_stack.cgw_ip, ) app.synth() |
こうしてできたCloudFormationのテンプレートでは、ばっちりExportとImportValueができていました。
OnpreStackで作成されたOutputs。
1 2 3 4 5 6 7 8 9 |
Outputs: ExportsOutputFnGetAttVyosInstance42FF5332PublicIpB6FEE484: Value: Fn::GetAtt: - VyosInstance42FF5332 - PublicIp Export: Name: Onpre:ExportsOutputFnGetAttVyosInstance42FF5332PublicIpB6FEE484 |
VpcStackで作成されたImportValue。
1 2 3 4 5 6 7 8 9 10 |
VPNCustomerGateway502CF191: Type: AWS::EC2::CustomerGateway Properties: BgpAsn: 65000 IpAddress: Fn::ImportValue: Onpre:ExportsOutputFnGetAttVyosInstance42FF5332PublicIpB6FEE484 Type: ipsec.1 Metadata: aws:cdk:path: Vpc/VPN/CustomerGateway |
いやあ、CDKってほんと便利ですね。
では、さよならさよならさよなら。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する
当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Am …
-
Amazon API GatewayのIAM認証の動作を確認しました
API GatewayのIAM認証は、IAMユーザーが実行できるように認証する、 …
-
既存のAWSアカウントをAWS Control Towerに追加
Account Factoryからは既存アカウントは追加できない? AWS Co …
-
PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる
JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …
-
Elastic BeanstalkでflaskアプリケーションデプロイのチュートリアルをCloud9で
Elastic Beanstalk への flask アプリケーションのデプロイ …
-
AWS License ManagerでAMIからインスタンスの起動を制御
EC2 Image BuilderでRocket.ChatのAMIを作って起動テ …
-
特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …
-
AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」
パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …
-
IAMアイデンティティセンター(IIC)のList Assignment APIを確認しました
やりたいことは、IAMアイデンティティセンター(IIC)のユーザー名をキーにして …
-
AWS Summit 2016 Tokyoに参加してきました (前日 ~ Day1)
AWS Summit 2016 Tokyoにて、セッション聴講、ブース展示拝見、 …