[ レポート ] AWS CDKを利用してCloudFrontのCICDパイプラインを作成するワークショップに参加してきました。 #reInvent #NET310

CloudFrontのCI/CDパイプラインを学ぶセッションでした。CloudFrontに限らず、AWS CDKやAWS CloudFormationのパイプライン要素が強く大変参考になりました。
2022.12.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!AWS事業本部コンサルティング部のたかくに(@takakuni_)です。

本エントリは、re:Invent 2022で開催されたWorkshopである「Deploy a CI/CD pipeline with Amazon CloudFront」のセッションレポートになります。

CloudFrontを前段に置いた複数の環境に対してのCICDパイプラインの構成をAWS CDK, AWS CloudFormationでデプロイするセッションになりました。

セッション概要

In this workshop, learn how to pair Amazon CloudFront with AWS developer tools like AWS CodeCommit, AWS CodeBuild, and AWS CodePipeline to build a CI/CD pipeline to rapidly deploy a CloudFront distribution. Explore topics like branching and pipeline strategies and how to use blue/green deployments to safely deploy and test your applications on CloudFront. You must bring your laptop to participate.

ワークショップの構成

はじめに講師の方からCloudFrontに関する概要の説明がありました。

また、実際のワークロードでCI/CDパイプラインを実装する場合の一例についても解説がありました。

図にある通り、ツールアカウントを利用することでデプロイ元が統一されて権限管理が楽になりそうでイイなと思いました。

今回はWorkshopのため、アカウントは1つでまとめて縮小した構成でハンズオンを行いました。

ワークショップは2部に構成されてました。(AWS CDKかCloudFormationかの2つの方法を比べる)

内容は以下の通りです。

AWS CDK

  • AWSではCDKの利用がCloudFormationに比べて推奨されている
    • 全てが全てAWS CDKが適切ではない。CloudFormationが適しているケースもある。(2部に解説)
  • CDK アプリの作成
    • cdkコマンドの使い方を解説
  • CloudFront 開発環境のデプロイ
    • 開発環境の作成
    • 疎通確認
  • CDKパイプラインのデプロイ
    • ソース:CodeCommitの変更通知でトリガー
    • cdk synthの実行
    • テンプレートの更新
  • CloudFront 共有環境のデプロイ
  • キャッシュポリシーの変更
    • cdk deployで共通環境へデプロイ
    • キャッシュの確認
  • まとめ

AWS CloudFormationの場合

  • CDKではなく、CloudFormationを利用するケース
    • プログラミング言語のハードル
    • 利用したいプログラミング言語がAWS CDKのサポート範囲外
    • AWS CDKでサポートしていないリソース
  • CloudFront 開発環境のデプロイ
    • 開発環境の作成(AWS CLIコマンドを利用)
  • CodePipeline のデプロイ
  • キャッシュポリシーの変更
    • キャッシュの確認

感想

AWS CDKを利用してパイプラインを組んだことなかったため、大変勉強になりました。

特にパイプラインの部分はとても今後に活かせそうな構成や設定値だったため、もう少し自分の中で深掘りしてみようと思います。

(個人アカウントでも体験いただけるように改修してパブリックに公開予定とのことでした!)

以上、AWS事業本部コンサルティング部のたかくに(@takakuni_)でした!