【OCIクラウド移行ガイド】Oracle Cloud Migration Service を使った、AWS EC2(Windows Server 2019)からOCI Computeへの移行検証

Oracle Cloud Migration Service（OCM）の検証です。
AWS EC2(Windows Server 2019)からOCI Computeへの移行検証をします。

# OCIクラウド移行ガイドとは?

オンプレミスやAWSなどからOCIへの移行プロジェクトに取り組んでいるクラウドエンジニア（@araidon,@kazunishi,@yama6,@tktk2712,@ritokuna,@nomu_kyou,@ora-777,@sshatari,@makoji,@miztana）による、OCI移行手順をまとめたシリーズ記事です
サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします
まとめ記事は以下です

https://qiita.com/yama6/items/b197c0fe3ec75eb02637

# 今回利用するOCMとは?

VMware仮想マシンおよびAmazon Web Services (AWS) EC2インスタンスを、
Oracle Cloud Infrastructure (OCI)コンピュートに移行するためのサービスです

OCM概要資料はこちら↓

https://speakerdeck.com/ocise/oracle-cloud-migrations-servicegai-yao

# OSのサポートについて

以下の資料に、
- OSの起動
- ネットワーク疎通
- アタッチされたストレージが動作すること
に関する限定的な技術サポートをOracleで提供とあります。

https://speakerdeck.com/ocise/ociji-shu-zi-liao-konpiyutosabisu-gai-yao?slide=45

サポートを受ける条件の、`規定のインポート方式で作成されたこと`に関しては、本手順の最後に記載します。

上記以外のWindowsのサポートは、ユーザーがMicrosoftとサポート契約を結ぶ必要があるようです。

# 移行の流れ

前提条件の作成とインベントリ作成を実施しているものとします。
前提条件・インベントリの作成方法は以下の記事をご参照ください。

https://qiita.com/yama6/items/df03e226eb940797b396

また上記の記事にOCMのコンポーネントが解説されてます。
手順だけではなく、より詳しい移行イメージや構成を見たい方はご参照ください。



この記事では、以下の7STEPを踏んで移行していきます。
1 【AWS】AWSの資格情報取得
2 【AWS】移行元インスタンスの準備
3 【OCI】アセットソースの作成
4 【OCI】アセットソースで検出の実行
5 【OCI】移行プロジェクトの作成
6 【OCI】アセットのレプリケート
7 【OCI】移行検証
8 【OCI】Windowsイメージの再作成

# ■ AWS側での作業
## 1.【AWS】AWSの資格情報取得 

OCIからAWSに接続するための、資格情報を先に確認しておきます。
必要な情報は以下。

+ アカウントID
+ アクセスキーID / シークレット・アクセスキー

これらをマネジメントコンソールから確認してメモっておきましょう。
具体的な確認方法を知りたい方は以下をご確認下さい。
それ以外の方は[ 2 【AWS】移行元インスタンスの準備](https://qiita.com/yama6/items/df03e226eb940797b396#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88)にスキップしてください。

+ アカウントID
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/e6671a80-1d11-5cee-e47b-d2c6ff5c5992.png)

<br>

+ アクセスキーID / シークレット・アクセスキー

セキュリティ認証情報をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/b7dd6104-4a0d-d05b-8991-a140759e1056.png)

「アクセスキー作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/e9cda421-dbc0-a0d2-187c-e6d98b951d7b.png)

「アクセスキーの作成を続行しますか？」にチェックを入れ、アクセスキー作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/98fe5c39-9646-e9ad-a9ef-3697e780c404.png)

[アクセスキー]と[シークレットアクセスキー]が表示されるので、これをメモっておきましょう。
それか[.csvファイルのダウンロード]を押して、アクセスキーとシークレットアクセスキーを控えておく形でも大丈夫です。

:::note warn
[シークレットアクセスキー]はここでしか表示されないので、忘れずに控えておきましょう
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/5cf37970-4145-8bf3-d199-700a8214deaf.png)

アクセスキーID / シークレット・アクセスキーを控えたら[完了]を押して、画面を閉じてOKです。

## 2.【AWS】移行元インスタンスの準備

### 2-1. インスタンスの起動
AWS環境にて、移行元となるEC2インスタンス（Windows Server 2019）を作成します。

- OS：**Microsoft Windows Server 2019 Base**
- AMI ID：**ami-08b1c1fc3101f173a**
- インスタンスタイプ：**t2.micro**

![CleanShot 2025-02-10 at 11.16.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/4c17a71b-5b8f-42ad-8df1-4e639078f03f.png)

### 2-2. Oracle VirtIO Drivers for Microsoft のインストール

参考ドキュメント

https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/importingcustomimagewindows.htm#prepare

:::note info
OCIのComputeで起動するために、上記ドキュメント8に記載のOCI用のドライバのインストールが必要になります。
:::

#### ダウンロード

- 以下ダウンロードサイトに入ります
（アカウントの作成とログインが必須）

https://edelivery.oracle.com


- Oracle Linuxを検索します。（なぜこの段階ではWindowsじゃないのかは謎です
- DLP: Oracle Linux 8.10.0.0.0 (Oracle Linux)、またはDLP: Oracle Linux 9.4.0.0.0 (Oracle Linux)を選択します

![CleanShot 2025-02-10 at 15.37.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/61f8cc03-48e8-434e-8c22-c823d3e52821.png)

ライセンス規約に問題なければ、[続行]をクリック

![CleanShot 2025-02-10 at 15.37.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/2d19456f-ad55-4de9-bb6f-65c2d90b6403.png)

「Oracle VirtIO Drivers for Microsoft Windows」という説明があるファイル名をクリックし、ご自身のローカルPCにダウンロードします。

![CleanShot 2025-02-10 at 15.38.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/5aaa028d-db96-42dc-99b3-d46b968dafd0.png)

#### インストール
ダウンロードしたインストーラを、EC2のWindows Server2019にアップロードし、setup.exeを起動します。
![CleanShot 2025-02-10 at 15.47.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/ccd621d0-8118-461a-91dc-c8637fd1624d.png)

インストーラの指示に従ってインストールします
![CleanShot 2025-02-10 at 15.47.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/2be80806-f3b8-4164-96c7-fa8f3fc29cc7.png)

![CleanShot 2025-02-10 at 15.47.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/889da202-742f-41f3-ab4a-cb61cfd2a391.png)

このタイミングで再起動します

![CleanShot 2025-02-10 at 15.48.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/992fb9f3-36c8-4b21-962c-82c50dd9a203.png)

# ■ OCI側での作業
## 3.【OCI】アセット・ソースの作成


アセット・ソースとはAWS環境との接続情報を扱うためのコンポーネントです。
OCIコンソールでアセットソースを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/9ae89d16-effa-a255-2cac-1665f4fa718f.png)

[アセット・ソース作成]を押します。


:::note info
このタイミングで、「前提条件の作成」で作成した移行用のコンパートメントか確認しておきます。
間違ったコンパートメントで作成していた場合、処理の失敗などに繋がります
:::


![CleanShot 2025-02-27 at 23.47.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/864300c7-1d84-46be-8229-de8194db6a17.png)


ここでAWSの情報を入力します。

![CleanShot 2025-02-10 at 10.57.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/6d441ae7-d1a8-4e5e-b932-c1f7889c2b0c.png)

![CleanShot 2025-02-10 at 10.58.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/3184206d-de33-457c-9155-290d2ab32b01.png)

![CleanShot 2025-02-10 at 10.59.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/26ffe221-c8c2-4540-a693-d7ec33911738.png)

![CleanShot 2025-02-10 at 10.59.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/0a8dd00a-2639-4189-becc-a98e3295922c.png)

アセット・ソースの作成が完了したことを確認します。

![CleanShot 2025-02-10 at 11.01.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/5030c2a0-d385-4939-977a-1a288a8fda82.png)


## 4.【OCI】アセットソースで検出の実行

作成完了後、検出の実行を押して、検出します。

![CleanShot 2025-02-28 at 00.10.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/f379725e-4ce9-4cbc-aaa7-520500d2bf9c.png)


検出が終わると（数分待ちます）、AWS環境のEC2インスタンスとアタッチされたEBSの情報が取得され、「アセット」欄に表示されます。

![CleanShot 2025-02-10 at 11.22.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/84b1627e-e6bb-4052-8414-95611e373b18.png)



## 5.【OCI】移行プロジェクトの作成

移行プロジェクトは、先ほど検出したアセットに対し、様々な移行プランを提供する論理的なコンポーネントです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/870d9d1e-994b-4688-a0ed-cce36249e1ac.png)

今回は[初期移行プランを使用して移行プロジェクトを作成します]で進めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/56cfe30c-e822-4a78-b9fc-6ea3880e46ce.png)

### 5-1. 基本情報

![CleanShot 2025-02-10 at 11.29.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/df598434-14d4-4776-add1-e43270312229.png)

### 5-2. アセット

[OCMのインベントリからの追加]をクリック

![CleanShot 2025-02-10 at 11.29.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/a0afdb82-500f-425d-b8db-c2e962ad2a0a.png)

移行したいアセットのチェックボックスのチェックを入れて、[移行アセットの追加]をクリック

![CleanShot 2025-02-10 at 11.29.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/d964fc13-9a48-4c51-8ad4-6c6c6bc2ab64.png)

次へ

![CleanShot 2025-02-10 at 11.30.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/39fc5b9c-4ca6-47ad-a158-55cf8f79d0dc.png)

### 5-3. レプリケーション位置

前提条件で作成済みのバケットを指定し、[次]をクリック

![CleanShot 2025-02-10 at 11.30.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/7b8bdd19-061a-4c41-98f6-8948bb9f790b.png)

### 5-4. 初期移行プラン

![CleanShot 2025-02-10 at 11.32.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/786a8073-2730-43cd-b989-4cce34d4efdc.png)

![CleanShot 2025-02-10 at 11.32.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/2a0d982a-1131-4499-a316-7e8aacde4c4e.png)


### 5-5. 確認および作成

最終確認後、[作成]をクリック

![CleanShot 2025-02-10 at 11.32.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/bffb33a6-bbfa-4a19-92a7-265d4bf3ce1e.png)

作成完了後、移行プランの状態がアクティブになっていることを確認

![CleanShot 2025-02-10 at 11.33.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/5900575b-6264-461c-9c8e-ff817f880302.png)

## 6.【OCI】アセットのレプリケート

いよいよレプリケートを実施します。
レプリケートが完了すると、ゴールデン・ボリュームなどが作成されます。

![CleanShot 2025-02-10 at 11.39.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/0d538b4f-8c59-4122-8407-0edcea6e2657.png)

![CleanShot 2025-02-10 at 11.39.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/8bb559f0-830e-4bc4-b262-682125dcea49.png)

![CleanShot 2025-02-10 at 11.40.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/b2c2bfd8-6442-4b92-a55c-2e4af2df2d6f.png)

:::note info
この作業は約３０分程、かかります
:::

## 7.【OCI】移行検証

移行プロジェクト内にある、移行プランを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/4010e506-68ef-4262-8426-bc85e937d4ee.png)

左側の[ターゲット・アセット]を選択後、対象のターゲットアセットを選択後、[アクション]より構成をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/1ef03ecb-2f65-4b82-8912-0140404fcc33.png)

デプロイ先のVCN、サブネットをここで設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/e28a10e6-03f1-4ecc-8c1d-76ddee2c3eeb.png)

RMSスタックの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/5a1d4070-6ca8-46fb-9eb8-513cf25823c8.png)

無事に作成ができると、RMSスタックの欄に、スタックが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/c29a90d6-cdb5-42b7-aea6-6509f726b1de.png)


RMSスタックのデプロイを実施します。
このデプロイが完了すると、EC2からの移行が完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490789/12491ebf-8120-4a3b-94a4-99d9dd0270ae.png)


Compute画面に遷移すると、該当のEC2が作成されています。
![CleanShot 2025-02-10 at 17.09.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/393d045e-a509-4730-bb0f-973cadde6499.png)

割りあたったパブリックIPに、RDP接続をして、ログインできることを確認します。

![CleanShot 2025-02-28 at 01.47.09@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/30939b91-a63d-4107-9f75-8bde55e621a5.png)


## 8.【OCI】Windowsイメージの再作成

:::note warn
以下のOracle公式のドキュメントにて、OCMで移行したインスタンスは一度カスタムイメージに落としてエクスポートし、Windowsイメージとしてイメージを再度インポートするのが必須と書いてあります。
:::

![CleanShot 2025-02-10 at 18.46.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/3e553b5a-b6e5-4b2c-b4bf-6a6d689d2636.png)

手順7で作成されたComputeのOS属性が、Windows ではなく Customになっていることを確認します。
![CleanShot 2025-02-10 at 17.09.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/2489d823-966a-445d-ae82-b89385303f22.png)

### 8-1 カスタムイメージの作成

インスタンスのメニューから、 [More Actions] → [カスタム・イメージの作成]をクリック

![CleanShot 2025-02-10 at 17.14.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/33d9cdb9-c727-4c71-bc42-af76d0aba39c.png)

### 8-2 カスタムイメージのエクスポート

作成したカスタム・イメージをObject Storageにエクスポートします。

![CleanShot 2025-02-10 at 17.22.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/743f3827-53e5-48dd-a518-09bd2da3e899.png)

イメージの形式をOracle Cloud Infrastructureファイルとし、[イメージのエクスポート]をクリック

![CleanShot 2025-02-10 at 17.22.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/195f3759-84ae-409d-9ed1-4c2e296c79ae.png)
![CleanShot 2025-02-10 at 17.22.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/8c9db73a-0b41-40f4-bf8a-005eb8316ffe.png)

Object Storageにエクスポートされたことを確認
![CleanShot 2025-02-10 at 18.11.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/3040c323-172e-4632-b01c-ed1113f6d042.png)


### 8-3 イメージのインポート

エクスポートしたカスタムイメージを元に、イメージをインポートします。
![CleanShot 2025-02-28 at 02.06.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/6316e098-ceb1-4d03-aa39-092adcdba5a7.png)

OSとバージョンを指定し、Object Storageのイメージとイメージタイプを選択し、[イメージのインポート]をクリック

![CleanShot 2025-02-10 at 18.13.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/856abdc7-3949-4bcc-b582-f882c4d748c2.png)

インポートの完了を確認

![CleanShot 2025-02-10 at 18.28.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/401894fe-9313-4472-be25-04f1d1971e64.png)

### 8-4 Computeの再作成
Computeのインスタンスの作成を実施し、イメージ選択画面で再インポートしたイメージを選択し、インスタンスを作成
![CleanShot 2025-02-10 at 18.29.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/14b0af6a-ee20-43fd-8056-75bda1e98fc5.png)

### 8-5 確認

コンソールにて、OSがWindowsに、バージョンが指定どおりになっていることを確認

![CleanShot 2025-02-10 at 18.46.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/447793f9-ad48-4c92-862b-2b4a282a2ecd.png)

RDP接続し、AWSのEC2と同内容となっていることを確認
![CleanShot 2025-02-28 at 01.47.09@2x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/276568/30939b91-a63d-4107-9f75-8bde55e621a5.png)

# まとめ

OCMは手順が多く、最初は大変ですが、慣れれば意外とすんなりできます。

Windowsに関しては、AWS側でライブラリのインストールが必要なことと、OCM移行後に、イメージのエクスポート・インポートが必要なため、台数が多いと大変だなという感想です。