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

CDK はインフラ初心者にも優しいのか

Last updated at Posted at 2025-02-03

私「インフラは昔よりも簡単になっているらしい。」

AWS CDK とは?

  • インフラをコードとして定義するためのツール(IaC)
  • AWS CloudFormationテンプレートにコンパイルしてデプロイするためのフレームワーク
  • 直感的かつ効率的にAWSインフラのプロビジョニングを行う

私「インフラをコードで管理が、時代の流れなんだな。」

他に似たようなのは?

  • Teraform
  • Serverless Framework

私「テラフォームは、何かのニュースで聞いたことある。使ってみよう」

前提を揃える

AWS CLI を使える必要がある(Macの場合)

% brew install awscli

バージョン確認

% aws --version      
> aws-cli/2.23.11

OK

まず管理者権限

以降はAWSの管理者権限が使える必要あります。
チームで使っている環境ではできないので個人の環境を使います。
※もちろん具体的なキーは伏せてあります。

AWS環境変数を設定する

% export AWS_ACCESS_KEY_ID=""
% export AWS_SECRET_ACCESS_KEY=""
% export AWS_SESSION_TOKEN=""

~/.aws/credentials を開いて記入する

[AdministratorAccess]
aws_access_key_id=
aws_secret_access_key=
aws_session_token=

サービスクライアントにアクセスキーを追加

% aws configure
AWS Access Key ID [None]: 
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]: 

私「output format? って何だろな」

開発言語

開発する言語、TSをインストールする。

% npm -g install typescript

バージョン確認

% tsc -v                   
> Version 5.7.3

OK

CDK CLIをインストールする

% npm install -g aws-cdk

バージョン確認

% cdk --version
> 2.177.0

OK

なにかリポジトリを用意

勉強用のリポジトリを git clone しました。

% git clone (your Repository)

JSで書かれてたので、中身に、package.json があります。
ということは node_modules が必要だと思います。

% npm install

CDK.json

cdk.jsonを使って構成を管理するものらしいです。

cd /path/to/cdk.json

※正確には、cdk.jsonがある所まで行かないと、cdkコマンドは動かない。

CDK bootstrap

最初に初期設定を作っておく。

% npx cdk bootstrap --context environment=dev

CDKToolkit: creating CloudFormation changeset...
Environment aws://xxxxxxxxxxxxx/xx-xxxxx-1 bootstrapped.

デプロイ

cdk.json で設定された通りの構成

% npx cdk deploy --context environment=dev

Do you wish to deploy these changes (y/n)? y

Deployment time: 160.29s

デプロイされた

AWS CloudFormationを見に行く

テンプレートに変換され、いろいろなAWSのサービスに
インスタンスが立ち上がったりしている。

停止方法

止め方わかんないな。AWSのBillingが心配だ。

% npx cdk destroy --context environment=dev

これで止まる。間違えて、本番環境のKeyを持っている時に
destroy を使わないようにしましょう。

結論

AWS CDK めっちゃ使いやすい。

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