「AWS Cloud Development Kit」に対応した Python コードを実践!

AWS運用自動化サービス「Cloud Automator」

技術2課の多田です.

以前,「AWS Cloud Development Kit」(以下、CDK)の記事を書きました.当時は対応言語に Python がサポートされてませんでしたが, Amazon Web Services ブログで Python 対応アナウンスがありましたので,早速, Python で CDK を使ってみます。

Amazon Web Services ブログ記事

AWS クラウド開発キット (CDK) – TypeScript と Python 用がご利用可能に

関連記事

オンラインワークショップでAWS CDK を体験する

チュートリアルプロジェクトの実行

初期設定

下記のチュートリアルに沿って CDK を実行します. プロジェクトを初期化し、pip install -r requirements.txtでライブラリをインストールします.

Hello World Tutorial

因みにプロジェクトを作ると以下のようなディレクトリ構造が作成されます.Python のコードで構成されているのがわかります.

デプロイ

次にデプロイをしていきます。まずcdk synthで CloudFormation テンプレートを合成し,次にcdk deployでデプロイをします.

CloudFormationのスタックが完成していました.バージョニングと暗号化したS3バケットを作るのみですがサクッと作れました.

後片付け

作成したリソースの削除はcdk destroyで完結します.

 

Pulumi との利用比較

CDK」と似たようなツールとして「Pulumi」があります.「Pulumi」も JavaScript,Golang,TypeScriptの他に Python に対応したプログラミング言語でのプロビジョニングツールです.最後に2つのツールを使い分けていくにあたって利用比較を自分なりに調べてみたものをまとめます。

関連記事

Infrastructure as Codeのホープ、Pulumiを試す

Pulumi と CDK の比較

  • Pulumi」のプロビジョニングはマルチクラウド対応しているが, 「CDK」のプロビジョニングは AWS対応のみ
  • Pulumi」は利用形態に応じて利用料がかかるが, 「CDK」は利用料不要で利用可能
  • Pulumi」には独自 GUI 管理の画面があるが, 「CDK」は管理画面はなくターミナルでの操作中心

自分はAWS を普段使うため引き続き「CDK」でのプロビジョニングの勉強をしていきます.

まとめ

CDK」の Python 対応したコードを試してみました.Python のコードの情報が出てきているのでこれは Python で AWS を利用している人にとっては朗報かと思います.僕もしっかり使いこなして Python でアプリケーションの開発,デプロイまで完結できるようにドキュメントを読み込んだり,実践していきたいです!

CDK の関連情報

公式ドキュメント(Get Started)

Getting Started With the AWS CDK

リファレンスドキュメント

AWS CDK Reference Documentation

Python のサンプルコード

aws-samples/aws-cdk-examples

AWS運用自動化サービス「Cloud Automator」