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
Transcript
14 slides
情シスが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. キータイピング量を抑えて腱鞘炎を回避できる
環境構築とコーディングを爆速で終わらせて、要件整理、課題 整理、タスク整理、トラブルシューティング、会議などの重要な (楽しくない)仕事をバリバリこなしましょう
More Decks by SHINCHI Takahiro
See All by SHINCHI Takahiro
Goのrate.Limiterで、429との戦いを終わらせる
shinchit
0
96
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
180
ゼロから始めるプロジェクトマネジメント Key Points
shinchit
0
1.3k
Other Decks in Technology
See All in Technology
Sonnetだけで業務はまわる?
kintotechdev
1
120
小さなエージェントから始めてみよう!実践コンテキストエンジニアリング
iwamot
PRO
0
120
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
330
E2E Test というハーネス — AI時代の自動テスト民主化
daishukojima
1
690
3文字略語に騙されない! 世界一わかりやすい『EDR』超入門
kamadamakoto
1
130
2026-11-11 Tamachi.sre#7 PaCにインフラリソースの命を救われました。 / PaC saves the infra resource life
masasuzu
1
170
SREのためのFinOps入門
muziyoshiz
3
1.6k
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
190
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
220
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
Shared Signals Framework 仕様解説
oidfj
0
430
JAWSコミュニティに 参加して1年経った結果
ssakita
0
150
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
430
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
The SEO identity crisis: Don't let AI make you average
varn
0
630
The Curse of the Amulet
leimatthew05
4
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Optimizing for Happiness
mojombo
378
71k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k