aws cdkとは
AWS CDKとは一言で言うと、「コードでインフラを定義できるフレームワーク」です。
awsの公式のものも載せておきます。
AWS クラウド開発キット (AWS CDK) は、最新のプログラミング言語を使用してクラウドインフラストラクチャをコードとして定義し、それを AWS CloudFormation を通じてデプロイするためのオープンソースのソフトウェア開発フレームワークです。
https://aws.amazon.com/jp/cdk/faqs/
マネジメントコンソールでポチポチやるのも良いのですが、自分がやったものを同僚に再構築してもらう時などミスが生じることもあると思います。
CDKならばミスも減らせるし、時間短縮のもなるので入門してみました。
CDKはCloudFormationの知識が必要になりますので、最低限どのようなものかぐらいは把握しておくとよいでしょう。
この記事ではmacでaws cdkを導入して、Typescriptでs3バケットを作成するところまでやっていきたいと思います。
環境構築
CDKを動かすには、Node.js(10.3.0以上)とAWS CLIのインストールする必要があります。
自分の環境はこちら
- Node.js – 14.16.0
- CDK – 1.115.0
- CLI – 2.1.34
- mac – Catalina(10.15.7)
Node.jsとCLIのインストールは、
Node.js – https://nodejs.org/ja/
AWS CLI – https://docs.aws.amazon.com/ja_jp/cdk/latest/guide/cli.html
公式サイトを参考にしてください。
aws cdkをグローバルでインストールします。
npm install -g aws-cdk
cdk --version # バージョン確認
CDK構築
cdkコマンドの詳細は、公式ドキュメントで確認してください。
cdk_projectディレクトリを作り、そこに構築していきます。
今回はtypescriptで構築していきます。
cdk init コマンドでプロジェクトを構築します。
mkdir cdk_project
cd cdk_project
cdk init app --language=typescript
初期ファイルが作成されます。dir構造は以下です。
S3のバケットを作成するので、
まず、S3のパッケージをインストールします。
npm install @aws-cdk/aws-s3@1.115.0
基本的に、lib/cdk-project-stack.tsにコードを追記していきます。
lib/cdk-project-stack.ts
bucketNameを指定していますが、ユニークである必要があるので適宜変更してください。
import * as cdk from '@aws-cdk/core';
import * as s3 from '@aws-cdk/aws-s3';
export class CdkProjectStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
// 追記
const bucket = new s3.Bucket(this, 'testBucket', {
bucketName: 'test-bucket-16780'
});
}
}
コードを追記したら、
npm run build
をすると、jsファイルができます。
次にAWS環境にデプロイします。
cdk deploy
これで終わりです!
AWSマネジメントコンソールで、s3バケットが作成されているか確認してみてください。
コメント