CDKでインフラとコードを 一緒にデプロイしてみよう(CDKでLambdaをデプロイしてみた)
まえおき 今週の水曜日に開催された JAWS-UG 初心者支部の勉強会(#44) に参加した。今回はAWS Builders Online Series recap2 ということで AWS Builders Online SeriesのTrack2 開発者向けAWS入門に関する内容の勉強会だった。私は「CDKでLambdaをデプロイしてみた」をタイトルでLT発表をした。せっかくなので(ブログのアクセスを増やすためにも(笑))ここにもブログ版としても書いてみる。 当時発表した発表版はこちら。 サービス紹介 デプロイをする前に、今回使うサービスの紹介を簡単にする。 AWS CDKとは AWS Cloud Development Kit(AWS クラウド開発キット) と呼ばれ、慣れたプログラミング言語でAWSリソースを定義できるフレームワークである。プログラミング言語が利用できるので、プログラミング言語の知識と表現力を使用できるのが特徴で、例えばCloudFormationでは利用が難しいif文(条件関数があるけど、複雑に作るのは難しい)やfor文を利用できる。また、言語もCDKライブラリについてもエディターの補完が聞いたり、AWSのベストプラクティスがデフォルト値として入っているため、コード記述量が少なくなるというメリットもある。ただし、CDKコードがそのままAWS環境にデプロイされるわけではなく、CloudFormationのテンプレートに変換されて、AWS環境にデプロイされる仕組みとなっている。 AWS CDK紹介ページより( https://aws.amazon.com/jp/cdk/ ) AWS Lambdaとは AWS Lambda はサーバーレスでプログラムを実行できるAWSのサービスで、サーバーレスの名前通りにサーバーがないので、インフラ周りのプロビジョニングや管理が不要である。また、リクエスト数に応じて自動スケールしたり、様々なAWSサービスと連携が便利という特徴を持っている。課金もリクエスト数&実行時間という利用した分だけ払えばいい構造となっている。 AWS Lambda紹介ページより( https://aws.amazon.com/jp/lambda/ ) 写真をS3バケットに入れるとLambdaがトリガー...