Database Support Blog

  • Oracle Cloud
  • Oracle Database
2024.05.21

ブートボリュームのバックアップからOracle CloudのComputeインスタンスを複製してみよう

障害からの復旧や構成変更の検証などの目的でComputeインスタンスの複製をしたい、というお問い合わせをいただくことがあります。

Oracle Cloudでは、ブートボリュームのバックアップから簡単にComputeインスタンスを複製することができます。

実際に利用されているOracle Cloud環境では、データ用のブロックボリュームをComputeインスタンスにアタッチしている場合も多いため、本記事では、ブロックボリュームの複製やアタッチの手順も含めてComputeインスタンスの複製手順をご紹介します。

Computeインスタンスの複製手順

本記事では以下の構成を前提とします。

・Oracle Cloud Infrastructure Compute
・Linux系OS
・複製元インスタンスと複製先インスタンスは同じVCN、同じサブネットを使用する
・プライベートIPアドレスやパブリックIPアドレスは複製元インスタンスと複製先インスタンスで異なる
・ブロックボリュームは準仮想化でアタッチする

本記事では、以下の流れでブートボリュームのバックアップを使用したComputeインスタンスの複製を行います。
 1)ブートボリュームのバックアップを取得する。
 2)ブートボリュームのバックアップをリストアする。
 3)リストアしたブートボリュームから複製先インスタンスを複製(作成)する。
 4)(ブロックボリュームをアタッチしている場合の追加手順)
  複製元インスタンスにアタッチされているブロックボリュームのバックアップを取得する。
 5)(ブロックボリュームをアタッチしている場合の追加手順)
  ブロックボリュームのバックアップをリストアする。
 6)(ブロックボリュームをアタッチしている場合の追加手順)
  複製先インスタンスに、リストアしたブロックボリュームのアタッチとマウントを行う。

ブートボリュームのバックアップを取得

OCIコンソールから複製元インスタンスにアタッチされているブートボリュームのバックアップを取得します。
※障害復旧を目的として複製を行う場合は、事前に取得している正常時のバックアップを使用するため、本手順をスキップして次の手順に進みます。

OCIコンソールのメニューから、「コンピュート > インスタンス」からインスタンスの一覧を表示し、複製元インスタンスを選択します。

”リソース”から「ブート・ボリューム」を選択し、アタッチされているブートボリュームを選択します。

”リソース”から「ブート・ボリューム・バックアップ」を選択し、「ブート・ボリュームのバックアップの作成」をクリックします。

名前」に任意の値を入力し、「バックアップ・タイプ」で「完全バックアップ」か「増分バックアップ」のどちらかを選択(本記事では「完全バックアップ」を選択)し、「ブート・ボリュームのバックアップの作成」をクリックします。

ブートボリュームのバックアップをリストア

OCIコンソールからブートボリュームのバックアップをリストアします。

OCIコンソールのブートボリュームバックアップのページにて、「ブート・ボリュームのリストア」をクリックします。

名前」に任意の値を入力し、「ブート・ボリュームのリストア」をクリックします。

リストアしたブートボリュームから複製先インスタンスを複製(作成)

リストアしたブートボリュームから複製先インスタンスを複製(作成)します。

OCIコンソールのリストアしたブートボリュームのページにて、「インスタンスの作成」をクリックします。

イメージ」がリストアしたブートボリュームであることを確認し、要件に合わせて他の設定を変更し、複製先インスタンスを作成します。

ブロックボリュームのバックアップを取得

複製元インスタンスにブロックボリュームをアタッチしている場合の追加手順です。

OCIコンソールから複製元インスタンスにアタッチされているブロックボリュームのバックアップを取得します。
※障害復旧を目的として複製を行う場合は、事前に取得している正常時のバックアップを使用するため、本手順をスキップして次の手順に進みます。

OCIコンソールの複製元インスタンスのページにて、”リソース”から「アタッチされたブロック・ボリュームのバックアップ」を選択し、「ブロック・ボリュームのバックアップの作成」をクリックします。

名前」に任意の値を入力し、「バックアップ・タイプ」で「完全バックアップ」か「増分バックアップ」のどちらかを選択(本記事では「完全バックアップ」を選択)し、「ブロック・ボリュームのバックアップの作成」をクリックします。

ブロックボリュームのバックアップをリストア

複製元インスタンスにブロックボリュームをアタッチしている場合の追加手順です。

OCIコンソールからブロックボリュームのバックアップをリストアします。

OCIコンソールのブロックボリュームバックアップのページにて、「ブロック・ボリュームのリストア」をクリックします。

名前」に任意の値を入力し、「ブロック・ボリュームのリストア」をクリックします。

複製先インスタンスにブロックボリュームのアタッチとマウント

複製元インスタンスにブロックボリュームをアタッチしている場合の追加手順です。

複製先インスタンスに、リストアしたブロックボリュームのアタッチとマウントをします。

OCIコンソールの複製先インスタンスのページにて、”リソース”から「アタッチされたブロック・ボリューム」を選択し、「ブロック・ボリュームのアタッチ」をクリックします。

リストアしたブロックボリュームを選択し、「アタッチ」をクリックします。

複製先インスタンスのopcユーザーにSSH接続をし、ブロックボリュームをマウントします。

(実行例)



$ sudo mount -a



Computeインスタンス複製の補足事項

複製先インスタンスのOSは複製元と同じになる

リストアしたブートボリュームから複製先インスタンスを複製(作成)する際、リストアしたブートボリュームをイメージとして用いるため、複製先インスタンスは複製元インスタンスと同じOS、OSバージョンになります。

複製元インスタンスと同じパブリックIPアドレスを使用する場合の注意

本記事では複製元インスタンスと複製先インスタンスでパブリックIPアドレスは異なる構成を前提としていますが、障害復旧を目的として複製を行う場合は、複製元インスタンスと同じパブリックIPアドレスを使用したいというケースもあります。

しかし、複製先インスタンス作成時に割り当てられるパブリックIPアドレスは自動割り当てのため、明示的に指定することができません。

ただし、複製元インスタンスであらかじめ予約済IPアドレスを使用している場合は、予約済IPアドレスの割り当てを複製元インスタンスから複製先インスタンスに変更することで、複製元インスタンスと同じパブリックIPアドレスを使用できます。

それ以外の場合は同じパブリックIPアドレスを使用することはできませんので、ご留意ください。

複製元インスタンスと同じプライベートIPアドレスを使用する場合の注意

本記事では複製元インスタンスと複製先インスタンスでプライベートIPアドレスは異なる構成を前提としていますが、障害復旧を目的として複製を行う場合は、複製元インスタンスと同じプライベートIPアドレスを使用したいというケースもあります。

複製先インスタンスで複製元インスタンスと同じプライマリプライベートIPアドレスを使用したい場合は、事前に複製元インスタンスの終了(削除)が必要です。

そのため、何らかの理由で複製元インスタンスを残したい場合は、複製先インスタンスでは複製元インスタンスと同じプライマリプライベートIPを使用することができません。

ただし、複製元インスタンスでセカンダリプライベートIPアドレスを割り当てていて、複製先インスタンスで同じプライベートIPアドレスを使用する場合は、複製元インスタンスでセカンダリプライベートIPアドレスの割り当てを解除した上で、複製先インスタンスで同じプライベートIPアドレスを割り当てることができます。

ブロックボリュームをiSCSIでアタッチする場合の注意

本記事ではブロックボリュームを準仮想化でアタッチする構成を前提としていますが、iSCSIでアタッチしたいというケースもあります。

OCIコンソールからブロックボリュームをiSCSIでアタッチする場合、ブロックボリュームをマウントする前に、追加でiSCSIコマンドでアタッチする手順が必要です。

アタッチするためのiSCSIコマンドは、OCIコンソールから確認可能です。

OCIコンソールの複製先インスタンスのページにて、”リソース”から「アタッチされたブロック・ボリューム」を選択し、右端にあるメニューから「iSCSIコマンドおよび情報」を選択します。

接続」の箇所に表示されているコマンドをコピーし、複製先インスタンスのopcユーザーにSSH接続をしてコマンドを実行します。

その後、準仮想化でアタッチする場合と同様に、mountコマンドでブロックボリュームをマウントします。

まとめ

本記事ではブートボリュームのバックアップを使用したComputeインスタンス複製の方法をご紹介しました。

万が一の障害に備える目的や、検証環境作成のために、本記事がお役に立てれば幸いです。


執筆者情報

こばやしけんた プロフィール画像

2008年度アシストに入社後、Oracle WebLogic Server や Oracle HTTP Server を中心にサポートエンジニアとして活動しており、これまでに4000件以上の問い合わせを対応。



■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
  • Oracle Database
2024.07.19

Oracle Cloud Shellで簡単にOCIのComputeへシリアルコンソール接続する方法!

Oracle Cloudで構築したComputeインスタンスは、ハードウェア等インフラ周りはオラクル社が管理しますが、OSやアプリケーションはお客様が管理する必要があります。今回は、事前準備不要で簡単に操作可能なCloud Shellによるコンソール接続をご紹介します。

  • Oracle Cloud
2024.07.19

【Oracle Cloud】Oracle Base Database Serviceにシリアル・コンソール接続する方法

これまでComputeインスタンス停止の自動化はOCI CLIやcronやタスクスケジューラ、ジョブ管理ツールからのCLI実行が必要でした。自動スケーリング機能がリリースされたことで任意の日時でComputeインスタンスの起動/停止が可能となりました。課金抑制にも繋がる詳細手順をご紹介します。

  • Oracle Cloud
2024.07.18

【Oracle Cloud】opcユーザー以外のSSH接続を許可する方法

Oracle Cloud上にComputeインスタンスやDBシステムを構築すると、システム管理者ユーザであるopcユーザが作成されますが、お客様の中にはopcユーザ以外からSSH接続を必要とするケースもあるかと思います。今回は、opcユーザ以外のユーザからSSH接続を行う方法をご紹介します。

ページの先頭へ戻る