Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
情シスがMA移行を乗り切るIaC。AWS CDKで楽できたあれこれを語りたい。
Search
SHINCHI Takahiro
December 15, 2023
Technology
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
情シスがMA移行を乗り切るIaC。AWS CDKで楽できたあれこれを語りたい。
SHINCHI Takahiro
December 15, 2023
More Decks by SHINCHI Takahiro
See All by SHINCHI Takahiro
Goのrate.Limiterで、429との戦いを終わらせる
shinchit
0
85
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
170
ゼロから始めるプロジェクトマネジメント Key Points
shinchit
0
1.2k
Other Decks in Technology
See All in Technology
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
160
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.4k
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
390
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
360
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
190
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
690
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
130
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
自分で立ててみるLLMサービス
y_sera15
0
160
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
540
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
380
パッチ更新でterraform initが落ちた日
grimoh
1
120
Featured
See All Featured
Fireside Chat
paigeccino
43
4.1k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
940
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
Documentation Writing (for coders)
carmenintech
77
5.6k
Side Projects
sachag
456
43k
Facilitating Awesome Meetings
lara
57
7.2k
Exploring anti-patterns in Rails
aemeredith
4
530
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
620
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Transcript
情シスがMA移行を乗り切るIaC AWS CDKで楽できたあれこれを語りたい クラスメソッド株式会社 進地 崇裕 1
2 自己紹介 • 情報システムグループ 情報システム室 コアシステムチーム(長い) ◦ 進地 崇裕(しんち たかひろ)
• 仕事: 業務改善したり、営業支援したりな人 • 趣味: モンハン、尺八、ワンコと遊ぶ
3 Mission
4 そうだ! MAをPardotからHubSpotに 移行しよう!! (意訳)
5 年内に (重要)
6 いろんな課題
7 アーキテクチャ(?)を考える ↑APIある ↑APIある そしたら、Lambdaで色々ゴニョゴニョすればよろし (超シンプル)
8 AWS CDKの嬉しいところ 1. 5分で素のLambdaが作れる。 Role、EventBridgeのルールも簡単作成 2. コマンド一発でデプロイできる 3. バージョン管理できる。レビューもできる。
4. CFnやServerless Frameworkは記述量が多くて 手が疲れる 5. 新しく↑の言語、記法を覚えなくてよろし。 学習コスト低い。採用しやすい。保守性向上。
9 実際のコードサンプル 1. リソースはTypeScriptで作成(サンプル多いから)
10 実際のコードサンプル 2. Lambda本体はPythonで作成がおすすめ (jsはライブラリのアップデートが激しくて辛いので)
11 結果!Mission Clear!(色々課題はまだある) MA移行の各課題を解決する Lambdaを2weeksぐらいで 爆速開発
12 カスタムAPIも爆速 API Gatewayと絡めてカスタムAPIの作成も 爆速でできた const lambdaIntegration = new LambdaIntegration(lambda);
const apigw = new RestApi(this, "apigw", { restApiName: "apigw", deployOptions: { loggingLevel: MethodLoggingLevel.INFO, dataTraceEnabled: true, metricsEnabled: true, }, defaultCorsPreflightOptions: { allowOrigins: Cors.ALL_ORIGINS, allowMethods: Cors.ALL_METHODS, allowHeaders: Cors.DEFAULT_HEADERS, statusCode: 200, }, endpointTypes: [EndpointType.REGIONAL], cloudWatchRole: true });
13 Cognito連携も爆速 既存のCognitoユーザプールと繋いだりも 爆速でできた // 既存のユーザープールを使う const userPool = cognito.UserPool.fromUserPoolArn(
this, 'ExistingUserPool', `arn:aws:cognito-idp:ap-northeast-1:${process.env.AWS_ACCOUNT_ID}:u serpool/${process.env.COGNITO_USER_POOL_ID}` ); // Cognitoのユーザープールにクライアントを追加 const userPoolClientName = 'companyAndContactLinkerUserPoolClient'; userPool.addClient(userPoolClientName, { userPoolClientName: userPoolClientName, authFlows: { userPassword: true }, });
14 まとめ AWS CDKで 1. Lambdaを爆速で用意できる 2. 学習コストを抑えて、保守性も向上できる 3. キータイピング量を抑えて腱鞘炎を回避できる
環境構築とコーディングを爆速で終わらせて、要件整理、課題 整理、タスク整理、トラブルシューティング、会議などの重要な (楽しくない)仕事をバリバリこなしましょう