テナンシ間 OCI カスタム・イメージの移行

本ブログは、[オラクル・クラウドの個人ブログ](https://qiita.com/letian/items/10152a4fec813c1b7d98)の1つです。

# 初めに
今回は、テナンシーを跨ぎ、OCIカスタム・イメージの移行方法を紹介したいと思います。例えば、OCIの検証環境から他テナンシーの本番環境に、Computeインスタンスを移行したい場合、この方法は適用します。

__対応OS__
- Oracle Linux 6, 7, 8, 9;
- CentOS 7, CentOS stream 8
- Ubuntu 18, 20, 22;
- Windows Server 2012, 2016, 2019, 2022

__検証ケース__
OS: Oracle Linux 7.9 と Windows Server 2022
イメージ・タイプ：OCI

__シナリオ A__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/08fc39d7-0e85-e0b1-832e-d51c8f4ac87c.png)
作業流れ：
　[1. カスタム・イメージを作成](#1-カスタムイメージを作成)
　[2. カスタム・イメージをエクスポートし、PAR（読み取り専用）を作成](#2-カスタムイメージをエクスポートしpar読み取り専用を作成)
　[3. カスタム・イメージをインポート](#3-カスタムイメージをインポート)
　[4. カスタム・イメージより、インスタンスを新規作成](#4-カスタムイメージよりインスタンスを新規作成)
※ステップ１と２は、移行元のテナンシーで実施し、ステップ３と４は、移行先のテナンシーで実施します。
以下のシナリオBと比べて、<font color="blue">読み取り専用</font>のPARで済みますので、<font color="blue">ベストプラクティス</font>となります。


__シナリオ B__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/fd955a0e-bc72-2ddc-6df6-ef191a55152a.png)
作業流れ：
　１．カスタム・イメージを作成。（移行元のテナンシーで実施）
　２．<font color="blue">PAR（読み書き）</font>を作成。（移行先のテナンシーで実施）
　　　カスタム・イメージを移行先のオブジェクト・ストレージにエクスポートする。（移行元のテナンシーで実施）
　３．カスタム・イメージをインポートする。　（移行先のテナンシーで実施）
　４．カスタム・イメージより、インスタンスを作成。（移行先のテナンシーで実施）

__作業手順__
シナリオAを実施例にします。

# 1. カスタム・イメージを作成
実行中のインスタンスのイメージを作成すると、インスタンスが停止し、数分間使用できない状態になります。インスタンスは、プロセスが完了したときに再起動します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/f0ddeffc-4869-72dd-22aa-eed7b15c3f0b.png" width="600">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/440d4f36-4fc7-3370-39ad-029988d94cfd.png" width="450">

# 2. カスタム・イメージをエクスポートし、PAR（読み取り専用）を作成
* カスタム・イメージのエクスポート
 Compute -> Instance -> Custom Images
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/3d1fdc66-e936-e7cf-5633-278bae90d557.png" width="600">

BUCKETを指定します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/b8c4e506-3460-f0a1-5a36-20dd37169e37.png" width="450">
エクスポート実施中　（完了後、状態は"Available"に変わります。）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/b728df10-f355-47b7-dbbf-13fb689d9628.png" width="600">

* PARの作成　（読み取り専用）
Object Storage -> Bucket Details (Custom-Image) -> Source-Instance-Image ->Create Pre-Authenticated Request
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/f50eca4f-0534-468c-a4f9-424a3e179748.png" width="450">

URLをコピーしておいてください。（二度と表示できませんので、ご注意ください。）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/dbdb3bbc-e820-5449-499d-524559e3a539.png" width="450">

# 3. カスタム・イメージをインポート
ここから、移行先のテナンシーで実施します。
Compute -> Custom Images -> Import Image
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/60e4f450-8c30-1c06-3529-42713d427cd6.png" width="600">

__Linuxの場合__
コピーしたURLを入力します（イメージ・タイプを<strong>OCI</strong>に指定する）。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/39e90a80-36a7-3d92-0edc-e9af80810e06.png" width="500">
__Windowsの場合__
次のように内容を入力します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/7fa92ef9-eae5-ecc3-00d5-d0eabae3fd3b.png" width="500">
入力後、「Import Image」をクリックし、インポートを開始します。（完了後、状態は"Available"に変わります。）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/c3abc88a-6cb7-a3b0-bd82-d4f651c80d3c.png" width="600">

# 4. カスタム・イメージより、インスタンスを新規作成
カスタム・イメージより新インスタンスを作成
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/f0d24b8b-e735-a191-8dec-628658c25d9d.png" width="600">

イメージを指定
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/9b198c03-b45a-7379-d1ae-29488c4f73fe.png" width="600">

以上です。

----
__関連記事__
[オラクル・クラウドの個人ブログ一覧](https://qiita.com/liu-wei/items/10152a4fec813c1b7d98)
[AWS EC2インスタンスをOracle Cloudに移行](https://qiita.com/liu-wei/items/0b85e55d62d864a7e567)
[AzureからWindows VMをOracle Cloudに移行](https://qiita.com/liu-wei/items/8759b15fc741083ad332)

----
__オフィシャル・ドキュメント__
[カスタム・イメージの管理](https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/managingcustomimages.htm)
[イメージのインポート/エクスポート](https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/imageimportexport.htm)