CDK のニッチなトリビアを提供する LT をします。本発表では、多くの CDK ユーザーが暗黙的に使っているであろう「Grant オブジェクト」について解説します。
IAM Role などに権限を追加するのに大変便利な grant 系メソッドですが、その戻り値にあたる Grant オブジェクトのことを意識する機会は少ないと思います。
基本的に一般の CDK ユーザーが意識する必要性はそう多くありませんが、CDK の内部実装に手を入れたり、組織横断で配布する共通モジュールとして特定の権限付与パターンを抽象化するのに、知っていると役に立つ...かも、しれません。
grant メソッドの戻り値でなんとなく存在は知っていたけど、結局何者?私たちが使う機会はあるの?と、気になっていた CDK ユーザーの疑問にお答えします。
CDK Stage を「パイプライン都合でスタックを束ねるだけ」と見なしてはいないでしょうか。本 LT ではparameter.tsに各環境(dev / stg / prd)の アカウント・リージョンと専用パラメータを集中管理し、Stage 経由で共通スタックへ安全に受け渡す設計手法を解説します。
「CDKToolkit スタックを誤って削除しちゃった」「複数のスタックでリソースを参照している時にデッドロックしちゃった」といった、AWS CDK をご利用いただく上であるあるのエラーとその回避法を紹介します。
今回は、特にはまりがちなクロスリージョン参照 (crossRegionReferences) に焦点を当てて紹介します。
AWS CDKでは、きめ細かなアサーションテストを行う為のモジュールが標準で提供されており、コンストラクトからCloudFormationテンプレートの合成に関する挙動をテストすることが可能です。
しかし標準のモジュールでは、テスト対象のリソースやテンプレートに関する型情報やスニペットが不足しており、IDE上で効率的にテストを実装出来るとは言い難いです。
そこで、それらの課題を解決し、IDE上で効率的にきめ細かなアサーションテストを実装するためのTypeScriptライブラリ「aws-cdk-utul - AWS CDK Unit Test Utility Library」をリリースしました。
AWSのCDKを実験中にリソースをいろいろ作って遊んで、たのし〜ってやってたらcdk destroyだけやってVPCやELBを削除できていないことに気づいていなくて$70課金された時のお話です。
背景として、以下のようなことがありAWSCDKさわってみるかぁ〜から始まった遊び心です。
・一からAWSでサーバレスアーキテクチャを構築したことないな
・AWS CDK使ったことないな
・この技術書典で買った本がAWS CDKで構築するハンズオンだった
この遊び心がどう$70課金される原因と対策、これから個人でAWS CDKに触れる方の参考になればという思いを込めてお話しするLTです。
具体的には、構築したインフラ構成(RDS,ECS,ELB,APIGateway etc...)やCDKの扱い方のTips、そもそもどうやって書くのみたいなところも簡単にお話ししていきたいと考えています。