AWS CDKを利用して、Cross Region Referenceを実装する方法について紹介します。なお、本記事では以前紹介したWAFとCloudFrontの構成を使ってCross Region Referenceを実装しています。前回は、Cross Region Referenceを実装するために、cdk-remote-stackというライブラリを使い、少し込み入ったコードを書いていました。今回は、Stackの引数にCross region用の値を渡すことで、実装する形をとっています。
過去に紹介したCloudFront+WAFの記事です。
AWS CDK(ver.2)PythonでCloudFrontにWAFv2を紐づける
全コードはGithubを参照してください。
Githubはここ
CrossRegionの実装
基本的なコードの内容は過去に紹介した記事の内容と変わらないため、ここではCross Region Referenceの実装に必要な部分のみご紹介します。
wafv2_stack = Wafv2Stack(
app, 'Wafv2Stack', env=cdk.Environment(region='us-east-1'),
cross_region_references=True, # Cross Region Referenceの設定をTrueにする
)
# ap-northeast-1のStackでCloudFrontを作成する
cloudfront_stack = CloudFrontStack(
app, 'CloudFrontStack', wafv2_stack.webacl,
env=cdk.Environment(region='ap-northeast-1'),
cross_region_references=True, # Cross Region Referenceの設定をTrueにする
)
Stackを呼出している部分のコードになりますが、コメント文を書いているcross_regio_references=Trueを参照する二つのStackに引数として渡すだけでCross region referenceが実装できます。簡単ですね・・・
まとめ
今回はStackの引数を使って簡単にCross region referenceを実装する方法について紹介しました。
どなたかの参考となれば沢井です。