ブート・ボリュームの置換
インスタンスを終了および再作成せずに、インスタンスのブート・ボリュームを自動的に置換できます。インスタンスが停止し、ブート・ボリュームが置き換えられ、ボリューム交換プロセス前の状態にインスタンスが戻されます。この機能により、問題が検出されたり、新機能の実装にアップグレードが必要な場合に、ブート・ボリュームを交換できます。
ブート・ボリュームの置換要件およびオプション
ブート・ボリューム置換を使用するためのOSおよびイメージの主な要件を次に示します。
- Linuxオペレーティング・システムおよびイメージのみがサポートされています。
- Windowsおよびマーケットプレイスのイメージはサポートされていません。
- ブート・ボリュームは、同じLinuxディストリビューションを使用するブロック・ボリュームとイメージでのみ置き換えることができます。たとえば、Oracle LinuxからUbuntuに、またはその逆に切り替えることはできません。
- イメージの制限は、イメージに関連付けられた起動オプションおよび現在インスタンス上にあるものに適用されます。たとえば、イメージのブート・ボリューム・アタッチメント・タイプがインスタンス起動オプションと一致しない場合、イメージは無効とみなされます。
インスタンスに関して、次のことが必要です。
- 仮想マシンまたはベア・メタル・インスタンス。
- そして、次のいずれか:
- 互換性のあるオペレーティング・システムを持つフォーマット済ブロック・ボリューム。
- インスタンスと互換性のあるバックアップ・イメージ。
必要なIAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者がテナンシ管理者によってポリシーでセキュリティ・アクセス権が付与されたグループのメンバーである必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、どのタイプのアクセス権があり、どのコンパートメントでアクセスが機能するかをテナンシ管理者に確認してください。
ブート・ボリュームの置換を有効にするには、コンパートメントまたはテナンシに必要なポリシーを追加します。次に、コンパートメントおよびテナンシのブート・ボリューム置換を許可する管理レベルのインスタンス・ポリシーの例を示します。
コンパートメントのポリシーの例
allow group InstanceUpdaters to manage instances in compartment instanceCompartment
OR
allow group InstanceUpdaters to manage instance-family in compartment instanceCompartment
テナンシに対するポリシーの例
allow group InstanceUpdaters to manage instances in TENANCY
OR
allow group InstanceUpdaters to manage instance-family in TENANCY
既存のポリシー・セットの場合、ブート・ボリュームの置換を許可するために必要な最小限の変更は、次のポリシーです。
allow group InstanceUpdaters to {INSTANCE_BOOT_VOLUME_REPLACE} in instanceCompartment
この例では、
InstanceUpdaters
はインスタンスの更新を許可するポリシー・グループです。ブート・ボリューム置換のロールバック
ブロック・ボリューム置換の実行中に問題が発生した場合、システムはインスタンスを元の状態にロールバックしようとします。実行するステップは次のとおりです。
- インスタンス・メタデータをリストアします。
- インスタンスの状態をリストアします。
- アタッチされたボリュームの状態をリストアします。
- インスタンスを再起動します。
理想的には、インスタンスが前の状態にリストアされます。これはすべての状況では不可能かもしれません。
ロールバックが発生すると、新しい宛先ボリュームは次のように処理されます:
- イメージが使用されると、ロールバックによって生成されたブート・ボリュームが削除されます。
- ボリュームOCIDを使用する場合、ロールバックによって宛先ブート・ボリュームは削除されません。
コンソールの使用
ブート・ボリューム・オプションを選択します
インスタンスのブート・ボリュームを交換するには、次を実行します。
- ナビゲーション・メニューを開き、「コンピュート」を選択します。「コンピュート」で、「インスタンス」を選択します。
- インスタンスの名前をクリックします。
- 「他のアクション」メニュー項目から、「ブート・ボリュームの置換」を選択します。
- 置換ブート・ボリューム・オプションを構成します。
- ブート・ボリュームの保持: 「有効」の場合、置換が成功すると、以前のブート・ボリュームは保持されます。それ以外の場合、ブート・ボリュームは終了します。
置換ブート・ボリュームの選択
次のいずれかの方法を使用して、交換ボリュームを選択します。
- 「置換」で、「ブート・ボリューム」を選択します。
- 「ブート・ボリュームの適用基準」で、「リストから選択」を選択します。
- リストをクリックしてボリュームを選択します。 ノート
コンパートメントを変更するためのオプションを使用できます。
- 「置換」で、「ブート・ボリューム」を選択します。
- 「次によるブート・ボリュームの適用」で、「OCIDの入力」を選択します。
- ブート・ボリュームのOCIDを入力します。
- 「置換」で、「イメージ」を選択します。
- 「イメージの適用基準」で、「リストから選択」を選択します。
- リストをクリックしてイメージを選択します。 ノート
コンパートメントを変更するためのオプションを使用できます。
- 「置換」で、「イメージ」を選択します。
- 「イメージの適用基準」で、「OCIDの入力」を選択します。
- イメージのOCIDを入力します。
選択内容の確認
「置換」をクリックして選択します。
CLIの使用
インスタンスを更新するには、instance updateコマンドおよび必須パラメータを使用します:
oci compute instance update --from-json <file://path/to/file.json>
<file://path/to/file.json>は、インスタンスの詳細を定義するJSONファイルへのパスです。JSONファイルの例を生成する方法の詳細は、JSONの拡張オプションを参照してください。
Compute Service CLIコマンドのフラグおよび変数オプションの完全なリストは、Computeのコマンドライン・リファレンスを参照してください。
APIの使用
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
次のAPI操作を使用して、インスタンスのブート・ボリュームを置き換えます: