スポンサーリンク

AWS CDK入門TypescriptでさくっとS3バケットを構築してみた

IT
この記事を読めばわかること
  • AWS CDKを導入する方法
  • AWS CDKを使用してs3 bucketを作成する方法
スポンサーリンク

aws cdkとは

AWS CDKとは一言で言うと、「コードでインフラを定義できるフレームワーク」です。

awsの公式のものも載せておきます。

AWS クラウド開発キット (AWS CDK) は、最新のプログラミング言語を使用してクラウドインフラストラクチャをコードとして定義し、それを AWS CloudFormation を通じてデプロイするためのオープンソースのソフトウェア開発フレームワークです。

https://aws.amazon.com/jp/cdk/faqs/

マネジメントコンソールでポチポチやるのも良いのですが、自分がやったものを同僚に再構築してもらう時などミスが生じることもあると思います。

CDKならばミスも減らせるし、時間短縮のもなるので入門してみました。

CDKはCloudFormationの知識が必要になりますので、最低限どのようなものかぐらいは把握しておくとよいでしょう。

AWS CloudFormation(テンプレートを使ったリソースのモデル化と管理)| AWS
AWS CloudFormation は、AWS やサードパーティーのリソースを簡単にモデル化、プロビジョニング、管理することができる Infrastructure as Code (IaC) サービスです。

この記事では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コマンドの詳細は、公式ドキュメントで確認してください。

AWS CDK Toolkit (cdk command) - AWS Cloud Development Kit (AWS CDK) v2
The AWS CDK Toolkit, the CLI command cdk , is the primary tool for interacting with your AWS CDK app. It executes your app, interrogates the application model y...

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バケットが作成されているか確認してみてください。

コメント

タイトルとURLをコピーしました