はじめに
本記事ではコンテナを使ってCDK環境を構築する内容になります。
試行錯誤をした上で実現できた内容になりますので、拙い箇所が多々ありますが都度メンテナンスしていきますのでご了承ください。
目次
- コンテナ環境を準備をする
- AWS CDK環境構築をする
- プロジェクトを作成する
- まとめ
コンテナ環境を準備をする
まず最初にコンテナ環境の準備をしていきたいと思います。
事前に必要な物はこちらになります。
項目 | 説明 |
---|---|
vscode | 皆大好きコードエディタ |
Dev Containers | vscodeの拡張機能 |
Docker | コンテナ型仮想環境用のプラットフォーム |
上記のインストール方法については本ブログでは対象外とさせてください。
作業用のディレクトリを作成する
コンテナ環境用にディレクトリを作成します。
mkdir aws-cdk-containa-container
さらに、作成したディレクトリの中に以下ディレクトリを作成します。
mkdir .devcontainer
Dockerfileを作成する
.devcontainerの中にDockerfileを作成します。
ベースイメージはubuntuを指定し、cdk環境に必要なパッケージを事前にインストールしておきます。
# ベースイメージとしてUbuntuを使用
FROM ubuntu:latest
# パッケージリストを更新し、Node.jsとnpmをインストール
RUN apt update && \
apt install -y nodejs npm
# AWS CLIをインストール
RUN apt update && \
apt install -y curl unzip && \
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install
# TypeScriptをグローバルにインストール
RUN npm install -g typescript
# AWS CDKをグローバルにインストール
RUN npm install -g aws-cdk
# 作業ディレクトリの設定
WORKDIR /workspace
# コンテナのエントリーポイントとしてBashを起動
CMD ["/bin/bash"]
devcontainer.jsonを作成する
devcontainer.json は、Visual Studio Code(VS Code)で開発環境をコンテナ化する際に使用される設定ファイルです。
このファイルに
- イメージのビルド
- バインドマウント
を記述しておきます。
{
// 開発コンテナの名前を定義する
"name": "aws-cdk-container",
"workspaceFolder": "/workspace",
// 指定されたDockerfileを使用して開発コンテナのイメージをビルドする
"build": {
"dockerfile": "Dockerfile"
},
// ホストのディレクトリをコンテナ内のディレクトリにバインドマウントする設定
"mounts": [
"source=/aws-cdk-containa-container,target=/workspace,type=bind"
]
}
vscodeからコンテナにリモート接続する
最後にvscodeからコンテナを起動し、リモート接続していきます。
- vscodeで「cmd + p」を押下
- 「>Dev Containers: Open Folder in Container」と入力してEnter
コンテナが起動しますので、少し待ちます。
ターミナルにてコマンドラインが表示されたら完了となります。
AWS CDK環境を構築する
では、CDKを始めるためのセットアップ作業をしていきましょう。
AWS CLIの設定を行う
認証情報を設定していきます。
aws configure
項目 | 説明 |
---|---|
AWS Access Key ID | IAMユーザーのアクセスキー |
AWS Secret Access Key | IAMユーザーのシークレットキー |
Default region name | 作成したいリージョン |
Default output format | json |
アクセスキー/シークレットキーは
- 右上のIAMユーザー名をクリック
- セキュリティ認証情報をクリック
- アクセスキーを作成
で取得することができます。
下記コマンドで設定した内容を確認することができます。
aws configure list
これにて、準備作業は完了になります。
プロジェクトを作成する
では、いよいよAWS CDK環境を構築していきます。
AWS CDK用の作業ディレクトリを作成する
cdkプロジェクトを作成するためのディレクトリを用意します。
以降このディレクトリで作業していきます。
mkdir cdk
CDKプロジェクトを作成
ではお待ちかねのcdkプロジェクトを作成していきましょう!
languageにはtypescriptを指定します。
cdk init app --language typescript
これで環境構築は完了となります。
まとめ
今回はコンテナ環境でCDK環境を構築してみましたが、.devcontainer.jsonの知識が無かったので苦労しました汗
ですが、仮想環境での制作環境は整いましたので苦労した甲斐がありました!
これからはTypescriptでガシガシリソース作成をメインにブログ投稿していきたいと思います。
では、またノシ