2023.10.15最終更新日:
2023.10.15
今回はAWS CDKに入門したので、その際の開発環境構築の方法を議事録を兼ねて記事にしました。
基本的には以下の記事を参考にさせていただいていますが、本記事ではそれぞれの概念の説明も補足的に含めていますので、ご参考までにご活用ください。
AWS CDKチュートリアル(1) 環境構築|SHIFT Group 技術ブログはじめに こんにちは、株式会社SHIFT DAAE部の栗山です。今回からAWS CDKのチュートリアルを執筆していきたいと思います。 第1本目の今回はCDKの環境構築方法の解説です。 本来であればnote.com
想定する読者
- AWS CDKに関してキャッチアップしたい。
- AWS CDK (TypeScript) の開発環境の構築手順が知りたい。
前提条件
- お使いのローカル開発環境にNode.jsがインストールされている。
- AWSアカウントを持っている。
- AWS IAMユーザーを作成している。
AWS CDKとは?
本題に入る前に、そもそもAWS CDKとは何なのかについてざっくり解説したいと思います。
AWS Cloud Development Kit (AWS CDK) はTypeScript, JavaScript, Pythonなどのプログラミング言語を使用してインフラのリソースをコードで管理できるようにする仕組みのことで、いわゆる「Infrastructure as Code」と呼ばれるものの一つです。
インフラをコード化する技術・手段としては、CDKの他にもTerraformなどが挙げられます。
Terraformは1つのプロバイダー(AWS, GCP, Azure等)に依存することなく、他のプロバイダーのクラウドインフラを扱える点ではメリットがありますが、CDKはAWS環境において最適化されているので、AWSを扱う場合はCDKを用いるのが良いと言えます。
CDKの簡単な概要の説明は以上になりますので、以下でAWS CDK (TypeScript) の開発環境構築の手順に入っていきたいと思います。
AWS CLIのインストール
まず、AWS CLIをインストールします。
Node.jsがインストールされていることを確認してください。
bash$ node -v v18.16.0
続いて、AWS CLIがインストールされていないことを確認した上で、インストールしていきます。
なお、AWS公式を参考に最新の手順でインストールを完了させてください。
(以下、Mac OS向けの手順:Windows、その他の手順に関しては公式を参考にしてください。)
bash$ aws –-version Command 'aws' not found
bash$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
bash$ sudo installer -pkg AWSCLIV2.pkg -target /
インストールが完了したら、一度ターミナルを再起動し、以下でインストールされていることを確認します。
(バージョン等は異なっていても問題ありません。)
bash$ which aws /usr/local/bin/aws $ aws --version aws-cli/2.10.0 Python/3.11.2 Darwin/18.7.0 botocore/2.4.5
AWS CLIの初期設定
続いて、インストールしたAWS CLIの初期設定を行います。
なお、AWS IAMのユーザーが作成されていることを前提に進めますので、IAMユーザーを作成されていない場合は、こちらを参考にIAMユーザーの作成を完了させてください。
はじめに、お使いのIAMユーザーの
- Secret Access Key
- Access Key ID
を取得します。
取得方法はAWS公式の手順を参考に取得するようにしてください。(AWS アカウントとアクセスキー )
取得が完了したら、以下のコマンドで取得した情報を入力していきます。
bash$ aws configure AWS Access Key ID [None]: アクセスキー AWS Secret Access Key [None]: アクセスキーのシークレット Default region name [None]: ap-northeast-1 Default output format [None]: json
Default region Name
と Default output format
は任意のもので問題ありませんが、基本的には上記の設定で問題ないかと思います。
以下のコマンドでAWS CLIの設定がされたことを確認します。
bash$ aws ec2 describe-vpcs { "Vpcs": [ { (省略)
describe-vpcsコマンドの結果が出力されれば、AWS CLIの初期設定は完了です。
CDKのインストール
CDKをローカルにインストールしていきます。
以下のコマンドでインストールを完了させ、実際にインストールされているかを確認します。
(バージョンが表示されればインストール完了です。)
bash$ sudo npm install -g aws-cdk $ cdk --version 2.44.0 (build bf32cb1)
CDKの初期設定
CDKのインストールが完了しましたら、bootstrapping (ブートストラッピング) という初期設定が必要です。
ブートストラップとは、新しくCDKのアプリケーションをデプロイする際に最初の1回だけ実行する必要がある呪文のようなものです。
このコマンドを実行することで、CDKアプリケーションのデプロイに必要な周辺リソースが自動的に作成されます。
まず、以下のコマンドでbootstrappingに必要な設定情報を取得します。
bash$ aws sts get-caller-identity { "UserId": "【ユーザーID】", "Account": "ACCOUNT-NUMBER", "Arn": "arn:aws:iam::ACCOUNT-NUMBER:user/【ユーザー名】" }
こちらで取得した情報のうち、ACCOUNT-NUMBER
の情報を用います。
以下のコマンドでブートストラップを行います。
bash$ cdk bootstrap aws://ACCOUNT-NUMBER/REGION
REGIONは使用するリージョン(ap-northeast-1など)を設定してください。
以上でAWS CDKのインストール・初期設定は完了です。
CDKのプロジェクトを作成する
ここまでの環境構築が完了したところで、続いてCDKのプロジェクトを作成していきます。今回用いる言語はタイトルにもありますように、TypeScriptを用いて行っていきます。
CDKの開発自体、TypeScriptで行われていることもあり、CDKのドキュメントや技術記事等もTypeScriptで解説されているものが多いのでおすすめです。
それでは、任意のディレクトリに移動した状態で、以下のコマンドを実行します。
bash$ cdk init --language typescript SampleCdk
作成作成したディレクトリに移動して、パッケージをインストールします。 (インストール方法はお使いのパッケージマネージャーに従ってください。)
bash$ yarn or $ npm i or pnpm i
ここまでが、AWS CDKの環境構築になります。 実際にリソースを作成してデプロイする流れまでを知りたい方は以下のAWS CDK Workshopを参考に動かしてみることをお勧めします。
ここまで読んでいただきありがとうございました。 SNSのフォロー・記事のシェアもよろしくお願いします。
See You !!