Skip to content

OCHaCafe Premium#1:Oracle Cloudで考える高可用性アーキテクチャ

   

https://ochacafe.connpass.com/event/152768/

番外編の第1回。高可用性の話です。

18:30 受付開始 

19:00 オープニング

19:10 セッション開始

  • https://speakerdeck.com/mmarukaw/oracleclouddekao-erugao-ke-yong-xing-akitekutiya
  • データセンター電源障害の話から
  • OCIはまだ日本に来てから日が浅いこともあり、大規模障害はまだない。
    • 海外ではあった
  • Design For Failure
    • サーバーは落ちる前提で考える
    • クラウドベンダーの保証はSLAの範囲内まで
    • アプリケーションの最終責任はユーザーが負う
    • 高可用性のためのコストと複雑性を、軽減できるリスクに対してバランスを取る
  • 高可用性とは
    • システムが継続して可動できる能力が高いこと
    • クラウドでもオンプレのときと考え方は同じ
    • クラウドの特性として高可用性を比較的低コストで実現できる
  • 障害のレベル
    • 機器障害
      • プロセスだったりハードウェアだったり
    • サイト障害
      • DCレベル
    • 広域災害
      • 地域まるごと
  • クラウドのリソースが備える特性を活かす
    • 本質的に堅牢なOCIリソース
      • オブジェクトストレージ
        • 耐障害性、安価、各種サービスとの連携
      • ロードバランサー
        • トラフィックの高可用性
        • サイトレベルの耐障害性
      • OKE(K8s)
        • クラスタとノードプールの自己回復
      • Exadata Cloud ServiceとAutonomous Database
        • Oracle Databaseの高可用性プラクティスが詰め込まれている
        • RACでスケール
      • OCI DNS
        • グローバルレベルの耐障害性
    • ユーザーに寄る高可用性実装を支援する
      • リソース配置
        • リージョン
        • 可用性ドメイン(AD)
          • データセンター
          • 東京はまだ1つなので、AZ障害イコールリージョン障害
          • データセンター間の通信は低レーテンシー
        • フォルト・ドメイン
          • DC内のサーバラック群をグループ化したもの
          • 仮想サーバーを別々の物理サーバーに配置したいときに有効
      • リソースの有効範囲
        • グローバル>リージョン>可用性ドメイン>フォルト・ドメイン
        • リージョンレベルのリソース(VCN)でリージョンまたぎをしたいときはピアリングをする必要がある
        • リージョナルサブネットというのがある

19:43 10分休憩

ビール投入

後半戦

  • 高可用性要件別のモデル構成
    • 単一リージョンの非冗長化構成
      • コスト重視
      • フォルト・ドメインを分けない
        • メンテナンス停止が1回で済む
      • サーバー障害時にはサーバー再作成をする
        • 再作成できるように準備しておく
      • インスタンスのブートボリューム・ブロックボリュームは別インスタンスにアタッチし直して再起動できる
      • 仮想マシンの自動再起動(非公式機能)
        • プロセスの再起動を仕込むのはユーザー
      • LBのターゲットインスタンス数を1にしておくと、自動的にインスタンスが立ち上がる
        • ポーリングの間隔に寄るが、15〜20分くらいで上がってくる
        • 内部のIPが変わるので、LBがあると良い
      • リブート・マイグレーション
        • ハードウェアの障害予知など
        • 2週間前くらいに通知が来る
    • 単一リージョンの非冗長化構成
      • サイト障害、広域障害は考慮しない
      • コスト重視
      • フォルトドメインは分散させる
      • オートスケーリングが使える
        • ターゲットインスタンスを動的に設定する
      • インスタンスの仮想NICにセカンダリIPを設定できる。それを別インスタンスに持っていく(フェイルオーバー)ことができる。
        • コマンド一発でいける
      • DBCS
        • かんたんにData Guard構成が作成可能
        • 今のところリージョン内のみ
    • マルチリージョンアーキテクチャ
      • リージョンまたぎ
      • DNSで分散させる
      • マルチリージョンにするには、利用するリージョンを選択する
        • デフォルトではホームリージョンのみ
      • リージョン間の通信はピアリングで接続する
        • アウトバウンド通信にインターネット経由と同じ金額がかかる(10TBまで無料)
        • ベストエフォートなので、帯域保証したい場合はFastConnect(専用線接続)を使用する
      • リアルタイムレプリケーションが必要な場合は、サードパーティのものを使う必要がある
      • トラフィック管理
        • ヘルスチェック
          • OCI外から監視する
            • AWS,CGP,Azureなど
          • フェイルオーバー
            • DNS切り替えるまでの時間は、誤検知を避けるために30秒程度にしておく

20:30 セッション終了/懇親会 

21:45 撤収