Oracle Cloud Infrastructure(以降、OCI)が提供するComputeサービスで作成できる仮想サーバー(以降、Computeインスタンス)とベアメタル・サーバーは、物理インフラストラクチャの上で稼働しています。
OCIでは、この物理インフラストラクチャに対して内部的にメンテナンスが実施される場合があります。物理インフラストラクチャ上で稼働している環境への、このメンテナンスによるダウンタイムを最小限に抑える仕組みとして、ライブ移行という機能が提供されています。
本記事では、メンテナンスの仕組みを説明した上で、ライブ移行のメリットを受けられるように、動作要件、実施タイミング、制御方法について解説します。
メンテナンスの仕組み
まず、Computeサービスのメンテナンスの仕組みを説明します。
メンテナンスは物理インフラストラクチャに対して実施されます。具体的には、以下のように稼働中のComputeサービスの各環境を別の物理インフラストラクチャに移行して、対象の物理インフラストラクチャのメンテナンスが実施されます。
メンテナンスの際には、稼働している環境を移行する必要があります。
移行方式には、今回解説するライブ移行のほかに2つあります。
ライブ移行の理解にも関わる方式のため、簡単に紹介します。
再起動移行
まず「再起動移行」方式を説明します。これは、Computeインスタンス、ベアメタル・サーバー環境が自動的に停止され、別の物理インフラストラクチャに移行された後に、当該環境が再起動される方式です。
この再起動移行は、計画メンテナンスとして実施期日のスケジュールが以下のような方法で事前にユーザーに通知され、期日から24時間以内に再起動移行が実行されます。
・OCI管理者宛てにメール通知
・OCIコンソールの「お知らせ(画面右上のベルマーク)」で通知
・OCIコンソールのComputeインスタンス、ベアメタル・サーバーの詳細画面で通知
再起動移行後のComputeインスタンス、ベアメタル・サーバー環境は、再起動移行前の稼働状況を引き継ぎます。
起動状態で再起動移行が実行された場合は、自動で起動します。
ただし、後述の【補足2】にある「メンテナンス後の再起動」が「無効」の場合は、起動状態で再起動移行が実行されても自動で起動せず、停止状態のままです。
停止状態で再起動移行が実行された場合は、停止状態のままです。
手動移行
次に「手動移行」方式を説明します。これは、再起動移行の実施期日までにユーザーが手動でComputeサービスの環境を再起動して、別の物理インフラストラクチャに移行する方式です。
再起動移行の期日前にComputeインスタンス、ベアメタル・サーバーを事前に手動で再起動することで、停止時間が発生するタイミングをユーザー側で制御できる点がメリットです。
ライブ移行の基本動作、メリット、要件
ここから、ライブ移行の基本動作、メリット、要件を説明します。
ライブ移行の基本動作
ライブ移行は、メンテナンス対象の物理インフラストラクチャ上で稼働しているComputeインスタンスをソースVMインスタンスとして、別の物理インフラストラクチャにターゲットVMインスタンスとしてコピーする方式です。
ライブ移行はComputeインスタンスのみが対象であり、ベアメタル・サーバーは対象外となります。
ライブ移行のメリット
ライブ移行の代表的なメリットとして、メンテナンスによるダウンタイムを極力ゼロに抑えることが挙げられます。
通常、物理インフラストラクチャのメンテナンス時には、稼働中のComputeインスタンスを別の物理インフラストラクチャに移行するためにComputeインスタンスの再起動が必要になります。(再起動移行、手動移行)
ライブ移行はComputeインスタンスのコピーを利用するため、再起動による立ち上げを待つ必要が無く、ダウンタイムを仮想的な切り替え処理の数十ミリ秒程度に抑えることができます。
ライブ移行の要件
ライブ移行の要件として、次のサポート基準を満たす必要があります。
※詳細は以下のマニュアルもご参照ください。(※オラクル社のサイトに移動します)
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/movinganinstance.htm#live-migration__live-migration-support
| 項目 |
サポート基準 |
| テナンシが存在するリージョン(レルム) |
商用レルムに存在するテナンシを使用していること。 |
| Computeのシェイプ |
対象のComputeは、次のシェイプを使用していること。
・VM.Standard1シリーズ
・VM.Standard.A1.Flex
・VM.Standard.B1シリーズ
・VM.Standard2シリーズ
・VM.Standard3.Flex
・VM.Standard.E2シリーズ
・VM.Standard.E2.1.Micro
・VM.Standard.E3.Flex
・VM.Standard.E4.Flex
・VM.Standard.E5.Flex
・VM.Optimized3.Flex
|
| OSイメージ | OCI提供のLinuxまたはWindowsのプラットフォーム・イメージ、カスタム・イメージまたはOracle Cloud Infrastructure Marketplaceイメージを使用していること。
※OCI提供のプラットフォーム・イメージを使用したComputeインスタンスの場合、互換性の確認がされており、ライブ移行できない場合にはOCI側で調査・対応が行われます。
※カスタム・イメージまたはMarketplaceイメージを使用したComputeインスタンスの場合、内部的にライブ移行可否のチェックが行われ、移行可能な場合のみライブ移行が行われます。 |
| ネットワーク起動タイプ |
準仮想化ネットワークを使用していること。 |
| 保護インスタンス(※1) |
有効の場合、ライブ移行はサポートされません。 保護インスタンスではない(セキュア・ブート、測定ブートが無効である)こと。 |
| Windows Defender Credential Guard(※2) |
有効の場合、ライブ移行はサポートされません。 Windows Defender Credential Guardを使用していないこと。 |
| 仮想ネットワーク・インタフェース・カード(VNIC) |
アタッチされているVNICの合計数が”6”以下であること。 |
(※1)セキュア・ブート、測定ブートおよびTrusted Platform Moduleの機能を組み合わせて、Computeのファームウェア・セキュリティを強化します。
(※2)Microsoft社が提供している、ユーザーID(資格情報)を盗難攻撃から保護するためのセキュリティー機能です。
ライブ移行の設定方法と設定内容の意味
ライブ移行を適切に運用するための設定方法と、設定内容の意味について説明します。
ライブ移行の設定方法
既存のComputeインスタンスと、新規に作成するComputeインスタンスへの設定方法を説明します。
既存のComputeインスタンスへの設定方法
Computeインスタンス詳細画面の[メンテナンス]タブにあるライブ移行の[変更]から設定できます。
[変更]をクリックすると設定ダイアログが表示されます。
「無効」の場合は、「オプトアウト」が選択されます。
「有効」の場合は、「可能な場合にライブ移行を使用」が選択されます。
有効化したい場合は、「可能な場合にライブ移行を使用」を選択して、[更新]をクリックします。
※設定変更時に、Computeインスタンスの再起動は発生しません。
※OCIコンソールでは「無効」「有効」と表示されていますが、どちらの場合も最終的にライブ移行が試行されます。
※ライブ移行を完全に無効化する(ライブ移行を採用しない)ことはできません。以下のとおり、OCIがライブ移行か再起動移行かを選択します。
それぞれの設定内容の意味は以下のとおりです。
・「Oracle Cloud Infrastructureに最適な移行オプションを選択させます」
メンテナンスの際に、物理インフラストラクチャとComputeインスタンスの間で稼働しているハイパーバイザーの稼働状況によって、ライブ移行か再起動移行かをOCIが内部的に選択して実行します。
- ハイパーバイザーが100%安定している場合、ライブ移行
- ハイパーバイザーが100%安定していない場合、再起動移行
・「オプトアウト」
このオプションを選択すると、メンテナンス通知を受信して再起動移行が優先されます。
期日までにComputeインスタンスの再起動を実施しない場合、ライブ移行が発生します。
ライブ移行が正常に完了しない場合は、再起動移行が発生します。
メンテナンス通知を受信し、再起動移行を優先させたい場合は、このオプションを選択します。
・「可能な場合にライブ移行を使用」
このオプションを選択すると、メンテナンス通知はされずにライブ移行が優先されます。
ライブ移行が正常に完了しない場合は、改めてメンテナンス通知が行われ再起動移行が発生します。
また、ハイパーバイザーが100%安定していない場合でもライブ移行が可能とOCI内部で判断された場合には、ライブ移行が実行されます。
メンテナンス内容や実施を意識しなくとも良いという場合は、このオプションを選択します。
新規に作成するComputeインスタンスへの設定方法
Compute作成画面にライブ移行の設定項目があります。
デフォルトで「有効」にチェックが入っていますので、このまま作成します。
【補足1】ライブ移行が実行されないケース
ライブ移行の要件を満たしている環境であっても、上述のようにハイパーバイザーの安定性によってはライブ移行は実行されません。
【補足2】Computeインスタンスの新規作成時にライブ移行を無効にした場合
Computeインスタンス作成画面でライブ移行の「有効」のチェックを外すと、再起動移行の動作の設定を求められます。
「有効」の場合、前述の再起動移行の動作となります。
「無効」の場合、起動中のComputeインスタンスが再起動移行されても停止したままとなります。
再起動移行の設定は、Computeインスタンス詳細画面の[その他のアクション]に[編集]から変更可能です。
インスタンスの編集画面の「拡張オプションの表示」をクリックし、「可用性構成」タブをクリックします。
「インフラストラクチャのメンテナンス後にインスタンスのライフサイクル状態をリストアします」のチェック有無で設定し「変更の保存」をクリックします。
※設定変更時に、Computeインスタンスの再起動は発生しません。
※現在の設定は、Computeインスタンス詳細画面の[メンテナンス]タブにある「メンテナンス・リカバリ・アクション」から確認可能です。「インスタンスの停止」を選択すると、再起動移行後にComputeインスタンスは起動せずに停止したままです。
「インスタンスのリストア」を選択すると、再起動移行前にComputeインスタンスが起動していれば、再起動移行後に自動的に起動します。
ライブ移行の実行タイミング
実行タイミングについては、以下のフロー図をご参考ください。
メンテナンスのフロー図
まとめ
今回は、Computeサービスのメンテナンスの仕組みとライブ移行について解説しました。
ライブ移行について、より詳しい情報はマニュアルもご参照ください。(※オラクル社のサイトに移動します)
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/movinganinstance.htm#live-migration
メンテナンスの仕組みやライブ移行の特徴を覚えておくことで、突然のメンテナンスにも慌てることなく、お客様の利用状況に応じて臨機応変な対応が可能になります。
本記事がお客様の業務のお役に立てば幸いです。
執筆者情報
2018年アシスト入社後、Oracle Databaseフィールド業務に従事。2019年からはOracle Cloudのフィールド業務とサポート業務を兼務中 ...show more