AWS CDK v2 で Lambda関数のデプロイ
2022-02-234 min read
目次
概要
AWS CDK v2 で TypeScriptでコードを実装し、Lambdaにデプロイする所までを行いました。
全てtypescriptで実装しています。
環境
- AWS CDK 2.13.0 (build b0b744d)
- macOS 12.1
- node v17.5.0
- typescript 4.3.5
初期化
まずは事前に次の作業を行なっておきます。
- awsのcredential情報を適切に設定する
- Dockerインストール
その上で、以下の操作で環境を初期化します。
bootstrapを行うことで、CDK ToolkitをAWSにデプロイします。
npm install -g aws-cdk
cdk bootstrap
次のように表示されれば成功です。
✅ Environment aws://790131586983/ap-northeast-1 bootstrapped.
プロジェクト作成〜Lambdaデプロイ
プロジェクト初期化
以下のコマンドでローカルにプロジェクトを構築します。
mkdir cdkapp
cd cdkapp
cdk init app --language typescript
Lambda実装
src/lambda/index.ts
に次の内容を記載します。
これがLambdaで動くコードとなります。
import { Handler } from 'aws-lambda';
export const handler: Handler = async () => {
console.log('Hello Lambda!');
};
Stack作成
lib/cdkapp-stack.ts
に次の内容を記載します。
import { Stack, StackProps } from 'aws-cdk-lib';
import * as lambdaNodejs from 'aws-cdk-lib/aws-lambda-nodejs';
import { Construct } from 'constructs';
export class CdkappStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
new lambdaNodejs.NodejsFunction(this, 'HelloFunction', {
entry: 'src/lambda/index.ts',
});
}
}
デプロイ
次のコマンドでデプロイします。
cdk deploy
マネジメントコンソール上で関数が反映されていることを確認できたらOKです。
削除
環境をきれいにしたくなったら次のコマンドで削除します。
cdk destroy
付録1: CDK v2 で利用できるコマンド
cdk --help
で確認できます。
cdk list [STACKS..]
- 全てのスタックの表示
cdk synthesize [STACKS..]
orcdk synth [STACKS..]
- CloudFormationファイルの生成
cdk bootstrap [ENVIRONMENTS..]
- CDK Toolkitを利用するAWS環境にデプロイ
cdk deploy [STACKS..]
- スタックのデプロイ
cdk watch [STACKS..]
deploy --watch
の省略形
cdk destroy [STACKS..]
- スタックの破棄
cdk diff [STACKS..]
- ローカルで定義しているスタックとAWS環境に展開されているものとの差分を表示
cdk metadata [STACK]
- スタックに関連付けられているすべてのメタデータの表示
cdk init [TEMPLATE]
- CDKプロジェクトの作成
- cdk context
- キャッシュされたコンテキストの管理
cdk docs
orcdk doc
- ブラウザでリファレンスの表示
cdk doctor
- 潜在的な問題の確認
参考にしたサイト
Recommends
New Posts
Hot posts!
Date
Tags
(110)
(54)
(54)
(47)
(45)
(36)
(30)
(29)
(24)
(24)
(22)
(21)
(21)
(20)
(19)
(17)
(16)
(16)
(15)
(14)
(12)
(12)
(12)
(12)
(12)
(12)
(11)
(10)
(10)
(10)
(10)
(10)
(9)
(9)
(8)
(8)
(8)
(8)
(7)
(7)
(6)
(6)
(6)
(6)
(6)
(5)
(5)
(5)
(5)
(4)
Author