本文へ移動
Unlogical Systems

Ctrl / ⌘ + K でも開けます

    Unlogical Systems

    AWS CDK を採用する理由

    AWS CDKは、AWSのインフラ構成をTypeScriptなどのプログラミング言語で記述し、自動で構築するためのツールです。弊社がアプリケーションとインフラを同じ言語で管理するためにAWS CDKを採用する理由と保守の考え方を解説します。

    AWS CDKとは

    AWS CDK(Cloud Development Kit)は、AWSのインフラ構成をTypeScriptなどの一般的なプログラミング言語で記述し、自動で構築・変更するためのツールです。記述した内容は内部でAWS CloudFormationの定義に変換され、AWSの標準的な仕組みで適用されます。専用の設定言語を使うTerraformと異なり、プログラミング言語の機能をそのまま使えるため、繰り返しの構成や条件分岐を簡潔に書け、よく使う構成を部品として再利用できます。AWSが公式に提供・保守しているため、新しいサービスへの対応も早いのが特徴です。

    弊社が採用する理由

    弊社では、Next.jsやFastifyなどTypeScriptでアプリケーションを開発する案件で、AWSのインフラ構成をAWS CDKで管理しています。採用の理由は、アプリケーションとインフラを同じ言語で書けるため、開発者が構成を読み書きしやすく、画面やサーバーの変更とインフラの変更を同じ流れで扱えることです。たとえばコンテナの実行環境、データベース、ファイル保存、メール送信、非同期処理の受け渡しといった構成を、型の補完を受けながら記述でき、誤った設定はコードの段階で検出できます。適用はCloudFormationの仕組みを通るため、変更の履歴と切り戻しがAWSの標準機能で管理されます。複数のサービスをまたぐ構成や、汎用性を重視する案件ではTerraformを選ぶこともあり、チームの言語の慣れと構成の性質で使い分けています。

    向いている案件

    • TypeScriptで開発するアプリケーションのAWS環境の構築
    • コンテナやサーバーレスなどAWS固有のサービスを多く使う構成
    • よく使う構成を部品化して複数の案件・環境で再利用したい場合

    保守・移行の観点

    AWS CDK本体と構成部品のライブラリは更新頻度が高く、更新によって生成される構成に差分が生じることがあります。更新後は差分の確認を行い、意図しない変更がないことを確かめてから適用します。内部で使われるCloudFormationの制約を受けるため、変更内容によっては資源の作り直しが発生することがあり、データベースなど消えては困る資源には削除防止の設定を入れておきます。アプリケーションと同じリポジトリで管理する場合は、依存関係の棚卸しをアプリケーションと合わせて計画すると効率的です。

    組み合わせて使う技術

    よくあるご質問

    AWS CDKで作った環境は、他社でも保守できますか?

    AWS CDKはAWSが公式に提供するツールで、TypeScriptで記述されているため、AWSとTypeScriptを扱える開発会社であれば対応できます。構成の説明資料も納品物に含めています。

    CloudFormationを直接書くのとどう違いますか?

    AWS CDKはCloudFormationの定義をプログラミング言語で生成する仕組みです。記述量が減り、再利用や条件分岐が書きやすくなる一方、適用の仕組み自体はCloudFormationと同じです。

    関連するサービス

    関連する開発ガイド

    関連用語: ステージング環境保守運用

    監修: Unlogical Systems合同会社杉並区・西荻窪)公開

    まずは現場のエンジニアにご相談ください

    営業担当ではなく、実際に設計・開発を行うエンジニアが直接お答えします。ご相談・お見積りは無料、1営業日以内にご回答いたします。

    無料でご相談・お見積り

    資料の添付は、送信後に届く受付メールへの返信でお送りいただけます。

    相談・見積りは無料
    1営業日以内にご回答します

    無料で相談する