Slide 1

Slide 1 text

久しぶりのオフライン登壇

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

ブチアゲていこうZE☆

Slide 4

Slide 4 text

複数AWSアカウントに リソース構築する時 どうしてますか? AWS CDK Conference Japan 2023 2023/05/20

Slide 5

Slide 5 text

まずあんた誰?

Slide 6

Slide 6 text

自己紹介 本間 崇平 アイレット株式会社 アジャイル事業部所属 開発エンジニア ホンマ シュウヘイ ● 2018年新卒入社(平成最後の新卒) ● エンジニアコメディアン (自称) ● ドローンなどのIoT系やってる ● アジャイル/スクラム開発してる 2022・2023受賞歴↓ AWS認定資格13個獲得↓

Slide 7

Slide 7 text

本日言いたいこと

Slide 8

Slide 8 text

AWS CDKを使いこなし学び続けよ (※楽しみながら)

Slide 9

Slide 9 text

お品書き 1. はじめに 2. タイトル回収 3. 結論

Slide 10

Slide 10 text

1.はじめに

Slide 11

Slide 11 text

ド新規でAWSリソースを作る案件があった

Slide 12

Slide 12 text

必要なAWS環境

Slide 13

Slide 13 text

採用時アーキテクチャ ● API系はserverless frameworkで管理 ● フロントやDB系はAmplifyで管理 ● バッチ処理やCI/CD、非機能まわり のリソースどうするか?

Slide 14

Slide 14 text

必要なAWSリソース これ以外も用意するリソースはまだあった...

Slide 15

Slide 15 text

入社歴が浅い人達ばかりで 設計から構築含めて開発者でやる状況

Slide 16

Slide 16 text

誰がプロジェクトリーダーやるんだよ...

Slide 17

Slide 17 text

俺がヤる!!

Slide 18

Slide 18 text

何はともあれ 4環境分のリソースをマネコンで用意するべ

Slide 19

Slide 19 text

いざ作業!

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

すっっっげぇ構築作業が大変(☝ ՞ਊ ՞)☝

Slide 22

Slide 22 text

では、どうするべきか

Slide 23

Slide 23 text

2.タイトル回収

Slide 24

Slide 24 text

複数AWSアカウントに リソース構築する時 どうしてますか?

Slide 25

Slide 25 text

選択肢は色々ある ● マネージメントコンソール ● CloudFormationでJSONかYAML ● AWS CLI ● AWS SDK ● TerraformやAnsibleなどの3rd party利用 ● AWS CDK

Slide 26

Slide 26 text

今日はCDKのイベントでもあるので

Slide 27

Slide 27 text

1つの選択肢として CDK Pipelinesを活用せよ

Slide 28

Slide 28 text

CDK Pipelinesとは? ● CodePipelinesを活用した継続的(CD)パイプライン ● ローカルからコマンドしてデプロイしなくて済む ● GithubやCodeCommitからコミットデプロイできる ● 使いまわしできるようにしておけば新規AWSアカウントにも流 用可能 ● デプロイに時間がかかる ● バージョン更新が早いため、保守メンテも早い

Slide 29

Slide 29 text

必要なAWS環境

Slide 30

Slide 30 text

CDK Pipelinesを活用した実例

Slide 31

Slide 31 text

CDK Pipelines使っていこうZE☆

Slide 32

Slide 32 text

使ったことあるよーって方(^o^)

Slide 33

Slide 33 text

(・∀・)b イイネ!!

Slide 34

Slide 34 text

使ったことないよーって方(´・ω・`)

Slide 35

Slide 35 text

明日からやってみなはれ m9(・∀・)

Slide 36

Slide 36 text

ここから実際に手順を説明

Slide 37

Slide 37 text

構築の流れ ● cdk initで雛形の作成(TypeScript, Pythonなど) ● コーディング ○ CDK用のCodePipelineスタック作成 ○ 比較的作りやすいSQSやS3スタック作成 ○ 1個以上のAWSリソースを定義しないとエラーになるので要注意 ● cdk bootstrap ○ 初回時だけ、複数のAWSアカウントごとに実行 ○ QA環境へbootstrapで作成したロールに、Dev環境のAssumeRoleを設定 ○ bootstapで作成したIAMロールをkmsキーポリシーにも許可 ● プッシュ or マージ ● cdk deploy

Slide 38

Slide 38 text

パイプラインスタックでCodeCommit用意 プロジェクトコードを格納するCodeCommitリポジトリ作成、npx cdk deploy

Slide 39

Slide 39 text

これで土台が完了

Slide 40

Slide 40 text

ステージ定義

Slide 41

Slide 41 text

インフラリソース定義

Slide 42

Slide 42 text

パイプラインの定義 npm install aws-cdk-lib/pipelinesを実行しimportする

Slide 43

Slide 43 text

ということで

Slide 44

Slide 44 text

DEMO

Slide 45

Slide 45 text

AWS構成

Slide 46

Slide 46 text

動画にて

Slide 47

Slide 47 text

うおおおおお

Slide 48

Slide 48 text

3.結論

Slide 49

Slide 49 text

結論 楽してAWS構築を済ませ 開発に専念せよ

Slide 50

Slide 50 text

リアルガチで

Slide 51

Slide 51 text

楽してAWS構築を済ませ、開発に専念せよ ● テンプレートのコードさせ用意してれば使いまわしできて次回も楽 ● バージョンアップデートが早いため定期的にCheckしておく ● CDKは今回紹介できてない機能もまだまだあるので用途に応じて使う 結論

Slide 52

Slide 52 text

今日の発表内容じゃわからないよー(*_*) 他の言語の手順も知りたいよー(*_*) って方

Slide 53

Slide 53 text

Don’t worry

Slide 54

Slide 54 text

Workshopありますよ https://cdkworkshop.com/ja/

Slide 55

Slide 55 text

CDK Pipelinesを活用することで 構築作業が楽になる

Slide 56

Slide 56 text

最後に言いたいこと AWS CDKを使いこなし学び続けよ (※楽しみながら)

Slide 57

Slide 57 text

最高のCDK開発体験をしてみようZE☆

Slide 58

Slide 58 text