AZで実現するHAなアーキテクチャの作り方
日本アイ・ビー・エム株式会社
クラウド事業本部 テクニカル・セールス
古川 正宏
2018年12月8日
22018 IBM Corporation
本日お伝えしたいこと
1. IBM CloudにおけるAvailability Zoneとは
2. 東京リージョンで利用可能なPaaSサービス
3. 高可用性を実現するための構成
2018 IBM Corporation 3
IBM Cloud の新アーキテクチャー
Availability Zone アーキテクチャーを採用 エンタープライズシステム向け可用性を実現
Region
地理的および物理的に分離されたAvailabilityゾーンのグループ
Zone
ハイアベイラビリティを実現するために機能的に分離された単位
1つ以上のデータセンターにより構成
Data Center
ゾーンが構成される物理的なデータセンター
2018 IBM Corporation 4
IBM Cloud のAvailability Zoneの展開
Region
ZoneAvailability Zone化の状況
① ダラス 全て完了
② ワシントンDC 全て完了
③ ロンドン IaaS完了 /進行中
④ フランクフルト 全て完了
⑤ 東京 IaaS完了 /進行中
⑥ シドニー IaaS完了 /進行中
※2019年以降、他リージョンにも展開予定
Availability Zoneを展開する6リージョン
World WideでのAvailability Zoneを展開 東京リージョン。そして関西リージョンも。
2018 IBM Corporation 5
「これから」の東京リージョン
シングルPOP/ シングルゾーン
• ルーターレベルでの冗長性は担保できるが、POP障害
には対応不可
• POP障害に備えるためには、別リージョンに存在する
POPに接続する必要あり
マルチPOP/ マルチゾーン
• どのPOPからでもどのデータセンター(ゾーン)にアクセス可能
• SPOFの無い構成で、高可用性を実現
• 同リージョン内の複数POPを利用すれば、POP障害にも対応可能
IBM Cloud
POP1
POP2
IBM Cloud
POP1
東京近郊の3ヶ所のゾーンを2つのネットワークアクセスポイント(PoP)に接続することで、
ゾーン間の単一障害点を回避し耐障害性を強化
2018 IBM Corporation 6
Zone
1
Zone
2
Zone
3
ネット
ワーク
PoP1
ネット
ワーク
PoP2
Zone:データセンター
PoP:アクセスポイント
インターネット
IBM Cloud Availability Zone 詳細
ゾーンは、地理的に異なる箇所に配置されたデータセンター。
東京リージョンは3つのゾーンで構成。ゾーンは地理的に異なる箇所に配置されたデータセンター。東京リージョンは3つのゾーンで構成
物理的にそれぞれ隔離されたデータセンターに構成
ゾーンの特徴
データセンター、サーバールーム、PODなどの物理的
な境界を隠蔽
独立した電気系統、機器、ネットワーク機器で構成、
他のゾーンとは共有しない
各ゾーン間で共有された単一障害点は存在しない
ゾーン間は1.2Tbpsの広帯域・低遅延のネットワーク
で接続
2018 IBM Corporation 7
Availability Zoneを活用した提案例:API Connect
API
サーバ#1
(Active)
API
サーバ#2
(Active)
ロード
バランサー
API
サーバ#3
(Active)
API
サーバ#1
(Active)
グローバル・ロードバランサー
(Cloud Internet Services)
API
サーバ#2
(Active)
API
サーバ#3
(Active)
• API設定は複数データセンタに対して同時デプロイ
• データ同期が必要な場合は、高速NWで同期(or 分散処理)
• グローバルロードバランサーはIBM Cloudの提供サービスの1つ
DNS/FW/WAF/DDoS対策も追加構成可
インターネット インターネット
TOK02 TOK02 TOK04 TOK05
Availability Zoneを利用することで、複数のデータセンターにまたがっての構成が可能であり、
データセンター障害の場合でもアプリケーションの継続稼働を実現
シングルPOP/ シングルゾーン マルチPOP/ マルチゾーン
2018 IBM Corporation 8
AZを活用した提案例:VMware on IBM Cloud
シングルPOP/ シングルゾーン マルチPOP/ マルチゾーン
エンドユーザー
運用管理
Cloud Internet
Services
POP01
POP02
ESXi
データ
ストア
vSphere Cluster
ESXi ESXi
VM VM VM VM VM VM…
ESXi
データ
ストア
vSphere Cluster
ESXi ESXi
VM VM VM VM VM VM…
R1Soft
Server
Backup
エンドユーザー
運用管理
POP01
ESXi
データ
ストア
vSphere Cluster
ESXi ESXi
VM VM VM VM VM VM…
R1Soft
Server
Backup
TOK02
TOK02
TOK04
TOK05
Availability Zoneを利用することで、データセンター障害にも耐えられるより高可用性の
VMware環境の提供を実現
92018 IBM Corporation
東京にもついにやってきたPaaSサービス
最近東京にもきたPaaSサービス、何が使えるんだっけ??
Watsonとかいろいろありますが、説明しますね
IaaS上に構築できるものはAZ対応で確かにデータセンターレベルの
障害にも耐えられそうだね。
そうですね。
HA構成は自分で考えないといけないんだね。
もうちょっと楽にHA構成を組みたいなぁ。
稼働するSWやアプリの特性に合わせた選択が大事ですね。
102018 IBM Corporation
東京リージョンで利用できるPaaSサービス
従来より利用できたサービス
(TOK02のみで稼働)
ランタイム
• Kubernetes Service
• Container Registry
• Cloud Functions
• Cloud Foundry Enterprise Environment
データ・サービス
• Cloudant
• Cloud Databases(Redis/PostgreSQL)
デベロッパー・サービス
• Event Streams
• Continuous Delivery
セキュリティー・サービス
• AppID
• Key Protect
AIサービス
• Watson Assistant
• Watson Discovery
• Language Translator
• Watson Knowledge Studio
• Natural Language Classifier
• Natural Language Understanding
• Personality Insights
• Speech to Text
• Text to Speech
• Tone Analyzer
• Watson Studio
• Watson Knowledge Catalog
• Watson ML
データ・サービス
• Db2 Warehouse
• Db2
• Db2 Hosted
• IBM Blockchain Platform
Enterprise/Enterprise+
AZ 化により新たに利用できるようになったサービス
(TOK02/TOK04/TOK05で稼働)
2018/12/8現在
Cloud Foundry Enterprise Environment
- TOK02/TOK04/TOK05のいずれかを選択
- データベースがシドニーに配置
ランタイムからWatsonまで約30のサービスが東京で利用可能。
112018 IBM Corporation
Availability Zone対応のサービス
 利用者は稼働するゾーンを意識する必要なし
 冗長化された構成要素を3ゾーンに分散配置
 IKS上で稼働するようアーキテクチャーを変更
 東京ではすべてIAMによる認可
サービス
#1
(Active)
グローバル・ロードバランサー
サービス
#2
(Active)
サービス
#3
(Active)
インターネット
TOK02 TOK04 TOK05
サービス・エンドポイント
マネージド・サービスの一部としてAZを活用した高可用性構成を実現
122018 IBM Corporation
IBM Cloud Kubernetes Service(IKS)のAZ対応
GUI
CLI
API
Kubernetes Master
EtcdAPI Server
Controller Manager
Scheduler
Worker Node 1
Worker Node 2
Worker Node 3
Worker Node N
・・・・
Worker Node 1
Worker Node 2
Worker Node 3
Worker Node N
・・・・
Worker Node 1
Worker Node 2
Worker Node 3
Worker Node N
・・・・
Kubernetes Master
EtcdAPI Server
Controller Manager
Scheduler
GlobalLoadBalancer
IBM管理アカウントで稼働 お客様管理アカウントで稼働
IKSの構成要素も複数ゾーンに配置され、対障害性がより向上
Master Nodeが複数Zoneに配置
(Active/StandBy)
Worker Nodeを稼働させる
Zoneの数を1~3で指定
GLBを組み込み
Public NWのみ
132018 IBM Corporation
AZ対応のサービス - Databases for PostgreSQLの場合
グローバル・ロードバランサー
インターネット
サービス・エンドポイント
AZ対応はサービス・コンポーネント毎に冗長性を確保できるインプリとなっている。
リーダー
メンバー
フォロアー
メンバー
データ データ データ
etcd etcd etcd
 2ゾーンに配置された2データメンバー構成
 メンバー間でデータ同期
 残る1ゾーンにバックアップを配置
 クラスターの状態管理は3ゾーンに配置された
etcdで実施
142018 IBM Corporation
高可用性の構成としたPaaSアプリの構成例(AZ化以前)
INTERNET
SERVICES
(GLB)
ダラス
フランクフルト
IKS
IKS
CLOUDANT
CLOUDANT
APPLICATION
USER
APPLICATION
WATSON
ASSISTANT
WATSON
ASSISTANT
双方向レプリケーション
(設定)
同一構成の維持
(手動)
GLBの設定
(手動)
利用者が意識的に同一の構成を複数リージョンに配置し、それらが一つのシステムとして振る舞
うように設定
152018 IBM Corporation
高可用性の構成としたPaaSアプリの構成例(AZ化後)
INTERNET
SERVICES
東京
USER
TOK02
IKS
CLOUDANTAPPLICATION WATSON
ASSISTANT
TOK04
IKS
CLOUDANTAPPLICATION WATSON
ASSISTANT
TOK05
IKS
CLOUDANTAPPLICATION WATSON
ASSISTANT
ServiceEndpoint
ServiceEndpoint
同一構成の維持
(自動)
双方向レプリケーション
(自動)
GLBの設定
(自動)
利用者が意識しなくてもアプリケーションやサービスは標準で高可用性構成に
162018 IBM Corporation
東京にもついにやってきたPaaSサービス
そうですね。
国内でも冗長構成がとれたり、Watsonも冗長化されたのか。
高可用性の構成はPaaSだと簡単に作れるんだね。
普通にオーダーするだけでも高可用性構成なのか。
使えるものはマネージド・サービスをそのまま使うことも
ぜひご検討いただきたいです。
172018 IBM Corporation
AZで実現するHAなアーキテクチャの作り方 まとめ
☞ 東京リージョンの3つのゾーンを利用してセンターレベルの障害への対障害
性を実現可能
☞ PaaSのマネージド・サービスは3つのゾーンを組み合わせた構成を標準で利
用可能
☞ 必要があれば従来どおり別のリージョンでも稼働させ、アプリケーション・
レイヤーの冗長性と合わせ、x“9s”アプリケーションを実現

IBM Cloud Availability Zoneで実現するHAなアーキテクチャの作り方

Editor's Notes

  • #8 従来一つのデータセンターで複数ノードで稼働しているシステムを複数のデータセンターに分散させそれぞれ単一ノードで稼働させるようにすることができます。 前段にグローバル・ロード・バランサーを配置し、稼働中のノードで負荷分散を行うかたちで業務を継続させます。
  • #9 VMwareでは2つのゾーンで稼働させ、バックアップをさらに別のゾーンで稼働させるようなことができます。 TOK02がダウンしてもTOK04/TOK05が稼働しているため、業務を継続できます。同じようにTOK04/TOK05/POP01/POP02のうち一つが利用できない場合を考えても、稼働しているゾーンでシステムは業務を継続可能とおわかりいただけると思います。
  • #14 Databases for PostgreSQLのコンポーネントはAZを用いたHA構成の典型例なので、その方式を説明します。 PostgreSQLのデータメンバーは2つで構成されます。2つが別々のゾーンで稼働しリーダーメンバーとフォロアーメンバーとなります。 データ領域は2つのゾーンでリアルタイムで同期され、残る1ゾーンにバックアップが保持されます。 これらのクラスターの状態(どのノードがリーダーで、レプリケーションの状態はどうなっているかなど)は3ゾーン構成のetcdを使って管理されます。 コンポーネントごとに3ゾーンを使った高可用性構成をとり、それらを組み合わせてサービスを提供しているのです。
  • #15 従来は高可用性構成を実現するためには複数のリージョンに同じアプリケーション・サービスを配置し、それを利用者側で同一構成とるように運用する必要がありました。 アプリケーション・インスタンスはそれぞれのリージョンでアプリケーション・インスタンスを複数配置します。 サービスではそれぞれのリージョンにおなじサービスインスタンスを配置し、それらを同期するように構成します。 CloudantではCloudantクラスター間で双方向レプリケーションが可能で、それぞれのインスタンスが双方向でレプリケーションするように設定します(数分程度遅れて同期されます。) Watson Assistantでは同じ設定のサービスインスタンスを複数作成して、維持運用も同じように行います。 複数リージョン間の負荷分散はGlobal Load Balancerを用いて実施します。これも手動で設定する必要があります。 このとき注意が必要なのが、内部のサービスの状態です。Watson Assistantの場合、リクエストが複数のリージョンにまたがって要求されてしまうと状態が共有されていないため期待された通りの処理を行うことができません。この点を考慮するとGLBの設定は100%-0%もしくはその逆に設定しないと業務が正しく遂行できないので要注意が必要です。
  • #16 データの同期や分散配置などHA化において注意が必要な部分はマネージド・サービス運営側で実施するため、HA化という観点では考慮しなければいけないポイントがありません。 負荷分散の割合について、AZ化前の100%-0%のような構成にする必要はなくすべてのインスタンスを有効活用することができ、より経済的な利用が可能です。
  • #18 ファイブ・ナイン: 99.999%の稼働率、やシックス・ナイン: 99.9999%の稼働率を達成するためには一つのリージョンの環境だけでは足りない可能性があり、その場合には従来どおり複数のリージョンを組み合わせてその稼働率目標を達成します。