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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
160
ゼロから始めるプロジェクトマネジメント Key Points
shinchit
0
1.2k
Other Decks in Technology
See All in Technology
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
240
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
450
大阪オフィスに Unitree Go2 がやってきたので Physical AI やってみた
dafujii
0
300
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
4
950
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
DAMOS - The Smart Cruise Control for RAM
ennael
PRO
1
130
KanaAI
shreyas1009
0
150
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
220
自主式軟體工廠
philipz
0
220
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
210
SDDの運用にめげずに向き合った話
sansantech
PRO
0
130
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
220
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
500
Building Applications with DynamoDB
mza
96
7.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Designing for Performance
lara
611
70k
The Pragmatic Product Professional
lauravandoore
37
7.5k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Design in an AI World
tapps
1
350
Fantastic passwords and where to find them - at NoRuKo
philnash
52
4k
WENDY [Excerpt]
tessaabrams
14
40k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
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. キータイピング量を抑えて腱鞘炎を回避できる
環境構築とコーディングを爆速で終わらせて、要件整理、課題 整理、タスク整理、トラブルシューティング、会議などの重要な (楽しくない)仕事をバリバリこなしましょう