DOP-C02 上級 DOP

AWS CDKによるIaCのテスト戦略|cdk-nagとスナップショットテストで品質を担保する

IaCもアプリケーションコードと同様にテストする文化が求められます。「セキュリティ・ベストプラクティスの静的チェック」「意図しない変更の検知」「デプロイ前の動作確認」の3つの観点でCDKの品質担保を実践的に押さえましょう。

cdk-nagによる静的チェック

CDKアプリケーションにcdk-nagのルールセット(AWS Solutionsなど)を組み込むと、S3バケットの暗号化漏れやIAMポリシーの過剰権限など、合成(synth)時点でベストプラクティス違反を検出できます。組織のセキュリティ基準をコードレビューだけに頼らず機械的に強制したい場合に有効です。

スナップショットテスト

CDKのアサーションライブラリを使い、生成されるCloudFormationテンプレートをスナップショットとして保存し、コード変更時に意図しない差分が生じていないかを自動比較します。リファクタリング時に既存リソースの置換や削除が意図せず発生していないかを早期に検知したい場合に使います。

ユニットテストとパイプラインへの統合

Lambdaのタイムアウト値などリソースのプロパティを個別にアサートするきめ細かいユニットテストを書き、CodePipelineのビルドステージでcdk-nag・スナップショット・ユニットテストを実行してデプロイ前に品質ゲートを設けます。

手法検出対象実行タイミング
cdk-nagベストプラクティス違反synth時
スナップショットテスト意図しないテンプレート差分コード変更時
ユニットテスト個別プロパティの妥当性実装時・CI実行時
よくある誤り cdk-nagはベストプラクティス違反の検出であり、リソースの意図しない置換・削除を検知するのはスナップショットテストの役割です。混同しないようにしましょう。

チェックリスト

  • cdk-nagで検出できる問題の種類を説明できる
  • スナップショットテストの目的を理解している
  • パイプラインへのテスト組み込み位置を説明できる
  • IaCの品質ゲートの設計ができる

IaCの品質もアプリケーションコードと同じ発想でテストすることが問われます。クイズで確認し、詳細はAWS認定 公式ページも参照してください。

📚

DOP(DevOpsエンジニア) におすすめの教材

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版 表紙
問題集

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版

体系的にサービスと出題範囲を学べる定番テキスト

★★★★☆

Amazonで見る
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集 表紙
問題集

AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集

本番形式の演習で総仕上げに最適

★★★★☆

Amazonで見る
Udemyコース
Udemy・講座

AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)

動画で体系的に学べる対策コース

Udemy

Udemyで見る
Udemy模擬試験
Udemy・模試

AWS認定DOP 演習テスト(日本語)

本番形式の演習で総仕上げ

Udemy

Udemyで見る

本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。