0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ひろ亭Advent Calendar 2024

Day 2

AWS CDKのインストールとセットアップ

Posted at

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の基本概念の理解や実際にコードを作成して、デプロイしていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?