AWS CDK 再勉強の2日目は、インストールとセットアップの確認から始めます。
筆者は Python を利用することが多いので、Python を使って AWS CDK 始めるための準備から、初期プロジェクトの作成までを解説します。
準備するもの
必要なツール
AWS CDK を使用するために準備が必要なツールは以下の通りです。
- Node.js(14.15.0以降)
- npm
- AWS CLI
また、 Python を利用するので、以下が必要です。
- virutalenv を含む Python3.7
- pip
そして、 AWS CDK 本体です。
Node.js
AWS CDK は Node.js ランタイムで動作するため、最新版の Node.js をインストールしてください。
Node.js公式サイトからダウンロードできます。
npm
Node.js に同梱されるパッケージ管理ツールです。
Node.js のインストールと一緒に利用できます。
AWS CLI
コマンドラインインターフェースを使って AWS サービスを管理するためのツールです。
AWS CLI のインストール方法は AWS CLI 公式ドキュメント をご参考ください。
Python
Python公式サイトからダウンロードしてインストールします。
pip
PyPi で公開されている手順、インストーラを使用してインストールします。
https://pip.pypa.io/en/stable/installation/
AWS CLI の設定
必要に応じて、 AWS CLI で AWS リソースの作成や操作ができるように設定をしておきます。
これには、環境変数の設定や aws configure
コマンドの実行などを行います。
作業用 EC2 インスタンスを利用する場合は、EC2 インスタンスに割り当てられた インスタンスプロファイル(IAM ロール)を利用するケースも考えられますが、ここでは一例として、手元のラップトップなどのローカル環境で IAM ユーザーのシークレット情報を永続化させて使うケースを記載します。
使用するもの
- IAM ユーザーのアクセスキー
- IAM ユーザーのシークレットアクセスキー
実行するコマンド(対話形式なので aws configure
を実行したら画面に従って入力していく)
$ aws configure
AWS Access Key ID [None]: <IAM ユーザーのアクセスキーを入力する>
AWS Secret Access Key [None]: <IAM ユーザーのシークレットアクセスキーを入力する>
Default region name [None]: <デフォルトリージョンを入力する。東京リージョンなら ap-northeast-1>
Default output format [None]: <実行後の出力形式を指定。>
これで AWS CDK を利用する下準備ができました。
AWS CDKのインストール
AWS CDK をグローバルインストールするには、次のコマンドを実行します。
必要に応じて、sudo
を付与して管理者権限で実行してください。
npm install -g aws-cdk
- npm install は npm パッケージをインストールするコマンドです
- -g オプションは、グローバルインストールを指定しており、AWS CDK を全システムで利用可能にします
インストール完了後、次のコマンドを実行して、正しくインストールされたかを確認します。
$ cdk --version
2.173.2 (build f8e6207)
記事執筆時点では、 2.173.2 が最新バージョンのようです。
初期プロジェクトの作成
AWS CDK の初期プロジェクトを作成するには、開発用に使うディレクトリへ移動してから、以下のコマンドを実行します。
cdk init app --language python
続いて、Python から AWS CDK のモジュールを参照するために、以下のコマンドを実行します。
こちらも、必要に応じて、 sudo
をつけて管理者権限で実行してください。
pip3 install -r requirements.txt
ディレクトリ構造の解説
初期プロジェクト作成後には、次のようなディレクトリ構造が作成されます。
環境によってはないファイルやフォルダもあるかもしれませんが、末尾に * がついているものは基本的にあると考えてください。
test-cdk/
|-- app.py *
|-- cdk.json *
|-- .git/
|-- .gitignore *
|-- README.md *
|-- requirements.txt *
|-- requirements-dev.txt
|-- test_cdk
|-- tests
|-- .venv/ *
重要なのは以下の3ファイルです。
- app.py: CDK アプリケーションのエントリーポイントです。このファイルにコーディングしていきます
- cdk.json: CDK のコンフィグファイルです
- requirements.txt: Python デプロイメントのパッケージ管理用ファイルです
動作確認
プロジェクトが正しく作成されたかを確認するために、以下のコマンドを実行します。
cdk synth の実行
cdk synth
cdk synth
は、CDK スタックから CloudFormation テンプレートを生成します。初期プロジェクトを作成した時点で、app.py に基礎となるコードが書き込まれているので、このコードからテンプレートが生成できれば、設定が正しく行われているかを確認できます。
まとめ
この記事では、AWS CDK を利用するための環境構築手順を解説しました。
次回以降は、AWS CDKの基本概念の理解や実際にコードを作成して、デプロイしていきます。