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
concurrencyで爆速並列デプロイ
Search
hedgehog051
December 14, 2022
Technology
1
1.6k
concurrencyで爆速並列デプロイ
CDKのconcurrencyオプションによる並列デプロイについて
hedgehog051
December 14, 2022
Tweet
Share
More Decks by hedgehog051
See All by hedgehog051
AWS Generative AI CDK Constructsについて
hedgehog051
2
180
KnowledgeBasesとAgentsの紹介
hedgehog051
3
1.4k
BedrockUpdatesPost-GW Summary
hedgehog051
3
510
来てくれClaude 3! Agents for Amazon Bedrockのモデル比較或いはチューニングの話
hedgehog051
4
1.5k
Relic_Tech_Camp_GenerativeAI.pdf
hedgehog051
11
85k
AWSにおけるデータ分析入門 / Introduction To Data Analytics In AWS
hedgehog051
0
180
AWS App Runnerについてとこれから期待したいこと/About-AWS-App-Runner-and-what-to-expect-in-the-future
hedgehog051
0
45
また増えた!?AWSコンテナ関連サービスを10分でざっくり掴もう/Learn-about-AWS-0container-services-in-10-minutes
hedgehog051
0
55
Other Decks in Technology
See All in Technology
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
Can We Measure Developer Productivity?
ewolff
1
150
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
Lexical Analysis
shigashiyama
1
150
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
890
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Featured
See All Featured
Building Adaptive Systems
keathley
38
2.3k
A better future with KSS
kneath
238
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Building Your Own Lightsaber
phodgson
103
6.1k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Raft: Consensus for Rubyists
vanstee
136
6.6k
How to Ace a Technical Interview
jacobian
276
23k
Designing the Hi-DPI Web
ddemaree
280
34k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Transcript
concurrencyで 爆速並列デプロイ
Profile HedgehogTemplateFormatVersion: "2010-09-09” Resources: MyProfile: Type: "Hedgehog::HumanInterface::Profile" Properties: Name: Kumada
Kan Company: Relic Inc. Job: SiteReliabilityEngineer Like: CDK Twitter: @hedgehog051 Tags: - Key: ENV Value: Production 2
concurrency concurrencyオプションを使用すると、 スタック間の依存関係を考慮しながら 複数スタックを並行してデプロイが可能となり、 デプロイの高速化を実現 3
Concurrencyオプションの変遷 4 並列デプロイ実装に TL沸き⽴つが 即revert 😭
Concurrencyオプションの変遷 5 🎉 翌週に改めて再導⼊︕ 🎉 🎉 🎉
Topic 6 取り敢えず2並列でやったろと -—concurrency 2を追加して cdk deployを実行したらエラーが発生
Topic 7 参照:https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk/lib/cdk-toolkit.ts 中身を見る
Topic 8 承認が必要なStackにConcurrencyオプションを使用して 2以上の並列デプロイを実行する場合、承認の変更レベル を”never” にして承認不要にする必要がある模様
Topic 9 --require-approval LEVEL ・never: 承認は不要 ・any-change: IAMやsecurity-group-related関連の変更には承認が必要 ・broadening(デフォルト) IAMステートメントやトラフィックルールの追加には承認が
必要、削除には承認は必要なし
Topic 10 require-approvalのLEVELはcdk.jsonでも設定固定可能 チェックなしのフルオートでロックにデプロイするぜ! って人は頭の片隅に入れておくと良いかも知れません。
Topic 11 Concurrencyオプションは内部的にはp-queueを使って並列実行を制御 曰くp-queueは「非同期 (または同期) 操作のレート制限に役立ちます。 たとえば、REST APIを操作する場合や、CPU/メモリを集中的に使用する タスクを実行する場合です。」 Concurrencyオプションで指定した数字はp-queueへ同時実行数の上限
として渡される。
まとめ 12 - v2.39.0以降からConcurrencyオプションが使用可能 - 承認が必要なStackを並列デプロイする場合は、承認の変更レベルは”never”必須 - 並列処理制御にはp-queueが使用されている
͋Γ͕ͱ͏͍͟͝·ͨ͠