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
マルチAZは冗長性の夢を見るか? / Do Multi-AZ Dream of Redunda...
Search
cidr
November 02, 2019
Programming
2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マルチAZは冗長性の夢を見るか? / Do Multi-AZ Dream of Redundancy?
JAWS Festa 2019 SAPPOROで発表したスライド
cidr
November 02, 2019
Other Decks in Programming
See All in Programming
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
220
自作OSでスライド発表する
uyuki234
1
3.7k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
240
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1k
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
280
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.9k
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
140
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.7k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
990
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.6k
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Exploring anti-patterns in Rails
aemeredith
3
440
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Building Adaptive Systems
keathley
44
3.1k
How to Ace a Technical Interview
jacobian
281
24k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Building Applications with DynamoDB
mza
96
7.1k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Transcript
マルチAZは 冗長性の夢を見るか? 西田 龍斗 (@cidr_cuckooo) JAWS FESTA 2019 SAPPORO
自己紹介 ・西田 龍斗(にしだ りゅうと) - Twitter @cidr_cuckooo ・経歴
- 2019年1月に個人事業主として開業 - 2019年3月に釧路高専3年次退学 以後フリーランスプログラマとしてアプリ ケーション開発に携わる。
マルチAZは冗長性の夢を見るか? マルチAZ構成 組んでますか?
マルチAZは冗長性の夢を見るか? 参照 : 東京リージョン(AP-NORTHEAST-1)で発生した..
マルチAZは冗長性の夢を見るか? 東京リージョン内単一のAZであるapne-az4というIDのAZで発生。 複数のAZを併用する「マルチAZ構成」を組んでいれば影響を避ける事が出来た障害 であったため、SNSやネットメディアではマルチAZを推奨する意見が多く見られた。 参照 : 東京リージョン(AP-NORTHEAST-1)で発生した..
マルチAZは冗長性の夢を見るか? マルチAZは有効だった! どんどんマルチAZ構成を 使っていこう!
スライドショーの最後です。クリックすると終了します。
マルチAZは冗長性の夢を見るか? 本当に??
マルチAZは冗長性の夢を見るか? マルチAZ構成は有効ではあるが・・・ よく考えると ・運が悪く複数のAZで同時に障害が起きるかもしれない ・大規模災害時には複数AZやリージョン単位で被害を被るかもしれない
・AWSがハッキングされて利用出来なくなるかもしれない ・某国から飛んできたミサイルがどこかのデータセンタに落ちるかもしれない ・そもそもマルチAZでも防げなかった状況も
マルチAZは冗長性の夢を見るか? Q : ここまで考えるのは過剰じゃないか? A : 障害対策・災害対策は楽観的に考えない!
BGPが間違った経路情報を流したり、全DNSがダウンしたりでインターネットが崩壊し た時とかは流石に諦める・・・
マルチAZは冗長性の夢を見るか? そもそもマルチAZ構成は 大前提です。
マルチAZは冗長性の夢を見るか? 提供しているアプリケーションに対して、ある程度は自身で可用性を担保 できる仕組みを作るべき。 ・でもマルチリージョンとかハイブリットクラウドは費用が沢山かかる ・コールドスタンバイを組んだ所で、通常時は動かないなら無駄に思えるし、予備も落ちたら意 味がない
・そもそもどうすれば良いのか分からない
マルチAZは冗長性の夢を見るか? サービスが停止したら、 すぐに別の場所で運用開始 できるような設計を組む。
マルチAZは冗長性の夢を見るか? そうだ。 コンテナ使おう。
マルチAZは冗長性の夢を見るか? コンテナはいいぞ ・1つのアプリケーションを1個のコンテナに閉じ込めていろんな所で再利用できる。移植が簡単 ・ミドルウェアや依存ライブラリを閉じ込めることが出来るのでホストの環境が汚れない ・環境をコードで管理するので、バージョン管理が可能になり、ヒューマンエラーも減る
・何台マシンがあろうとコード一つで簡単に展開できる ・コンテナやコンテナオーケストレーション、その他周辺サービス群が成熟している
マルチAZは冗長性の夢を見るか? Why Containers?
マルチAZは冗長性の夢を見るか? 一般的なマルチAZ構成で得られる可用性(Availability)
マルチAZは冗長性の夢を見るか? コンテナ技術による可搬性(Portability)
マルチAZは冗長性の夢を見るか? 可搬性で可用性を補う インフラ・AZ・リージョン障害があっても、別の正常なマシンですぐにサービスを提供できる。
マルチAZは冗長性の夢を見るか? 可搬性で可用性を補う アプリケーション障害(バグ・脆弱性)があった場合、そのバージョンのアプリをローカルで検証できる。
マルチAZは冗長性の夢を見るか? 可搬性で可用性を補う スケーリングが容易になる。(AutoScalingとの親和性が高い)
マルチAZは冗長性の夢を見るか? コンテナ オーケストレーション
マルチAZは冗長性の夢を見るか? Kubernetesを使う 発音は「クーべネティス」?「クーバネティス」? 省略してK8s「ケーエイツ」と呼ぶことも。 K8sのゴールは可搬性・拡張性・自己修復を提供し、サービス運用負担を減らすためエコシス テムを整備していくこととなっているので、今回強調したい「可搬性によって可用性を担保す
る」についても適している。 KubernetesはGoogleがかつて「Borg」として、社内向けに開発したコンテナ オーケストレーションツール。 デプロイからコンテナ運用の自動化、セルフヒーリングといったコンテナ開 発を支える複数の機能を持つ。
マルチAZは冗長性の夢を見るか? Docker-Swarmを使う Swarmじゃ出来ない事の例として、依存関係にそってコンテナの立ち上げが出来ないが、 Docker-Swarm + Docker-Composeで解決できるように、Dockerのエコシステムフル活用で Kubernetesと遜色なく利用することが出来る。
ちなみにDocker-Composeもコンテナオーケストレーションツールとして分類される。 Docker-SwarmはDocker公式で提供されているコンテナオーケストレー ションツール。 Kubernetesと比較し、出来る事は少ないものの学習コストはその分低く、 Swarmが持つ機能だけでも十分な事もある。
マルチAZは冗長性の夢を見るか? しかし・・・ Docker-SwarmはKubernetesよりシンプル。 だが、利用者が少なくドキュメントもK8sほど整っているわけではない。 マネージドサービスに至っては皆無なので捉えようによってはK8sより学習コストが高くなることも。 Kubernetesは複雑で学習コストが高い。
クラウドのK8sマネージドサービスは利便性も高く、各クラウドプロバイダでサービスネイティブに扱え るが、そのクラウドプロバイダ内でしか利用できない。 GCPのAnthosはハイブリッドクラウドに対応はしているものの、AnthosでAWSを利用しようとすると EKSほどAWSネイティブには活用できない。
マルチAZは冗長性の夢を見るか? 重要なのはクラウドプロバイダそのものを意識せず扱える構成 クラウドプロバイダやオンプレミスといった事を開発側が意識せずに扱える構成を組む事で 「可搬性による可用性の担保」を出来る環境が整う。
マルチAZは冗長性の夢を見るか? マネージドサービスを使わない選択肢 クラウドプロバイダを意識しない、クラウドプロバイダに依存しないとなると、マネージドサービスを用 いないという選択肢が生まれる。 マネージドサービスを使うことは、コスト負担減や利便性の向上など、沢山のメリットがある反面、クラ ウドプロバイダへの依存度が上がる。
これは運用スタイルをプロバイダに合わせる必要があったり、障害時の復旧やダウンタイムなどがコ ントロール出来なくなる。 その他にも、各プロバイダ得意とする分野があるのに対し、多くをマネージドで構成するとプロバイダ 間の連携を取る事も難しくなる。
マルチAZは冗長性の夢を見るか? Rancher等のようなKubernetes as a Service(KaaS)を使う Rancherを使うと、Kubernetesクラスタとして EKSやGKEといった各クラウドプロバイダの提供する Kubernetesマネージドツールを選択できる。
Kubernetesが目指す目標の中に可搬性がある。 これはまさに、裏で動くマシンがプロバイダのものか、オンプレなのか関係なくどこでも動かせる事が 目的になっている。 しかし実際にそれをやろうとすると学習コストがかかる。 それを補うため生まれた概念がKubernetes as a Service。 題にあるが、RancherはKaaSの一つで、コンテナオーケストレーションツールでもある。
マルチAZは冗長性の夢を見るか? 課題
マルチAZは冗長性の夢を見るか? データの保存 コンテナを扱う場合、データの永続化やバックアップ、ストレージ・DBと、注意を払わなければいけな い所が生まれてくる。 アプリケーションの可用性(可搬性)は担保できても、データそのものの可用性(可搬性)を担保するの は難しい。 CAP定理と呼ばれ、「一貫性・可用性・ネットワーク分断耐性」の3つの特性の内、DBは2つまでしか持
てないのかという長年の研究テーマにもなっている。 プログラマやシステムエンジニアと呼ばれる職種の人が 真に頭を使うべき課題なのかもしれない。
マルチAZは冗長性の夢を見るか? HPEによるクラウドに依存しないブロックストレージ 参照 : AWS、Azure、GCPのどの仮想マシンからでも iSCSIで... HPE Cloud
Volumes 対応するどのクラウドプロバイダからもマウント・iSCSIでアクセス可能なフルマネージ ドブロックストレージサービス。 2019/11/01から提供開始で、11/02現在AWS・Azureに対応。 GCPなど他プロバイダも後日対応予定。 支払いはプリペイド方式で6万円~
マルチAZは冗長性の夢を見るか? まとめ
マルチAZは冗長性の夢を見るか? 「マルチAZなら大丈夫」ではなく「マルチAZは前提」 ・冗長性や可用性は、マルチAZであることが前提。 ・クラウドプロバイダに頼り切らず、自身でも出来る事は無いか考え、取り組む。
マルチAZは冗長性の夢を見るか? 可搬性で可用性を補う ・負荷分散や障害対策のための構成以外にも、色々な手法で高可用性を実現することが出来 る。 ・コンテナ技術で、可搬性をもって可用性を補う事も可能。 ・様々な手法が考えられるが、クラウドネイティブ時代においてはコンテナを用いる手法が適し
ている。 クラウドネイティブ・アーキテクチャ 可用性と費用対効果を極 める次世代設計の原則 (impress top gear)
マルチAZは冗長性の夢を見るか? クラウドプロバイダに依存しない ・AWSやGCP、Azureなど様々なクラウドプロバイダが溢れており、それぞれ得意なことなど特徴があ る。 ・一つのクラウドプロバイダだけに依存せず、ハイブリッドな構成を考えたり、そもそも裏側でどのマ シンが利用されるかを意識しない事も可能になりつつある。
・AWSで組んだ構成を全く同じようにGCPで組む必要は無い。良いとこ取りをし、片方のプロバイダで の障害を別のプロバイダでカバーできるような構成を組む。
マルチAZは冗長性の夢を見るか? 謝辞 スライド作成に協力してくれた ・内村和博様 ・三浦一樹様 本当にありがとうございました!
マルチAZは冗長性の夢を見るか? ご清聴ありがとうござ いました。