CDKなどの環境準備

node の準備

cdk は nodejs が必要となります。

nodenv,nvm,asdfなどで node 環境を整えてください。

一番手順が少ない nvm を例としています。慣れていれば asdf などで管理するのが良いかもしれません。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

terminal を立ち上げ直す or rc ファイルを読み込ます。利用している shell によって変えてください。

source ~/.bashrc

v14.19.0をインストールします。

nvm install v14.19.0

使用するバージョンを指定します。

nvm use 14

npm のアップデートを行います。

npm i -g npm@latest

aws-cli の設定

awscli がない場合は brew で install します。

brew install awscli

profile と region の設定を確認します。

cat ~/.aws/config
[profile default]
region = us-east-1
cli_pager =

default以外の profile を利用している場合は環境変数を設定して切り替えします。

export AWS_PROFILE=myprofile

現在の aws の設定を確認します。

aws configure list

認証が問題ないかを確認します。

aws sts get-caller-identity
{
    "UserId": "AIXXXXXXXXXXXXX",
    "Account": "123456789012",
    "Arn": "arn:aws:iam::123456789012:user/myname"
}

vscode

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

IDE は vscode がとてもはかどります。

extensions の検索欄からaws toolkitを入力し、候補を選んで install します。

vscode extension aws_toolkit

cdk は preview で対応しています。 vscode extension aws_toolkit

docker

lambda を build したりローカルでデバッグする際に docker が必要です。

公式からダウンロードしてインストールしてください。 https://www.docker.com/get-started

docker info

sam-cli

lambda をローカルで起動する際に利用します。

aws sam cli のインストール

brew tap aws/tap
brew install aws-sam-cli

install cdk

npm install -g aws-cdk
cdk --version

2022/03/08 時点の最新バージョン 2.15.0 (build 151055e)

cdk で利用する asset などのアップロード先の s3 を作成する stack を作成します。

cdk bootstrap

各リージョンで cdk を初めて利用するときにだけ実行する

プロジェクトのダウンロード

リポジトリを clone します。

git clone https://github.com/hacker65536/awscost
cd awscost

モジュールの install をします。

npm i

cdk.context.jsonの slacktoken と slackchannel を自分のものに置き換えます。

{
  "acknowledged-issue-numbers": [
    19179
  ],
  "CurReportName": "o11y2022-cur",
  "CurBucketName": "curstack-curs314accc54-11r6gudrh8rst",
  "AthenaWorkGroupName": "awscost"
}

CurReportNameCurBucketNameにすでに作られた cost & usage reportの名前とs3のbucket名を入力してください。

AthenaWorkGroupNameはわかりやすいworkgroup名を指定してください。