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

OCI技術資料 : OCIで考える高可用性アーキテクチャ

OCI技術資料 : OCIで考える高可用性アーキテクチャ

本資料は、2019/11/30に実施した、OCHaCafe Premium 第1回のプレゼンテーション資料を基にリバイスしたものとなっています。

高可用性システムの構築をサポートするOracle Cloudの様々な機能や、障害に強いアーキテクチャ設計の考え方などを紹介します。

Transcript

  1. Oracle Cloudで考える高可用性アーキテクチャ Oracle Cloud Infrastructure High Availability Architecture Oracle Cloud

    Infrastructure 技術資料 2020年12月
  2. Safe harbor statement 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を行う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright

    © 2020, Oracle and/or its affiliates. 2
  3. データセンターの電源障害 Copyright © 2020, Oracle and/or its affiliates. 3

  4. クラウドでの大規模障害 Copyright © 2020, Oracle and/or its affiliates. 4

  5. Oracle Cloudでの例 Copyright © 2020, Oracle and/or its affiliates. 5

    緊急メンテナンス • 2018年1月15日 • Intel Spectre対応 • 全ての仮想マシンインスタンスを強制再起動 (ベアメタルインスタンスは影響なし) • リブート処理は各AD毎に3つのグループ (フォルトドメイン)単位で実行
  6. Design For Failure – 障害に備えて設計しよう ! Copyright © 2020, Oracle

    and/or its affiliates. 6 • サーバーは落ちるもの、データセンターは止まるもの • Oracle Cloudも他人事ではない • IaaS/PaaSではアプリケーションの障害からの回復の最終責任はユーザーが負う • 高可用性実現にかかるコストと複雑性を、軽減できるリスクに対してうまくバランスさせる :お客様の責任範囲 :オラクルの責任範囲 ファシリティ ハードウェア 仮想基盤 OS ミドルウェア アプリケーション IaaS ファシリティ ハードウェア 仮想基盤 OS ミドルウェア アプリケーション PaaS ハードウェア 仮想基盤 OS ミドルウェア アプリケーション SaaS ファシリティ
  7. 本資料でお伝えしたいこと Copyright © 2020, Oracle and/or its affiliates. 7 1.

    高可用性とは 2. クラウドが備える特性を活かす 3. 高可用性要件別のモデル構成
  8. 本資料でお伝えしたいこと Copyright © 2020, Oracle and/or its affiliates. 8 1.

    高可用性とは 2. クラウドが備える特性を活かす 3. 高可用性要件別のモデル構成
  9. “高可用性”とは? Copyright © 2020, Oracle and/or its affiliates. 9 高可用性(こうかようせい、英:

    High Availability; ハイ・アベイラビリティ、HA)は可用性が高いことを 示すIT用語。システムなどにおいて、サービス提供が出来なくなる事態の発生頻度が少ないことを指す。 また、そのようなシステムをHA構成などと呼称する。システム的には冗長化構成を組んでいたり、バックアップ 手段の確立、災害対策システムを講じることでHAを実現させる。IT業界においてはほぼクラスタリングあるい はクラスタサーバと同義で使用される用語。(出典 : Wikipedia) 可用性(かようせい、英:Availability; アベイラビリティ)は、システムが継続して稼働できる能力のこと。 (出典 : Wikipedia) 本資料では「システムが継続して稼働できる能力が高いこと」という広義の意味で使っていきたいと思います。
  10. 機器障害 サイト障害 広域災害 障害のレベルと一般的な対策 Copyright © 2020, Oracle and/or its

    affiliates. 10 制約・考慮事項 小 分離性 大 耐障害性(Fault Tolerance)の強化 = 落ちにくいシステムを作る • 稼働リソースの冗長性の確保 • 性能やリソース余剰のモニタリング 復元性(Resiliency)の強化 = 落ちても復旧できるシステムを作る • 障害検知の強化 • データや構成情報のバックアップ • リソース再構成(復旧)の自動化 • リカバリ手順の確認、テスト、訓練
  11. クラウドにおける考え方とは? Copyright © 2020, Oracle and/or its affiliates. 11 本質的にはオンプレミスと考え方は同じ

    幸いクラウドでは高可用性構成の実装がオンプレミスと比べ手頃な価格に • 耐障害性(Fault Tolerances)や復元性(Resiliency)を備える堅牢なリソースが用意されている • ユーザーによる高可用性構成の実装をサポートする機能を簡単に利用できる クラウドを使って以下を目指そう! • オンプレで実装していた高可用性構成をより低コストで実現する or • オンプレでは諦めていたより高いレベルの可用性を実現する
  12. 本資料でお伝えしたいこと Copyright © 2020, Oracle and/or its affiliates. 12 1.

    高可用性とは 2. クラウドが備える特性を活かす 3. 高可用性要件別のモデル構成
  13. クラウドのリソースが備える特性を活かす Copyright © 2020, Oracle and/or its affiliates. 13 OCIの機能を利用した高可用性の実現

    リージョン 可用性ドメイン フォルト・ドメイン RAC Data Guard 各種バックアップ機能 各種リモートコピー機能 自動スケーリング Traffic Manager 堅牢なOCIリソースの使用 機器レベルの耐障害性/復元性 ブート・ボリューム / ブロック・ボリューム Oracle Database Cloud Service (Exadata) Oracle Autonomous Database サイトレベルの耐障害性/復元性 オブジェクト・ストレージ ロードバランサー (Public / Private) Oracle Container Engine for Kubernetes (OKE) セカンダリIP / 予約パブリックIP 広域レベルの耐障害性/復元性 OCI DNS
  14. 高速ブロック・ストレージ基盤 ブロック・ボリューム Copyright © 2020, Oracle and/or its affiliates. 14

    堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現 NVMe SSD をベースにしたストレージ・インフラストラクチャー • 1ボリューム当たりの容量: 50 GB – 32 TB (1GB単位) • 1インスタンス当たり、最大32個までアタッチ可能 (合計1PB) 冗長化された永続ストレージ(1つの可用性ドメイン内に複数コピー) • iSCSI もしくは 準仮想化接続 • Performance SLAはiSCSIボリュームに適用 インスタンスにアタッチして使用 • アタッチをはずしてもデータは永続 デフォルトで暗号化 Lower Cost Balanced Higher Performance 用途 コスト最適型でシーケンシャルIO のスループット重視のワークロード 向け ランダムIOを実行する様々な ワークロードに最適なバランス型 大規模DBなど最高性能を 必要とするワークロード向け IOPS 2 IOPS/GB (最大3000 IOPS/volume) 60 IOPS/GB (最大25,000 IOPS/volume) 75 IOPS/GB (最大35,000/volume) スループット 240 KB/s/GB (最大 480 MB/s/volume) 480 KB/s/GB (最大 480 MB/s/volume) 600 KB/s/GB (最大 480 MB/s/volume) Performance SLA No Yes Yes 価格 ¥3.06/GB-month ¥5.10/GB-month ¥7.14/GB-month ・・・ インスタンス Block Volume
  15. 低価格で信頼性の高いクラウド・ストレージ オブジェクト・ストレージ Copyright © 2020, Oracle and/or its affiliates. 15

    ORACLE CLOUD INFRASTRUCTURE (REGION) Availability Domain 1 Availability Domain 2 Availability Domain 3 高い耐障害性 • オブジェクトを置くと、リージョン内の物理的な3つ以上のデバイ スにデータが書き込まれる • リージョン内に複数の可用性ドメイン(データセンター)がある場 合には、全ての可用性ドメインにデータが配置 • 99.999999999% (Eleven-nine) の耐久性設計 非常に安価 • 1TBあたり Standard ¥3,060/月, Archive ¥312/月 様々なサービスと連携 • ブロック・ボリュームのバックアップ • イメージ、カスタム・イメージ • データベースのバックアップ • ロギングサービス(LA)の出力先 など オブジェクト・ストレージ データが3つ以上のデバイスに保管 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  16. 高可用性と開発生産性を両立するKubernetesプラットフォーム Container Engine for Kubernetes (OKE) Copyright © 2020, Oracle

    and/or its affiliates. 16 ポッドの配置と自動管理 • コンテナ化されたアプリケーションをデプロイ、管理 クラスタとノードプールの自己回復 • 仮想サーバー/ベアメタルサーバーをノードプールに追加 • ダウンしたノードで稼働していたポッドは正常ノードに移動し 稼働を継続 • ノードプール下に新しいノードが再作成されクラスタを回復 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現 Virtual Machine OKE OCI Registry Service Broker Load Balancer Object Storage Database System
  17. 高性能、高可用性を実現するOracle DBの究極のプラットフォーム Exadata Cloud Service/Autonomous Database Copyright © 2020, Oracle

    and/or its affiliates. 17 Oracle Databaseの高可用性プラクティスが 詰まったExadata上で稼働 • 全てのコンポーネント、サービスが多重化 • 様々な自己復元機能を搭載 • Real Application Cluster & Oracle Clusterware : DBサーバーノードのクラスタ • Service : データベース・サービスを複数ノード上で抽象化 • SCAN Listener : 接続サービスをクラスタレベルで抽象化 • Automatic Storage Management : 堅牢な共有スト レージ管理 Oracle Clusterware Real Application Clusters Service Automatic Storage Management SCAN Listener 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  18. 負荷分散によるスケールアウトと高可用性の実現 ロードバランサー Copyright © 2020, Oracle and/or its affiliates. 18

    トラフィックの高可用性をサポート • 1つのエントリ・ポイントから複数サーバにトラ フィックを自動配信 • 複数の可用性ドメイン(AD)に対してトラフィッ クを伝達 • バックエンドのダウン&アップに応じて、動的に 転送先を変更 サイトレベルの耐障害性 • 可用性ドメイン or フォルト・ドメイン間での冗 長化 • 障害時には自動的にフェイルオーバー 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現 AVAILABILITY DOMAIN-1 AVAILABILITY DOMAIN-2 VCN REGIONAL SUBNET 2 Backend Servers バックエンド・セット Backend Servers REGIONAL SUBNET 1 Load Balancer (Active) Load Balancer (Failover) リスナー パブリック IPアドレス Load Balancer Pair Internet Gateway
  19. OCIと統合されたグローバル・エニキャストDNSサービス OCI DNS Copyright © 2020, Oracle and/or its affiliates.

    19 グローバルレベルの耐障害性 • エニキャストDNS(単一のグローバルIPで世界中のDNS サーバーが応答) • OCIコアと別のエッジデータセンター群で稼働(Dyn.com) マルチシステム対応 • OCI、他クラウド、CDN、オンプレミス DNSトラフィック管理 • グローバルロードバランシング • フェイルオーバー • ジオロケーション・ステアリング • AS番号ステアリング • IP接頭辞ステアリング Cloud1 Datacenter1 IP Group A IP Group B IP Group C Cloud2 CDN ISP IP Group D DNS ユーザー DNS参照 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  20. クラウドのリソースが備える特性を活かす Copyright © 2020, Oracle and/or its affiliates. 20 OCIの機能を利用した高可用性の実現

    リージョン 可用性ドメイン フォルト・ドメイン RAC Data Guard 各種バックアップ機能 各種リモートコピー機能 自動スケーリング Traffic Manager 堅牢なOCIリソースの使用 機器レベルの耐障害性/復元性 ブート・ボリューム / ブロック・ボリューム Oracle Database Cloud Service (Exadata) Oracle Autonomous Database サイトレベルの耐障害性/復元性 オブジェクト・ストレージ ロードバランサー (Public / Private) Oracle Container Engine for Kubernetes (OKE) セカンダリIP / 予約パブリックIP 広域レベルの耐障害性/復元性 OCI DNS
  21. Oracle Cloud Infrastructure の リソース配置 Copyright © 2020, Oracle and/or

    its affiliates. 21 REGION A リージョン: • 地理的に異なる領域に存在 可用性ドメイン(AD): • リージョン内の完全に独立したデータセンター • 1つのリージョンに1つ または 3つから構成 フォルト・ドメイン(FD): • ハードウェアとインフラストラクチャをグループ化するもの • 予期しないハードウェア障害または計画的なハードウェア 保守からの保護を提供 • 1つのADに必ず3つのFDで構成 AVAILABILITY DOMAIN 1 AD 2 REGION B Fault Domain 1 FD 2 FD 3 AD 3 REGION C メンテナンス等の影響を受けない - 東京、大阪リージョンは、現在それぞれAD×1、FD×3 の構成 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  22. 2020年11月現在:28リージョン提供中、さらに10リージョン計画 Oracle Cloud Infrastructure リージョン Copyright © 2020, Oracle and/or

    its affiliates. 22 デュアル・リージョン:基本的に全ての国/地域で 2つ以上のリージョンを提供し、お客様の業務継続 要件に対応していく(日本の場合は東京-大阪) 各リージョンはOracle Backboneで接続 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  23. 可用性ドメイン と フォルト・ドメイン Copyright © 2020, Oracle and/or its affiliates.

    23 可用性ドメイン(AD) • 1つ以上のデータセンターから構成されるリージョン内の独立したファシリティ • 1つのリージョンにつき 1つ または 3つの可用性ドメインで構成 • 各ADは建屋、電源、冷却装置、ネットワーク接続が独立し、火災や水害などの災害時に影響を受けるADは1つのみ フォルト・ドメイン(FD) • AD内のハードウェアやインフラのセット/可用性ドメイン内で同時にハードウェア障害やメンテナンス停止が発生する可能性のある単位 • 1つの 可用性ドメインにつき 必ず 3つのフォルト・ドメインで構成 可用性ドメイン(AD) 間は 『広帯域(>=1Tb/sec)』 『低レイテンシー(< 0.5ms *)』 のネットワークで接続 • リージョン内の AD 間通信は無償 Oracle MAAなどの可用性とスケーラビリティを両立したアーキテクチャをクラウドでも構成可能 リージョン (東京、ロンドンなど) AD1 AD2 AD3 (*) One-way latency Rack Rack Rack FD1 FD2 FD3 AD ( 可用性ドメイン ) 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  24. 日本 の OCIリージョンの構成 Copyright © 2020, Oracle and/or its affiliates.

    24 東京リージョン 大阪リージョン 可用性ドメイン1 可用性ドメイン1 フォルト・ドメイン1 フォルト・ドメイン2 フォルト・ドメイン3 フォルト・ドメイン1 フォルト・ドメイン2 フォルト・ドメイン3 Transit POP Transit POP 東京リージョン、大阪リージョンは、まず1ADで構築 • 可用性ドメイン x 1 • フォルト・ドメイン x 3 • Transit POP (FastConnect接続点) x 1 • 東京リージョン : Equinix TY4 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現
  25. リソースの有効範囲 Copyright © 2020, Oracle and/or its affiliates. 25 堅牢なOCIリソースの

    使用 OCIの機能を利用した 高可用性の実現 すべてのOCIのリソースは存在する場所(有効範囲)が 決まっている、有効範囲は大きさ別に4段階存在する • グローバル : 作成すると、全てのリージョンで使えるようになるもの • リージョン : 作成すると、そのリージョン内でのみ使えるようになるもの • 可用性ドメイン : 特定の可用性ドメインを指定して利用するもの • フォルト・ドメイン : 特定のフォルト・ドメインを指定して利用するもの Oracle Cloud Infrastructure リージョン - Phoenix リージョン - Asuburn AD1 AD2 AD3 AD1 AD2 AD3 可用性ドメインに有効なリソース グローバルに有効なリソース リージョンに 有効なリソース フォルト・ドメインに有効なリソース
  26. https : //docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm リソースの有効範囲 Copyright © 2020, Oracle and/or its

    affiliates. 26 堅牢なOCIリソースの 使用 OCIの機能を利用した 高可用性の実現 有効範囲 サービス リソース グローバル IAM ユーザー, グループ, ダイナミック・グループ, コンパートメント, ポリシー, タグ・ネームスペース, タグ・キー, Federation, API signing key DNS DNSゾーン, DNSレコード, DNSトラフィック管理, WAFポリシー リージョン Compute イメージ Block Volume ブート・ボリュームおよびブロック・ボリュームのバックアップ Network VCN, ルート・テーブル, セキュリティ・リスト, DHCPオプションセット, インターネット・ゲートウェイ, DRG, CPE, Local Peering Gateway(LPG), 予約パブリックIP, リージョナル・サブネット Container クラスター, ノード・プール, リポジトリ Load Balancer パブリック・ロードバランサー, プライベート・ロードバランサー(w/ リージョナル・サブネット) Object Storage バケット 可用性ドメイン Block Volume ボリューム, ボリュームのクローン Network 可用性ドメイン固有サブネット, 揮発性(Ephemeral)パブリックIP Load Balancer プライベート・ロードバランサー(w/ 可用性ドメイン固有サブネット) フォルト・ドメイン Compute コンピュート・インスタンス Database データベース・システム Container クラスター・ノード
  27. 本資料でお伝えしたいこと Copyright © 2020, Oracle and/or its affiliates. 27 1.

    高可用性とは 2. クラウドが備える特性を活かす 3. 高可用性要件別のモデル構成
  28. 高可用性要件別のモデル構成 Copyright © 2020, Oracle and/or its affiliates. 28 今回はこの3種のモデル構成を考えてみます

    機器障害 サイト障害 広域災害 モデル構成 松 複数リージョン / 機器全冗長化 竹 (複数AD) - 単一リージョン / 機器全冗長化 - (単一AD) 梅 - - - 単一リージョン / 機器非冗長化 低コスト 高可用性
  29. 梅 - 単一リージョンの非冗長化構成例 [Date] Copyright © 2020, Oracle and/or its

    affiliates. 29 梅 竹 松
  30. 梅 - 単一リージョンの非冗長化構成例 Copyright © 2020, Oracle and/or its affiliates.

    30 要件の目安 サイト障害、広域災害は考慮しない 機器障害時 : RPO <数時間 / RTO <数時間 構成のポイント • コスト重視(単一リージョン、サーバー冗長なし) • 各レイヤーのサーバーは同じフォルト・ドメインに集中して配置し、 機器障害やメンテナンスによるダウンタイムを最小化 • Web/APの永続化ストレージ、DBのバックアップとしてオブジェク ト・ストレージを活用 • サーバー障害時はサーバー再作成 • DB障害時はバックアップからのリカバリ 東京リージョン FD1 Backup LB Subnet Web/AP Subnet DB Subnet 梅 竹 松
  31. OCI Monitioring で リソースの状態を常に監視する 梅構成で活用できるクラウドの機能(1) Copyright © 2020, Oracle and/or

    its affiliates. 31 梅 竹 松 ▪ 関連するOracle Cloud Service • Notifications(通知)、コンピュート、ネットワーク、ストレージ、 その他OCIサービス全般 Oracle Cloud Infrastructure METRICS ALARMS Notifications CPU: 80 CPU: 90 CPU: 40 CPU: 50 Customer Applications, Services, Resources Oracle Cloud Infrastructure Console Customer Monitoring Tool Monitoring OCIモニタリングでリソース状態を常に監視 • リソースの状態や性能を取得 • 事前定義済メトリックを活用 • APIを使うとカスタム・メトリックも定義できる OCIアラームによる警告の発報 • メトリックが閾値を超えた場合のアラームを設定 • 通知先 • 電子メール or PagerDuty • 将来はEventsサービスに連携予定 • メトリックが取得できない場合(absence)のアラームを設 定すると、リソースの死活が監視できる 実績のあるサードパーティ製ツールも使える • Hinemos • JP1 • Zabbix
  32. ブート・ボリュームを用いて 障害時に別インスタンスで復旧する(ことも考える) 梅構成で活用できるクラウドの機能(2) Copyright © 2020, Oracle and/or its affiliates.

    32 梅 竹 松 インスタンス障害時のデータ保護と高速復旧 • インスタンスのデータはブート領域(ブート・ボリューム)、デー タ領域(ブロック・ボリューム)共にネットワークアタッチされた 永続ストレージに格納 • インスタンス障害時にも、データは保護されている • 別インスタンスを起動してすぐにデータを利用可能 • もちろんインスタンス障害は単純な「リブート」でも復旧する 場合があるので、システム特性やケースバイケースで考える ボリュームは機器レベルの耐障害性を持つ • データは複数デバイスに冗長化されて保管 • 単一の可用性ドメイン(AD)に存在 ブート ボリューム 停止 launch インスタ ンス インスタンス ブロック・ボ リューム デタッチ アタッチ インスタ ンス インスタ ンス ブート ボリューム 別インスタンスからの利用 別インスタンスでのアタッチ
  33. ブロック・ボリュームを使い DenseIO インスタンスの可用性を向上する 梅構成で活用できるクラウドの機能(3) Copyright © 2020, Oracle and/or its

    affiliates. 33 梅 竹 松 インスタンス VM.DenseIO2.16 Oracle Database NVMe SSD Block Volume .dbf .dbf RMAN backup … as copy Oracle Databaseで、DenseIO(インスタンス 内蔵SSD)の高速なIOと、可用性を両立する • IaaS + BYOL限定 • DenseIO インスタンスに Oracle Database を構成 • データベースファイルは内蔵NVMe SSDに置いて、データベー スのIO処理を高速化を意図 • アタッチしたブロック・ボリュームにバックアップをRMANでイメージ コピーとして取得 • 障害時にはブロック・ボリュームのDBFをマウントして高速にリカ バリ
  34. 仮想マシンの自動再起動機能 を用いてダウンタイムを最小化 梅構成で活用できるクラウドの機能(4) Copyright © 2020, Oracle and/or its affiliates.

    34 梅 竹 松 インスタンス配下のインフラ障害によってVMインスタンスが停止 した場合、自動的にインスタンスのリカバリを試み、その内容は 管理者に通知される。(コンソールのお知らせ、メール) • Standard, GPUシェイプの場合 • 自動的に、リブート・マイグレーションの仕組みで別の物理ホスト 上でリブートして復旧。IPアドレスやアタッチされたブロックボリュー ムやVNICなどはそのまま保持される。 • インスタンスごとに、自動再起動を行わない設定も可能 • Dense I/Oシェイプの場合 • 同一ホスト上で再起動を行ってリカバリを試みる。復旧できない 場合は、インスタンスを終了するように管理者に通知される。この 場合は残っているブート・ボリュームやイメージから別のインスタンス を起動。 • ローカルNVMe領域のデータはリカバリされないため、ユーザー自 身でバックアップしたデータから復旧する必要がある。
  35. インスタンス・プール を用いて稼働インスタンス数を維持する 梅構成で活用できるクラウドの機能(5) Copyright © 2020, Oracle and/or its affiliates.

    35 梅 竹 松 インスタンス 構成 Instance Pool Provisioning ターゲット・インスタンス数: 3 既存インスタンス インスタンス・プール (Instance Pool) • コンピュート ・インスタンスを集合として管理 • ステータス(開始、停止、終了) およびターゲット・インスタンス数を 一括管理 • ロードバランサー とセットでの利用を推奨 (インスタンスが再作成されてもトラフィックが維持される) 非冗長化構成でも、ターゲット・インスタンス数を1に 設定しておけば、自動的に数を保持してくれる • インスタンス停止時には同じインスタンスを再起動 • インスタンス終了時には別インスタンスを作成 ※ 再起動までの時間はインスタンスの状況により異なる(15~20分 程度が多い)ため、必ず検証の上 ご利用ください ロード・バランサ トラフィックを分散
  36. リブート・マイグレーションで メンテナンスの影響タイミングを制御 梅構成で活用できるクラウドの機能(6) Copyright © 2020, Oracle and/or its affiliates.

    36 梅 竹 松 計画メンテナンス時等の影響タイミングをユーザが制御でき、アプリケーションへの影響を極小化することが可能 • ハードウェアの故障、セキュリティパッチの適用など、インスタンスのリブートを伴うメンテナンスが発生する場合、リブート 予定時刻が事前通知される • この計画停止を避けるためには、メンテナンス予定時刻よりも前に任意のタイミングでインスタンスをリブートさせることで、 自動的にインスタンスを別のインフラに移動し、強制的なリブートを回避。(=業務影響を最小化) • 通知時刻までにインスタンスをリブートしなかった場合は、Oracle側でインスタンスをリブート メンテナス再起動がスケジュールされているインスタンスを確認する方法 • 管理者宛てメール通知 • コンソールの「お知らせ」での通知 • コンソールの「検索」での検索 • コンソールのコンピュート・インスタンスの詳細画面で確認(左図) • APIやCLIでコンピュート・インスタンスの、 timeMaintenanceRebootDue フィールドを表示 • モニタリングで oci_compute_infrastructure_health ネームスペース のmaintenance_status メトリックを監視
  37. インスタンスをイミュータブル (=不変、作成後に変更しない) にする 梅構成のポイント Copyright © 2020, Oracle and/or its

    affiliates. 37 梅 竹 松 イミュータブルにするために • IPアドレスは固定しない • /etc/hostではなくDNSを利用して名前解決する • カスタム・イメージを使ってベースラインを作成 • cloud-init(作成時に実行されるスクリプト)の活用 • ホスト情報はインスタンス・メタデータから動的に取得 • データは外部に格納する(RDBMS 、FSS、Object Storage) • セッション情報も外部に格納する(Redis、Coherenceな ど)、できればステートレス • ログも外部に格納する(Object Storage) イミュータブルにするといいことは? • インスタンスプールがいつインスタンスを再作成してもOK • 障害時に既存インスタンスを諦めて新規インスタンスを立 ち上げて復旧できる • 自動スケーリングにも対応 • 開発環境、テスト環境などの立ち上げが簡単 • コンテナ化、Kubernetesの活用、Blue-Greenデプロイ メント、カナリアリリース、マイクロサービス・・・とか
  38. 竹 - 単一リージョンの冗長化構成例 [Date] Copyright © 2020, Oracle and/or its

    affiliates. 38 梅 竹 松
  39. 竹 - 単一リージョンの冗長化構成例 Copyright © 2020, Oracle and/or its affiliates.

    39 梅 竹 松 要件の目安 サイト障害、広域災害は考慮しない 機器障害時 : RPO 0 / RTO <30分 構成のポイント • バランス(単一リージョン、サーバー冗長あり) • 各レイヤーのサーバーは全て冗長化 • 異なるフォルト・ドメインに分散配置し、機器障害やメン テナンスによるダウンタイムを防止 • Web/APの永続化ストレージ、DBのバックアップとしてオ ブジェクト・ストレージを活用 東京リージョン FD2 Backup LB Subnet Web/AP Subnet DB Subnet FD1 Database (RAC or Data Guard)
  40. インスタンス配置場所を適切に選択する 竹構成で活用できるクラウドの機能(1) Copyright © 2020, Oracle and/or its affiliates. 40

    梅 竹 松 インスタンスの配置 場所を指定 AVAILABILITY DOMAIN 1 AD 2 Fault Domain 1 FD 2 FD 3 AD 3 • コンピュート・インスタンス、OKEノード、DBノード作成 時に、フォルト・ドメイン や 可用性ドメイン を指定 • サーバーレベルのアンチ・アフィニティ (FD分散) や、 サイトレベルのアンチ・アフィニティ (AD分散) により、 障害による停止確率を低減
  41. 自動スケーリング (Autoscaling) を活用する 竹構成で活用できるクラウドの機能(2) Copyright © 2020, Oracle and/or its

    affiliates. 41 メトリック・ベースの自動スケーリング • Monitoringサービスによって取得されたメトリックを使用し、あらかじめ設定した閾値に基づいて自動的にインスタン ス・プールのインスタンス数を増減 • ポリシーに設定可能なメトリック:CPU使用率、メモリ使用率 • 負荷がピークの期間はスケール・アウト、負荷が低い期間はスケール・インしてコストをセーブする • 指定したフォルト・ドメインや可用性ドメインに インスタンスが自動的に分散 • ロードバランサー と組み合わせると自動的にトラフィックを分散 • スケジュール・ベースでの自動スケーリングも可能 最小サイズ 初期サイズ スケーリングルール スケール前のインスタンスプール スケール後のインスタンスプール If CPU or Memory > 70% add 2 Instances If CPU or Memory < 70% remove 2 instances 最大サイズ 初期サイズ 梅 竹 松
  42. VIP-2 IP-1 Virtual IP を利用して別インスタンスへのIPフェイルオーバー 竹構成で活用できるクラウドの機能(3) Copyright © 2020, Oracle

    and/or its affiliates. 42 梅 竹 松 ORACLE CLOUD INFRASTRUCTURE (REGION) AD-1 AD-2 IP-1 VIP-2 VNIC1 primary Regional Subnet 10.0.1.0/24 VNIC1 primary primary primary インスタンス障害時のIPフェイルオーバー • インスタンスの仮想NIC(VNIC)には複数のセカンダリ IPを付与できる(図のVIP-2) • VM1が障害を起こした場合、VIP-2をVM2に付け替 えることでトラフィックをフェイルオーバー • プライベートIPは別のフォルト・ドメインや別の可用性ド メインのインスタンスにも移動できる 参考 : Pacemakerを使って仮想IPを別ADのインスタンスに自動フェイ ルオーバーする VM1 VM2
  43. ブロック・ボリュームのマルチアタッチ機能を利用したHAクラスター構築 竹構成で活用できるクラウドの機能(4) Copyright © 2020, Oracle and/or its affiliates. 43

    梅 竹 松 • 複数のコンピュート・インスタンスから一つのブロック・ボリュームをread/writeモードで同時にアタッチすることが可能。 • インスタンスへのアタッチ時にアクセス方法を以下から選択 • 読取り/書込み • 読取り/書込み – 共有可能 • 読取り専用 – 共有可能 • 「読取り/書込み - 共有可能(read/write – sharable)」を選択する場合 • 複数からの同時書き込みによるデータ破損を防止するために、必ずユーザー側でなんらかの クラスタ・ソフトウェアやクラスタ・ファイルシステムを導入する必要がある。 • 同時書込み操作の制御はOCI側では実施しません。 • 注)OCI上でのOracle RACは、これまでどおりOCI Database、ExaCS、ADBなどの PaaSのみでのサポート。IaaS上でのRACはサポートされません。 ブロック ボリューム クラスタウェア or クラスタファイルシステム
  44. https://jpn.nec.com/clusterpro/blog/20200602.html? 参考)NEC CLUSTERPRO を用いたHA構成 Copyright © 2020, Oracle and/or its

    affiliates. 44
  45. PaaSの機能でData Guardを簡単に構築する 竹構成で活用できるクラウドの機能(5) Copyright © 2020, Oracle and/or its affiliates.

    45 梅 竹 松 AD-1 AD-2 Region-A Standby DB Exadata System Primary DB Exadata System Standby DB Exadata System 同一AD 別AD DBCS : Data Guard を自動構成 • 同一AD/別AD/別リージョンのDB間で構成 同一コンパートメント内、同一シェイプ フィジカル・スタンバイを1つまで • 管理用 Data Guard Broker が有効 • 手動 Data Guard 構築も可能 リージョン間、別コンパートメント間、異なるシェイプ間、複 数スタンバイ(2~30)、 フィジカル以外など White Paper: Hybrid Data Guard to Exadata Cloud Services OCI Documentation(英語) Exadata DB System > Using Oracle Data Guard with Exadata DB Systems OCI Documentation(日本語) Exadata DB システム> Exadata DBシステムでのOracle Data Guardの使用 Region-B AD-1 別リージョン Standby DB Exadata System
  46. インターネットVPN 接続経路を冗長化する 竹構成で活用できるクラウドの機能(6) Copyright © 2020, Oracle and/or its affiliates.

    46 梅 竹 松 インターネットVPN経路の冗長化 • VPN接続のゲートウェイ(DRG : Dynamic Routing Gateway)には、2つのVPNエンドポイントが構成 • それぞれのエンドポイントに対し、顧客サイト側の別の物理 ルーターから複数のIPsec接続を張ることで冗長化 • 冗長化された経路に対しては、OCI側からは等価ルーティン グ(ECMP)が行われる 東京リージョン Transit POP 可用性 ドメイン Virtual Machine Database System 顧客サイト 顧客ルーター (CPE) VPN エンドポイント IPsec接続
  47. インターネットVPN 接続経路を冗長化する 竹構成で活用できるクラウドの機能(7) Copyright © 2020, Oracle and/or its affiliates.

    47 梅 竹 松 FastConnect x2 で経路を冗長化 • 各リージョンには専用線/閉域網の接続ポイント(Transit POP)があり、Transit POPにはFastConnectルーターが冗 長化されて設置 • FastConnectサービスを2ポート契約することで物理的に ポートおよびルーターを冗長化 • 冗長化されたポート(ルーター)に対し別回線(物理回線 or 仮想回線)を接続することで、経路を冗長化 (注)回線の冗長化方法は接続プロバイダや方式により異な るため、左図の限りではありません または、主:FastConnect、副:インターネットVPNも 可能 • 優先経路はBGPで制御 東京リージョン Transit POP 可用性 ドメイン Virtual Machine Database System 顧客サイト 仮想回線 閉域網 顧客ルーター (CPE) FastConnect ルーター
  48. AD1 AD2 LB Subnet Web/AP Subnet DB Subnet 竹+ -

    複数可用性ドメインのリージョンの場合(北米・欧州) Copyright © 2020, Oracle and/or its affiliates. 48 梅 竹 松 東京リージョン Backup 要件の目安 広域災害は考慮しない サイト障害時 : RPO <数分 / RTO <60分 機器障害時 : RPO 0 / RTO <30分 構成のポイント • ロードバランサー層とAPサーバー層は、異なる可用性 ドメインに分散して配置 • Data Guard / Active Data Gurad による別可用 性ドメインへのデータレプリケーション • オブジェクトストレージへのDBバックアップ Data Guard
  49. 竹++ - 複数可用性ドメインのリージョンの場合(北米・欧州) Copyright © 2020, Oracle and/or its affiliates.

    49 梅 竹 松 東京リージョン Backup LB Subnet Web/AP Subnet DB Subnet AD2 要件の目安 広域災害は考慮しない サイト障害時 : RPO <数分 / RTO <60分 機器障害時 : RPO 0 / RTO <30分 構成のポイント • ロードバランサー層とAPサーバー層は、異なる可用性 ドメインに分散して配置 • Data Guard / Active Data Gurad による別可用 性ドメインへのデータレプリケーション • オブジェクトストレージへのDBバックアップ AD1 Data Guard RAC
  50. 松 - マルチリージョンの構成例 Copyright © 2020, Oracle and/or its affiliates.

    50 梅 竹 松
  51. 松 - マルチリージョンの構成例 Copyright © 2020, Oracle and/or its affiliates.

    51 要件の目安 サイト障害、広域災害時 : RPO <30分 / RTO <30分 機器障害時 : RPO 0 / RTO 0 構成のポイント • 可用性重視(複数リージョン、サーバー冗長あり) • 複数リージョンをActive-ActiveまたはActive- Passiveで利用 • 各レイヤーのサーバーは全て冗長化 • 異なるフォルト・ドメインに分散配置し、機器障害や メンテナンスによるダウンタイムを防止 • Web/APの永続化ストレージ、DBのバックアップとして オブジェクト・ストレージを活用 梅 竹 松 東京リージョン 大阪リージョン FD1 FD2 FD1 FD2 フェイルオーバー or ロードバランス Data Guard Replication (rsyncなど) DNS WebAP WebAP Database (RAC) Database (RAC) Backup Backup
  52. 複数リージョンを有効化する 松構成で活用できるクラウドの機能(1) Copyright © 2020, Oracle and/or its affiliates. 52

    • 1つの契約において、世界中のOracle Cloud Infrastructure のリージョンが利用可能 • 初期は1つだけがホームリージョンとして有効になっている(緑のアイコ ン)、管理者ユーザーが「サブスクライブ」ボタンを押すことで数分で 他リージョンも有効化できる • セレクターで有効化済のリージョンを選択して利用 梅 竹 松
  53. VCN ピアリングを用いたリージョン間のプライベート接続 松構成で活用できるクラウドの機能(2) Copyright © 2020, Oracle and/or its affiliates.

    53 梅 竹 松 OCIリージョン2 OCIリージョン1 VCN VCN VCN Local Peering Gateway Local Peering Gateway Dynamic Routing Gateway Dynamic Routing Gateway ローカルVCNピアリング リモートVCNピアリング オラクルの バックボーン 回線を経由 VCN ピアリング 異なる2つのVCNをピア・ツー・ピアで接続する仕組み • プライベートIPアドレスでリソース同士が直接通信できる • 通信は外部のインターネットに出ない • インターネット経由の接続と比較して、通信速度 と セキュリティ の向上が見込める 2種類の接続方法 • ローカルVCNピアリング (リージョン内接続) • リモートVCNピアリング (クロス・リージョン接続)
  54. リージョン間のバックボーンを使う 松構成で活用できるクラウドの機能(3) Copyright © 2020, Oracle and/or its affiliates. 54

    梅 竹 松 DR用途に最適な専用線 - 低遅延、低ノイズ - 通信は暗号化、VPN構成不要 - オラクルが冗長化された占有回線を保持 • リモートVCNピアリングを構成して利用 • アウトバウンド・データ転送(B38327)料金が適用 - 最初の10TB/月 : 無料 - 10TBを超える分/月 : 3円/GB • ベストエフォート - 帯域保障が必要な場合は FastConnect の利用を推奨 OCI リージョン OCI リージョン OCI リージョン
  55. ボリュームのバックアップを別リージョンにコピーする ブロックボリュームのバックアップをリージョンをまたいでコピー • ユースケース:DR/BCP対策、リージョン間での移行/拡張 • バックアップ・ポリシーのクロス・リージョン・コピーを有効にすることでバックアップ取得+別リージョンへのコピーの自動化も可能 松構成で活用できるクラウドの機能(4) Copyright © 2020,

    Oracle and/or its affiliates. 55 梅 竹 松 ブロック ボリューム AVAILABILITY DOMAIN REGION A AVAILABILITY DOMAIN インスタンス バック アップ Backup REGION B バック アップ REGION C バック アップ 障害時、バックアップから 高速にインスタンスを復旧 Copy
  56. オブジェクトを別リージョンにコピーする 松構成で活用できるクラウドの機能(5) Copyright © 2020, Oracle and/or its affiliates. 56

    梅 竹 松 Menu -> Object Storage -> Bucketを選択 -> 対象オブジェ クトのメニューから”copy”を選択 コピー先のテナント、 リージョン、Bucket を指定 コピー処理のルー ルを選択 ETag値を記載 コピー処理のリクエストを 実行後、非同期に処理さ れる 異なるBucketにオブジェクトをコピー • 同一リージョンの異なるBucket • 別リージョンのBucket • 同一リージョンまたは別リージョンの他のテナントのBucket オブジェクト単位でのコピー操作(※Bucket単位ではない) 標準バケットとアーカイブバケット間のコピーも可能 下記のいずれかを一つ選択し、コピー処理のルールを設定 • 上書き可 • 上書き不可 • コピー元とコピー先オブジェクトのETag値が同一の場合のみ上 書き可 • 指定したETag値のオブジェクトをコピー
  57. バケットを別リージョンにレプリケーションする 松構成で活用できるクラウドの機能(6) Copyright © 2020, Oracle and/or its affiliates. 57

    梅 竹 松 レプリケーション Tokyoリージョン オブジェクト・ストレージ ソースバケット VCN Osakaリージョン オブジェクト・ストレージ 宛先バケット VCN オブジェクトストレージのバケットから別のバケット(同一または 別リージョン)のバケットへのレプリケーション • DR構成、高可用性構成の実現 • バケット単位での設定。ソースバケットと宛先バケットを指定 レプリケーションの動作 • 非同期レプリケーション • レプリケーション・ポリシー設定後にレプリケーション元バケットのオブ ジェクトを操作(アップロード、削除)すると自動的にレプリケー ション先に反映される • レプリケーション先バケットはRead Onlyとなる
  58. OCIトラフィック管理でサービスをグローバルにフェイルオーバーする 松構成で活用できるクラウドの機能(7) Copyright © 2020, Oracle and/or its affiliates. 58

    梅 竹 松 User Recursive Server OCI DNS Primary Region Redundant Region Outage Available プライマリ・リージョンのサービスのダウンを検知する と、OCI DNSの機能でトラフィックをスタンバイ・ リージョンに切り替える OCIヘルスチェック機能を使って死活を監視 フェイルオーバーの他に以下もサポート • ロードバランス • ジオロケーション・ステアリング • ASNステアリング • IP接頭辞ステアリング
  59. OCI ヘルス・チェックで外部からエンドポイントの状態を監視する 松構成で活用できるクラウドの機能(8) Copyright © 2020, Oracle and/or its affiliates.

    59 梅 竹 松 インターネットに公開しているサービスの可用性を監視および警告する機能を提供 マルチクラウド、オンプレミス環境など環境に依存せずハイブリッド環境のエンドポイントの監視が可能 サービス障害を検知した場合、Traffic Managementサービスと連携して自動的にDNSフェイルオーバ、またはAlarmサービスと連携 して通知が可能 OCIのコンソールに統合され、UIによる一貫した操作を提供 Your Server @ OCI • 世界中の23か所のVantage Point (AWS, Azure, GCP上で提供) – North and South America – Europe – Asia & Australia • HTTP , HTTPS , Ping(TCP , ICMP) • Optional HTTP Header value check
  60. 松’ - マルチリージョンの構成例 Copyright © 2020, Oracle and/or its affiliates.

    60 要件の目安 サイト障害、広域災害時 : RPO <30分 / RTO <30分 機器障害時 : RPO 0 / RTO 0 構成のポイント • 本番系はオンプレミス、待機系はクラウドで構成 • OCIのDNS機能を利用して切り替え / 移行 • データ移行/レプリケーションにはData Guard、 GoldenGate、またはRMANバックアップを利用 梅 竹 松 オンプレミス 東京リージョン FD1 FD2 フェイルオーバー Data Guard GoldenGate Replication (rsyncなど) DNS WebAP WebAP Database (RAC) Database (RAC) Backup SLB RMAN Backup FastConnect
  61. まとめ Copyright © 2020, Oracle and/or its affiliates. 61 

    Design For Failure!! : サーバーは落ちるもの、データセンターは止まるもの  高可用性の考え方は、クラウドでもオンプレミスでも本質は同じ  クラウドの機能を活用すると、より低コストでより高いレベルの可用性を実現できるようになる
  62. Appendix [Date] Copyright © 2020, Oracle and/or its affiliates. 62

  63. シリーズ : OCIスキルアップセミナー Copyright © 2020, Oracle and/or its affiliates.

    63 Oracle Cloud Infrastructure (OCI) の技術トピックを取り上げてディープに学習する勉強会シリーズです。 月に1回のペースで業務時間後に開催しています。 時々ミートアップイベントも予定しています Connpass の Oracle Code Night グループで活動中 https://oracle-code-tokyo-dev.connpass.com/
  64. Oracle Cloud 最新情報サイト Copyright © 2020, Oracle and/or its affiliates.

    64 http://qiita.com/organizations/oracle http://www.slideshare.net/oracle4engineer/ Oracle Cloud サービス情報 • https://cloud.oracle.com/ja_JP (サービス詳細、価格、トライアル申込) Oracle Cloud 日本語版ブログ • https://community.oracle.com/groups/oracle- cloud-japan-blog www.facebook.com/OracleCloudComputing @OracleCloudZone #OracleCloud
  65. Oracle Cloud Infrastructure マニュアル・ドキュメント Copyright © 2020, Oracle and/or its

    affiliates. 65 Oracle Cloud Infrastructure マニュアル (日本語 / 英語) • https://docs.cloud.oracle.com/iaas/api/ - APIリファレンス • https://docs.cloud.oracle.com/ja- jp/iaas/Content/General/Reference/aqswhitepapers.htm - テクニカル・ホワイト・ペーパー • https://docs.cloud.oracle.com/iaas/releasenotes/ - リリースノート • https://docs.cloud.oracle.com/ja-jp/iaas/Content/knownissues.htm - 既知の問題(Known Issues) • https://docs.cloud.oracle.com/ja- jp/iaas/Content/General/Reference/graphicsfordiagrams.htm - OCIアイコン・ダイアグラム集(PPT、 SVG、Visio用) ※ 日本語版は翻訳のタイムラグのため情報が古い場合があります。最新情報は英語版をご確認ください
  66. Oracle Cloud Infrastructure トレーニング・技術フォーラム Copyright © 2020, Oracle and/or its

    affiliates. 66 Oracle Cloud Infrastructure 活用資料集 • https://oracle-japan.github.io/ocidocs/ チュートリアル - Oracle Cloud Infrastructureを使ってみよう • https://oracle-japan.github.io/ocitutorials/ Oracle 主催 セミナー、ハンズオン・ワークショップ • https://www.oracle.com/search/events/ (右側の Filter から Locations -> Asia Pacific -> Japan と絞り込み) Oracle Cloud Infrastructure – General Forum (英語) • https://cloudcustomerconnect.oracle.com/resources/9c8fa8f96f/summary
  67. Oracle Cloud Service トライアル Copyright © 2020, Oracle and/or its

    affiliates. 67 トライアルのお申し込みサイト Oracle Cloud Service トライアル・プログラム  30日間有効な300ドル分のクラウド・クレジットを無償でご提供  期間終了またはクレジットを使い切ったあとも、同じアカウントを従量課金で 継続利用することも可能です  1つのトライアル環境で、Oracle Cloud Infrastructure だけでなく、 様々なPaaS / IaaS のサービスがお試し頂けます  登録にあたっては、有効な携帯電話番号とクレジット・カードのご登録が 必要になります Oracle Cloud Serviceトライアル申し込みご案内 お申し込みは数ステップでカンタン!  詳細なお申込み方法は下記FAQをご覧ください https://faq.oracle.co.jp/app/answers/detail/a_id/2809
  68. None