Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20240510_山形_AWSCDKを使ってみた.pdf
Search
ちばたかふみ
November 26, 2024
21
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20240510_山形_AWSCDKを使ってみた.pdf
ちばたかふみ
November 26, 2024
More Decks by ちばたかふみ
See All by ちばたかふみ
202601216_SaaSはサーバーレスなのか
takachiba
0
50
20251011_ソラカメで簡単導入!店舗在庫の見える化と省力化
takachiba
1
110
サメの話(仮
takachiba
0
160
2024年JAWS-UG東北まとめ_山形版
takachiba
0
80
2024年JAWS-UG東北まとめ-弘前開催版-
takachiba
0
210
クラウドではじめる動画配信入門 AWS編
takachiba
1
220
AWSCDKを使ってみた
takachiba
0
62
AmazonQを使ってみた
takachiba
0
25
AmazonQを使って見積もりを作ろうとしてみた_Elemental MediaConvert編
takachiba
0
170
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Side Projects
sachag
455
43k
Site-Speed That Sticks
csswizardry
13
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Fireside Chat
paigeccino
42
4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The SEO identity crisis: Don't let AI make you average
varn
0
520
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
510
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Transcript
AWS CDKを使ってみた スターブリッジいわて株式会社 v1.4p ちば たかふみ
自己紹介 1 名前 ちば たかふみ 出身 岩手県奥州市 住まい 岩手県花巻市 活動
東北/いわて/Game 趣味 国内旅行 サッカー観戦 ベガルタ仙台 サウナ/温泉 キャンプ バイク/ツーリング HONDA CT125 スキー
自己紹介 2 S〇y (2008~2013) 携帯電話PF開発 複合機PF開発 Windowsアプリ開発 スターブリッジいわて (2023~) 放送局向け動画配信系システム開発
Jス〇リーム(2013~2022) 動画配信プラットフォーム開発 動画プレイヤー開発 CDN開発 公営ギャンブル動画配信システム開発 放送局向け動画配信システム開発
所属 3 社名 スターブリッジいわて株式会社 所在地 事業所 : 岩手県花巻市松園町一丁目6-1 代表者 茂庭裕之
設立 2012年3月12日 ビジョン ✓ 岩手/地方の産業の課題を最新のITとリアル(現場力)の両面からビジネ スで解決し、質の高い雇用を生み出す。 ✓ 一次、二次、三次産業の全般の変革に貢献する存在になる。 事業内容 ✓ クライアントワーク ➢ 地元企業様のITの顧問・コンサルティング事業 ➢ 大手企業様プロジェクトのPM、コンサルティング、エンジニアリング ➢ 新規事業立上げ支援、立上げ代行サービス事業 ✓ 自社サービス運営 ✓ 岩手県産品EC・卸・小売り事業 ご契約いただいている岩手県内企業様業種 ➢ 製造業、建設業、旅館業、食品加工業、飲食業、青果市場、仲卸業、 花巻市役所 等々
今日のおはなし 4 AWS CDKを使ってみた
システムの開発が進むにつれ、以下のリソースが増えてきた。 • API Gatewey • EventBridge • Lambda • StepFunctions
デプロイが大変。 • 手作業によるコードの反映漏れ • 権限設定の漏れ • リリース対象が多く作業時間が増えてきている 最近の困りごと 5
• AWS Cloud Development Kit 略して CDK • プログラミング言語を用いて AWSのリソースを定義することができる
簡単にいうとTerraformのAWS特化版 – JavaScript – TypeScript – Python – Java – C# – Go • 仕組みとしてはプログラミング言語で AWSのリソースを定義するとCloudFormationのリソースとして AWS上にデプロイできる AWS CDKとは 6
1. CDKのコマンドでプロジェクトを作る 2. ソースコードでAWSのリソースを定義する 3. CDKのコマンドでAWS上にデプロイする CDKの使い方 7
from constructs import Construct from aws_cdk import ( Stack, aws_lambda
as _lambda, aws_apigateway as apigw, ) class CdkWorkshopStack(Stack): def __init__(self, scope: Construct, id: str, **kwargs) -> None: super().__init__(scope, id, **kwargs) my_lambda = _lambda.Function( self, 'HelloHandler', runtime=_lambda.Runtime.PYTHON_3_7, code=_lambda.Code.from_asset('lambda'), handler='hello.handler', ) apigw.LambdaRestApi( self, 'Endpoint', handler=my_lambda, ) サンプルコード(python) 8 Amazon API Gateway AWS Lambda リリースするAWSのサービスのライブラリをインポート Lambdaの設定を定義 APIGatewayの設定を定義
LambdaのソースコードやCDKのコードを Gitで管理することにより コミット→自動デプロイ の仕組みを作ることができる Gitとの連携 9 AWS Cloud Development Kit
(AWS CDK) AWS Cloud Development Kit (AWS CDK) AWS CodePipeline Actions
まとめ ⚫ メリット ⚫CDKを使うことによりAWSのリソースもソースコードで 管理できるようになる ⚫CloudFormationを直接メンテするよりも見やすく扱い やすい(と思う) ⚫GitHubActionsやCodePipelineと連携することにより Gitリポジトリの更新をきっかけに自動デプロイすること ができる
⚫ デメリット ⚫一度手動で環境構築をしてからCDKでコード化する必 要がありそう ⚫AWSの知識はある程度必要 10
参考資料 • AWS CDK Workshop https://cdkworkshop.com/ja/ 11
さいごに 12 ありがとうございました!