Oracle Cloud Migration Service(OCM)を使って、AWS EC2(Red Hat/RHEL)からOCI Computeへの移行検証をしました。
OCIクラウド移行ガイドとは?
オンプレミスやAWSなどからOCIへの移行プロジェクトに取り組んでいるクラウドエンジニア(@araidon,@kazunishi,@yama6,@tktk2712,@ritokuna,@nomu_kyou,@ora-777,@sshatari,@makoji,@miztana)による、OCI移行手順をまとめたシリーズ記事です。 サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。 まとめ記事は以下です。
今回利用するOCMとは?
VMware仮想マシンおよびAmazon Web Services (AWS) EC2インスタンスを、 Oracle Cloud Infrastructure (OCI)コンピュートに移行するためのサービスですOCM概要資料はこちら↓
前提知識:AWS/OCIにおけるRHELサブスクリプションについて
AWS上で稼働しているRHELのサブスクリプションは、AWS経由で提供しているサブスクリプションで利用するパターンと、Red Hat Cloud Accessを使用するパターンがあります。
・[Red Hat]Red Hat Cloud Access とパブリッククラウドの Red Hat Enterprise Linux オンデマンドサブスクリプションの相違点
Q: Amazon EC2 での Red Hat Enterprise Linux が提供される方法と料金体系について教えてください。
Amazon EC2 での Red Hat Enterprise Linux は、長期契約なし (オンデマンドまたはスポットインスタンス) の時間単位の均一料金か、一括前払い (リザーブドインスタンス) のいずれかで提供されます。それぞれの料金には、Amazon EC2 コンピューティングの利用料金と、Red Hat Enterprise Linux のサブスクリプション料が含まれます。(略)
Red Hat Cloud Access を使用する場合、Amazon EC2 での既存の Red Hat Enterprise Linux Premium サブスクリプションを利用できます。Amazon EC2 向け Red Hat Cloud Access について詳しくは、Red Hat のウェブサイトをご覧ください。
出典:・[AWS]Amazon EC2 での Red Hat Enterprise Linux のよくある質問
OCIでは、OCI経由で提供しているサブスクリプションはなく、RHEL提供のCloud Accessのサブスクリプションが利用できます。
Q.Red HatのBYOSプログラムを通じて、自分のサブスクリプションを持ち込むことは可能ですか?
A.はい。お客様は、Red Hat Cloud Access Programを使用してRed Hat Enterprise Linuxライセンスを活用していただけます。
出典:[Oracle]OCI上のRed Hatに関するよくある質問
AWSが提供しているサブスクリプションライセンスを使用している場合の注意事項
AWSが提供しているサブスクリプションで利用している場合、下記のページの通り、AWSによって提供されているサードパーティ製ソフトウェアが含まれている場合はエクスポートできないとの記載があります。
AWSによって提供されたサードパーティー製ソフトウェアが含まれている場合、イメージをエクスポートすることはできません。たとえば、VM Export では、Windows または SQL Server イメージや、 AWS Marketplaceのイメージから作成されたイメージをエクスポートすることはできません。
出典:イメージのエクスポートに関する検討事項
そのため、OCIに移行する場合は下記の手順で移行する必要があります。
- AWS上でAWS提供のサブスクリプション(PAYG)をRHEL提供のサブスクリプション(BYOS)に切り替える
・[Red Hat][AWS] How to convert On-Demand AWS Virtual System from pay-as-you-go (PAYG) billing to bring-your-own-subscription (BYOS)? - OCMによる移行を実施(本記事)
- OCI上のインスタンスをresource-managerを使ってRHELに登録する
・[Red Hat]How to register and subscribe a RHEL system to the Red Hat Customer Portal using Red Hat Subscription-Manager? - Cloud Accessに登録する
この記事ではRHEL Cloud Accessのライセンスを使用したインスタンスを使用して移行していますので、上記の手順の記載はありません。不明な点がある場合は、Red Hat社、AWS社にお問い合わせください。
OCI上でのRHELのサポートについて
OCIにインポートした後のOSのサポートの提供有無はOS毎に異なります。
OCI上でRHELを使用する場合にサポートに関して確認できるサイトを記載します。
・[Oracle]OCIにおけるOSの技術サポート(全体)
・[Oracle]OCIにおけるOSの技術サポート(RHEL詳細)
‐ OCIにおける3rd Party OSのサポートの考え方の記載があります。
・[Red Hat]Red Hat Ecosystem Catalog
‐ Red HatよりCertifyされているOCI Computeのシェイプの確認ができます。
移行の流れと本記事のスコープ
OCMを利用するのに前段階の設定が必要になります。
「前提条件の作成」と「インベントリ作成」は既に実施済みとします。
前提条件・インベントリの作成方法は以下の記事をご参照ください。
また上記の記事にOCMのコンポーネントが解説されてます。
手順だけではなく、より詳しい移行イメージや構成を見たい方はご参照ください。
この記事では、以下の6STEPの移行手順を説明していきます。
Step1. 【AWS】AWSの資格情報取得
Step2. 【OCI】アセットソースの作成
Step3. 【OCI】アセットソースで検出の実行
Step4. 【OCI】移行プロジェクトの作成
Step5. 【OCI】アセットのレプリケート
Step6. 【OCI】移行検証
■AWS側の作業
Step1.【AWS】AWSの資格情報を取得
OCIのOCMサービスからAWSに接続するために、移行したいEC2があるAWSアカウントに入って、事前に下記の情報を取得します。1.アカウントID → Step1-1
2.アクセスキー → Step1-2
Step1-1.アカウントIDの確認方法
AWSマネジメントコンソールの右上からユーザIDをクリックするとアカウントIDが表示されるので、アカウントIDをメモしておきます。Step1-2.アクセスキーの作成方法
3.今回はルートユーザでアクセスキーを作成しているため、確認画面が出てくるのでチェックを入れて「アクセスキーを作成」ボタンを押します。
4.アクセスキーとシークレットアクセスキーが表示されるので、2つの情報をメモしておきます。「.csvファイルをダウンロード」ボタンで保存しておくことも可能です。
上部に注意書きが出ますが「シークレットアクセスキー」はこの画面で控えておかないと、あとで再表示することはできませんのでご注意ください。
以上でAWS環境への接続で必要な情報が取れました。
■OCI側の作業
Step2.【OCI】アセットの検出
このステップでは、アセット・ソース(接続情報を保持するオブジェクト)を作成します。- メニューから「移行とディザスタ・リカバリ」→「クラウド移行」→「検出」を選択します。
3.「アセット・リソースの作成」画面
下記の通りアセット・リソースを作成します。アセット・ソースとは、OCMがソース環境に接続するために必要な接続情報のコンポーネントです。
3-1.「アセット・ソース・タイプ」「アセット・ソース情報」セクション
- アセット・ソース・タイプ:「AWS」を選択
- アセット・ソース情報:
3-2.「リモート接続ソース環境」セクション
3-2.「検出資格証明」セクション
- 「検出資格証明」セクション
- 「シークレットの作成」を選択
- 名前:任意
- コンパートメントで選択:前提条件作成で作った「MigrationSecrets」コンパートメントを選択
- <コンパートメント名>のボールト:前提条件作成で作った「MigrationSecrets」コンパートメント内のボールトを指定
- <コンパートメント名>のマスタ暗号化キー:前提条件作成で作った「MigrationSecrets」コンパートメント内のマスタ暗号化キーを指定
- アクセス・キーID:Step1-2で確認したアクセス・キーを指定
- シークレット・アクセス・キー:Step1-2で確認したシークレット・アクセス・キーを指定
- 「レプリケーション資格証明オプション」セクション
- レプリケーション資格証明オプション:「検出資格証明の使用」を選択
3-3.「レプリケーション資格証明」「検出スケジュール」「メトリック」セクション
デフォルトから変更なしで「アセット・ソースの作成」ボタンを押します。
3-4.作成中の画面イメージ
3-5. アセット・ソースが完成すると「AS」アイコンが緑色で表示され、下部の作業リクエストのステータスが「成功」になります。
Step3. 【OCI】アセットソースで検出の実行
このステップでは、AWS環境に接続して移行元のオブジェクトの情報を検出します。1.アセット・リソースの詳細の画面から、「検出の実行」ボタンを押します。
3.下の作業リクエストの「AWSアセットの検出中」という項目でステータスが確認できます。ステータスが成功に変わったら完了です。
4.左のメニューから「アセット」を選択すると、検出されたアセットが確認できます。この例では、EC2の仮想マシンと、EBSのブロック・ボリュームのメタデータが確認できます。
これでOCMがAWS側のリソースを認識しました。
Step4. 【OCI】移行プロジェクトの作成
移行プロジェクトとは、移行アセットと移行プランをまとめる論理的なコンテナのことです。-
移行プロジェクトの作成画面で下記の通り入力します。
3-1. ①基本情報:「移行情報」「レプリケーション・スケジュール」セクション
- 「移行情報」セクション
- 表示名:移行プロジェクトの名前(任意)
- コンパートメント:(OCI)アセットソースを配置したコンパートメント
- 「レプリケーション・スケジュール」セクション
3-2. ②アセット:「アセット」セクション
3-3. ③レプリケーション位置:「デフォルトのレプリケーション場所」セクション
3-4. ④初期移行プラン
- 「初期移行プラン」セクション
- 表示名:任意
- コンパートメント:(OCI)アセットソースを配置したコンパートメント
- ターゲット・コンパートメント:(OCI)移行先のコンパートメント
- 「ターゲット環境」セクション
- <コンパートメント名>のVCN:ターゲット・コンパートメント内にあらかじめ作成したVCNを指定
- <コンパートメント名>のサブネット:ターゲット・コンパートメント内にあらかじめ作成したサブネットを指定
3-5. ⑤確認および作成
入力した内容を確認して、問題がなければ「作成」ボタンを押します。
4.作成中の画面です。
5.成功すると移行プランが「アクティブ」になります。
6.移行プラン名を押すと移行プランの詳細を見ることができます。
Step5.【OCI】アセットのレプリケート
このステップでAWSの移行対象をOCI側にレプリケートして、ゴールデンボリュームを作成します。1.「移行プロジェクトの詳細」画面の上部メニューから「レプリケート」ボタンを押します。
2.確認画面が出てくるので問題がなければ「レプリケート」ボタンを押します。
3.レプリケート実行中は作業リクエストのステータスが「実行中」になります。
5.レプリケートが終了するとアイコンが緑色になります。今回は32分ほどかかりました。
Step6. 【OCI】移行検証
実際のターゲット・コンパートメントにインスタンスを生成します。1.移行プロジェクトの詳細画面 → 移行プラン詳細画面の左下の「ターゲット・アセット」メニューを選択します。
2.ターゲット・アセットの右端のメニューボタンから、「構成」を選択します。
3.「ターゲット・アセットの構成」画面
- インスタンス表示名:ターゲットインスタンスの名前を選択します。
- コンパートメント:(OCI)移行先のコンパートメント
- VM構成:任意の容量タイプ、シェイプを選択します。
- ネットワーク
- <コンパートメント名>のVCN:ターゲット・コンパートメントに予め作成したVCNを指定
- <コンパートメント名>のサブネット:ターゲット・コンパートメントに予め作成したサブネットを指定
- ブロック・ボリューム:任意の設定を指定
全て入力を終えたら「構成」ボタンを押します。
9.RMSスタックの生成が完了すると、移行プラン詳細画面から確認することができます。デプロイのために上部メニューから「RMSスタックのデプロイ」ボタンを押します。
10.確認画面で「RMSスタックのデプロイ」ボタンを押します。
11.実行状況は「スタックの詳細」画面の下部の「ジョブ」から確認できます。
12.進行中の詳細のログは、ジョブの詳細画面で確認できます。
14.左下の「ジョブ・リソース」画面から、作成したインスタンスへのリンクがあります。
インスタンスへの接続方法については、こちらのチュートリアルに記載があります。
ユーザは “opc”ではなく、”ec2-user”なのでご注意ください。
以上でOCMを使用したEC2インスタンス(RHEL)の移行手順の説明を終わります。
今回はテストとして1つのインスタンスを対象としていたので、移行の手間が多いように見えるかと思いますが、大量のインスタンスを移行する時には有用ではないかと思います。
以上