AWS CDK Conference Japan 2023 2023/05/20
久しぶりのオフライン登壇
View Slide
ブチアゲていこうZE☆
複数AWSアカウントにリソース構築する時どうしてますか?AWS CDK Conference Japan 20232023/05/20
まずあんた誰?
自己紹介本間 崇平アイレット株式会社 アジャイル事業部所属 開発エンジニアホンマ シュウヘイ● 2018年新卒入社(平成最後の新卒)● エンジニアコメディアン (自称)● ドローンなどのIoT系やってる● アジャイル/スクラム開発してる2022・2023受賞歴↓AWS認定資格13個獲得↓
本日言いたいこと
AWS CDKを使いこなし学び続けよ(※楽しみながら)
お品書き1. はじめに2. タイトル回収3. 結論
1.はじめに
ド新規でAWSリソースを作る案件があった
必要なAWS環境
採用時アーキテクチャ● API系はserverless frameworkで管理● フロントやDB系はAmplifyで管理● バッチ処理やCI/CD、非機能まわりのリソースどうするか?
必要なAWSリソースこれ以外も用意するリソースはまだあった...
入社歴が浅い人達ばかりで設計から構築含めて開発者でやる状況
誰がプロジェクトリーダーやるんだよ...
俺がヤる!!
何はともあれ4環境分のリソースをマネコンで用意するべ
いざ作業!
すっっっげぇ構築作業が大変(☝ ՞ਊ ՞)☝
では、どうするべきか
2.タイトル回収
複数AWSアカウントにリソース構築する時どうしてますか?
選択肢は色々ある● マネージメントコンソール● CloudFormationでJSONかYAML● AWS CLI● AWS SDK● TerraformやAnsibleなどの3rd party利用● AWS CDK
今日はCDKのイベントでもあるので
1つの選択肢としてCDK Pipelinesを活用せよ
CDK Pipelinesとは?● CodePipelinesを活用した継続的(CD)パイプライン● ローカルからコマンドしてデプロイしなくて済む● GithubやCodeCommitからコミットデプロイできる● 使いまわしできるようにしておけば新規AWSアカウントにも流用可能● デプロイに時間がかかる● バージョン更新が早いため、保守メンテも早い
CDK Pipelinesを活用した実例
CDK Pipelines使っていこうZE☆
使ったことあるよーって方(^o^)
(・∀・)b イイネ!!
使ったことないよーって方(´・ω・`)
明日からやってみなはれ m9(・∀・)
ここから実際に手順を説明
構築の流れ● cdk initで雛形の作成(TypeScript, Pythonなど)● コーディング○ CDK用のCodePipelineスタック作成○ 比較的作りやすいSQSやS3スタック作成○ 1個以上のAWSリソースを定義しないとエラーになるので要注意● cdk bootstrap○ 初回時だけ、複数のAWSアカウントごとに実行○ QA環境へbootstrapで作成したロールに、Dev環境のAssumeRoleを設定○ bootstapで作成したIAMロールをkmsキーポリシーにも許可● プッシュ or マージ● cdk deploy
パイプラインスタックでCodeCommit用意プロジェクトコードを格納するCodeCommitリポジトリ作成、npx cdk deploy
これで土台が完了
ステージ定義
インフラリソース定義
パイプラインの定義npm install aws-cdk-lib/pipelinesを実行しimportする
ということで
DEMO
AWS構成
動画にて
うおおおおお
3.結論
結論楽してAWS構築を済ませ開発に専念せよ
リアルガチで
楽してAWS構築を済ませ、開発に専念せよ● テンプレートのコードさせ用意してれば使いまわしできて次回も楽● バージョンアップデートが早いため定期的にCheckしておく● CDKは今回紹介できてない機能もまだまだあるので用途に応じて使う結論
今日の発表内容じゃわからないよー(*_*)他の言語の手順も知りたいよー(*_*)って方
Don’t worry
Workshopありますよhttps://cdkworkshop.com/ja/
CDK Pipelinesを活用することで構築作業が楽になる
最後に言いたいことAWS CDKを使いこなし学び続けよ(※楽しみながら)
最高のCDK開発体験をしてみようZE☆
完