1
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?

【AWS CDK】コンテナにCDK環境を構築してみた!

Posted at

はじめに

本記事ではコンテナを使ってCDK環境を構築する内容になります。
試行錯誤をした上で実現できた内容になりますので、拙い箇所が多々ありますが都度メンテナンスしていきますのでご了承ください。

目次

  1. コンテナ環境を準備をする
  2. AWS CDK環境構築をする
  3. プロジェクトを作成する
  4. まとめ

コンテナ環境を準備をする

まず最初にコンテナ環境の準備をしていきたいと思います。
事前に必要な物はこちらになります。

項目 説明
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からコンテナを起動し、リモート接続していきます。

  1. vscodeで「cmd + p」を押下
  2. 「>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

アクセスキー/シークレットキーは

  1. 右上のIAMユーザー名をクリック
  2. セキュリティ認証情報をクリック
  3. アクセスキーを作成
    で取得することができます。

下記コマンドで設定した内容を確認することができます。

aws configure list

これにて、準備作業は完了になります。

プロジェクトを作成する

では、いよいよAWS CDK環境を構築していきます。

AWS CDK用の作業ディレクトリを作成する

cdkプロジェクトを作成するためのディレクトリを用意します。
以降このディレクトリで作業していきます。

mkdir cdk

CDKプロジェクトを作成

ではお待ちかねのcdkプロジェクトを作成していきましょう!
languageにはtypescriptを指定します。

cdk init app --language typescript

これで環境構築は完了となります。

まとめ

今回はコンテナ環境でCDK環境を構築してみましたが、.devcontainer.jsonの知識が無かったので苦労しました汗
ですが、仮想環境での制作環境は整いましたので苦労した甲斐がありました!
これからはTypescriptでガシガシリソース作成をメインにブログ投稿していきたいと思います。

では、またノシ

1
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
1
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?