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
CloudFrontの継続的デプロイを試してみたはなし
Search
Takuya Shibata
PRO
April 04, 2024
Technology
0
1.2k
CloudFrontの継続的デプロイを試してみたはなし
2024年4月4日に行われたクラメソさっぽろIT勉強会 (仮) #1で発表したスライドです。
Takuya Shibata
PRO
April 04, 2024
Tweet
Share
More Decks by Takuya Shibata
See All by Takuya Shibata
アップデート紹介:AWS Data Transfer Terminal
stknohg
PRO
0
250
Snapshot & Backup
stknohg
PRO
0
3.5k
AWSエンジニアのためのActive Directory入門
stknohg
PRO
1
2.7k
EC2 Image Builder
stknohg
PRO
0
380
Windows on AWS の “基礎”
stknohg
PRO
0
650
Azure Dedicated Host と2019年10月1日からのライセンス改定のはなし
stknohg
PRO
0
400
Windows on AWS 入門
stknohg
PRO
0
480
普通の人が普通にブログを継続するためにやっていること
stknohg
PRO
0
680
PowerShell CoreからPowerShell 7に至る道 - Ver.1.1
stknohg
PRO
0
3.8k
Other Decks in Technology
See All in Technology
Women in Agile
kawaguti
PRO
2
170
CloudWatch Container Insightsを使ったAmazon ECSのリソース監視
umekou
1
120
地方企業がクラウドを活用するヒント
miu_crescent
PRO
1
110
サービスローンチを成功させろ! 〜SREが教える30日間の攻略ガイド〜
mmmatsuda
2
4.4k
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
200
SREとしてスタッフエンジニアを目指す / SRE Kaigi 2025
tjun
15
6.5k
教師なし学習の基礎
kanojikajino
4
360
Tokyo RubyKaigi 12 - Scaling Ruby at GitHub
jhawthorn
2
210
“自分”を大切に、フラットに。キャリアチェンジしてからの一年 三ヶ月で見えたもの。
maimyyym
0
300
あなたはJVMの気持ちを理解できるか?
skrb
5
2k
Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは
mshibuya
2
4k
ソフトウェアアーキテクトのための意思決定術: Software Architecture and Decision-Making
snoozer05
PRO
17
4k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
What's in a price? How to price your products and services
michaelherold
244
12k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Rails Girls Zürich Keynote
gr2m
94
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
380
The World Runs on Bad Software
bkeepers
PRO
67
11k
The Cult of Friendly URLs
andyhume
78
6.2k
Designing for humans not robots
tammielis
250
25k
Six Lessons from altMBA
skipperchong
27
3.6k
Transcript
CloudFrontの継続的デプロイを 試してみたはなし 2024.04.04 クラメソさっぽろIT勉強会 (仮) #1 Takuya Shibata 公開版
2 自己紹介 Takuya Shibata • AWS事業本部 コンサルティング部 • ソリューションアーキテクト •
2018年12月入社 • Japan AWS All Certifications Engineer (2023) • ex-APN AWS Top Engineer (2020, 2021) • ex-Microsoft MVP (2016 – 2022)
3 はじめに クラメソさっぽろIT勉強会 (仮) はAWS以外の話題も絶賛募集中です!
4 本日のテーマ 「CloudFrontの継続的デプロイ」
5 CloudFrontの継続的デプロイとは? 2022年11月(re:Inventちょっと前)に登場した新機能 • 2つのCloudFrontディストリビューションを 「Primary (本番)」「Staging (ステージング)」 の形で紐づける •
Staging環境へは「重みベース」「ヘッダベース」 でアクセス可能 • 「昇格」するとStagingからPrimaryへ設定を コピーする しばらく2023年の新機能だと誤解していた…
6 CloudFrontの継続的デプロイとは? 「重みベース」or「ヘッダベース」のアクセス
7 CloudFrontの継続的デプロイとは? 「昇格」時の挙動
8 特徴・注意点 • Stagingにもドメイン名(cloudfront.net)は付くが 名前解決はできない • 名前解決はPrimaryのみ可能 • 昇格はあくまでも Staring
→ Primary への設定コピー • Blue/Greenデプロイメントとは異なる • 昇格時のディストリビューションは通常のデプロイ時と同じ 挙動をする • 昇格時にすべての設定をコピーするわけではない • 少なくとも「説明」「代替ドメイン」「ログ設定」はコピー されない
9 特徴・注意点 • キャッシュ管理はPrimary、Stagingそれぞれ別 • キャッシュの共有、といったことは不可 • その他いくつか機能制限がある • HTTP/3は非サポート
• 高トラフィック時などの特定ケースにおいてすべての リクエストをPrimaryに流すことがある • note株式会社: noteがEKSへの完全移行までにやったこと https://engineerteam.note.jp/n/nd4ef85f85cc0
10 動作確認のために
11 ポートフォリオサイトを作ってみた https://www.shibata.tech/
12 構成図 https://www.shibata.tech/website-architecture
13 気づき 今日までサイト運営して得た気づきを適当に列挙 1. そもそも使いどころが悩ましい • オリジンの種類(アプリケーション、コンテンツ) によってデプロイの在り方は変わりうる • オリジン側で既に継続的デプロイがある場合どうする?
2. 切り戻しをどうすべきかも悩ましい • 変更前の設定で再デプロイするしかないのだが… 自動化しようとすると一気にめんどうくさい感じに 3. キャッシュコントロールは自前で頑張る必要あり • Invalidationをどのタイミングで行うかは利用者次第
14 気づき 今日までサイト運営して得た気づきを適当に列挙 4. リクエストヘッダを改変できるソフトが存外少ない • ModHeaderは(行儀の悪い) アドウェアと化してしまった… • おススメの代替ツールがあれば教えてほしい
5. 地球は広い • 最初S3をバージニア北部にしていたが、キャッシュを 使わない場合のレイテンシーが900ミリ秒程度発生 • 東京リージョンにしたら100ミリ秒未満に • ちゃんとレイテンシー計測サイトの値と同程度だった 他にもたくさんあり、実際に試すことは学びが多い。
15 発表後の追記 発表後のワイガヤタイム(質疑応答)での内容から 1. 使いどころに関して、対オリジンではなくCloudFront 自体の機能テストとデプロイ自動化のために使うもの では? • 確かに!!! •
「CloudFront(自体の)継続的デプロイ」は凄くしっくりくる • 改めてドキュメントを見ると確かに とある。 With Amazon CloudFront continuous deployment you can safely deploy changes to your CDN configuration by testing first with a subset of production traffic.
16 発表後の追記 発表後のワイガヤタイム(質疑応答)での内容から 2. CloudFront Functionsは昇格対象に含まれる? • ビヘイビアの「関数の関連付け」が昇格によりコピーされる • 別名の関数(例えばFunction-v2みたいな別名)をStaging環境に関連付け
れば安全に動作検証は可能 • 実際に試した事はないが、KeyValueStoresも環境を分ければ Staging環境で動作検証可能なはず ← Primary Distributionに関連付けられ動作中 ← Staging Distributionに関連付けて検証可能 (昇格予定)
17 まとめ? どんな技術も 実際に試すことは学びが多いヨ!
None