Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マルチAZは冗長性の夢を見るか? / Do Multi-AZ Dream of Redundancy?

cidr
November 02, 2019

マルチAZは冗長性の夢を見るか? / Do Multi-AZ Dream of Redundancy?

JAWS Festa 2019 SAPPOROで発表したスライド

cidr

November 02, 2019
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介   ・西田 龍斗(にしだ りゅうと)
 - Twitter @cidr_cuckooo
 
 ・経歴


    - 2019年1月に個人事業主として開業
 - 2019年3月に釧路高専3年次退学
 以後フリーランスプログラマとしてアプリ ケーション開発に携わる。
 

  2. マルチAZは冗長性の夢を見るか?  
 マルチAZ構成は有効ではあるが・・・
 
 よく考えると
 
 ・運が悪く複数のAZで同時に障害が起きるかもしれない 
 
 ・大規模災害時には複数AZやリージョン単位で被害を被るかもしれない

    
 
 ・AWSがハッキングされて利用出来なくなるかもしれない 
 
 ・某国から飛んできたミサイルがどこかのデータセンタに落ちるかもしれない 
 
 ・そもそもマルチAZでも防げなかった状況も 

  3. マルチAZは冗長性の夢を見るか?  
 Q : ここまで考えるのは過剰じゃないか?
 
 A : 障害対策・災害対策は楽観的に考えない!
 


    
 BGPが間違った経路情報を流したり、全DNSがダウンしたりでインターネットが崩壊し た時とかは流石に諦める・・・

  4. マルチAZは冗長性の夢を見るか?  
 Kubernetesを使う
 発音は「クーべネティス」?「クーバネティス」? 
 省略してK8s「ケーエイツ」と呼ぶことも。 
 
 K8sのゴールは可搬性・拡張性・自己修復を提供し、サービス運用負担を減らすためエコシス テムを整備していくこととなっているので、今回強調したい「可搬性によって可用性を担保す

    る」についても適している。
 KubernetesはGoogleがかつて「Borg」として、社内向けに開発したコンテナ オーケストレーションツール。
 
 デプロイからコンテナ運用の自動化、セルフヒーリングといったコンテナ開 発を支える複数の機能を持つ。 

  5. マルチAZは冗長性の夢を見るか?  
 Docker-Swarmを使う
 Swarmじゃ出来ない事の例として、依存関係にそってコンテナの立ち上げが出来ないが、 Docker-Swarm + Docker-Composeで解決できるように、Dockerのエコシステムフル活用で Kubernetesと遜色なく利用することが出来る。 
 


    ちなみにDocker-Composeもコンテナオーケストレーションツールとして分類される。 
 Docker-SwarmはDocker公式で提供されているコンテナオーケストレー ションツール。
 
 Kubernetesと比較し、出来る事は少ないものの学習コストはその分低く、 Swarmが持つ機能だけでも十分な事もある。 

  6. マルチAZは冗長性の夢を見るか?  
 しかし・・・
 Docker-SwarmはKubernetesよりシンプル。 
 だが、利用者が少なくドキュメントもK8sほど整っているわけではない。 
 マネージドサービスに至っては皆無なので捉えようによってはK8sより学習コストが高くなることも。 
 Kubernetesは複雑で学習コストが高い。

    
 クラウドのK8sマネージドサービスは利便性も高く、各クラウドプロバイダでサービスネイティブに扱え るが、そのクラウドプロバイダ内でしか利用できない。 
 GCPのAnthosはハイブリッドクラウドに対応はしているものの、AnthosでAWSを利用しようとすると EKSほどAWSネイティブには活用できない。 

  7. マルチAZは冗長性の夢を見るか?  
 マネージドサービスを使わない選択肢
 クラウドプロバイダを意識しない、クラウドプロバイダに依存しないとなると、マネージドサービスを用 いないという選択肢が生まれる。 
 
 マネージドサービスを使うことは、コスト負担減や利便性の向上など、沢山のメリットがある反面、クラ ウドプロバイダへの依存度が上がる。 


    
 これは運用スタイルをプロバイダに合わせる必要があったり、障害時の復旧やダウンタイムなどがコ ントロール出来なくなる。
 
 その他にも、各プロバイダ得意とする分野があるのに対し、多くをマネージドで構成するとプロバイダ 間の連携を取る事も難しくなる。 

  8. マルチAZは冗長性の夢を見るか?  
 Rancher等のようなKubernetes as a Service(KaaS)を使う
 Rancherを使うと、Kubernetesクラスタとして EKSやGKEといった各クラウドプロバイダの提供する Kubernetesマネージドツールを選択できる。 


    Kubernetesが目指す目標の中に可搬性がある。 
 これはまさに、裏で動くマシンがプロバイダのものか、オンプレなのか関係なくどこでも動かせる事が 目的になっている。
 しかし実際にそれをやろうとすると学習コストがかかる。 
 それを補うため生まれた概念がKubernetes as a Service。 
 題にあるが、RancherはKaaSの一つで、コンテナオーケストレーションツールでもある。 

  9. マルチAZは冗長性の夢を見るか?  
 HPEによるクラウドに依存しないブロックストレージ 
 参照 : AWS、Azure、GCPのどの仮想マシンからでも iSCSIで... HPE Cloud

    Volumes
 
 対応するどのクラウドプロバイダからもマウント・iSCSIでアクセス可能なフルマネージ ドブロックストレージサービス。
 
 2019/11/01から提供開始で、11/02現在AWS・Azureに対応。
 
 GCPなど他プロバイダも後日対応予定。
 
 支払いはプリペイド方式で6万円~