10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【お手軽】AWS EC2をOracle Cloud Computeに移行してみた

Last updated at Posted at 2023-08-25

はじめに

AWS EC2はクラウドサービスの中で最も代表的なサービスで利用ユーザも多いですが、IaaSの引っ越しという観点でOracle CloudのComputeサービスに移行する手順を備忘録として記載します。

前提条件

●移行対象インスタンス情報

基盤:AWS EC2→Oracle Cloud Compute
台数:1台
OS:Ubuntu 20.04.6 LTS
DB:PostgreSQL 12.16
AP: Apache 2.4.41
ソフトウェア:Redmine 4.0

●その他

AWS VPC、OCI VCNは事前に作成済み
AWS VPCのセキュリティグループ、OCI VCNのセキュリティリストは事前設定済み(ポート20と80開放)
httpのみでの通信
IPアドレスは変更となる

移行手順イメージ

以下画像のイメージで移行を実施します。
①AWS EC2にてRedmine Serverの構築
②Redmine ServerのサーバイメージをAWS S3にExport
③AWS S3にあるサーバイメージをOCI Object Storageに格納
④OCI Object Storageに格納したサーバイメージからOCI Computeでサーバを作成

※③は手動でS3からダウンロード実施し、手動でObject Storageに格納します

image.png

移行手順

①AWS EC2にてRedmine Serverの構築

Redmine ServerをEC2で構築します。
今回は以下のスペックで作成を実施しました。
※余談ですが、t2.microだとRedmineのインストールが全く進まなかったのでスペックを向上させました。

image.png

EC2の起動後、Redmineの構築を実施します。
今回はRedmineの構築はメインではないので割愛させていただきます。

参考までにこの手順で構築を実施しています。

Redmine構築後、移行確認用にプロジェクトの作成といくつかダミーチケットを発行しておきます。
image.png
image.png
image.png

作業完了後はインスタンスの停止を実施します。
※S3にExportするためにはインスタンスが停止されていることが前提となります

②Redmine ServerのサーバイメージをAWS S3にExport

S3にExportするにはインスタンスの停止が前提となるので、停止しているかどうか確認しておきます。

サーバのイメージをS3にExportするためにバケットの作成を実施します。
作成後、アクセス許可設定をしないとExportエラーが発生するため以下を実施します。
①"アクセス許可"タブより"オブジェクト所有者"の編集をクリック
②ACLの有効化に変更
③ACLの編集を実施し、"他のAWSアカウントのアクセス"を追加しオブジェクトに書き込み権限、バケットACLに読み込み権限を付与

※③に関して、被付与者IDは利用リージョンによって異なりますが、参考までに以下が東京/大阪リージョンのIDとなります。
東京リージョン:"c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322"
大阪リージョン:"40f22ffd22d6db3b71544ed6cd00c8952d8b0a63a87d58d5b074ec60397db8c9"

詳細はこちらをご確認ください。

image.png
image.png
image.png
image.png

バケットの設定完了後、Redmine ServerのサーバイメージをAWS S3にExportするためにAWS CLIを起動し、以下コマンドを実行します。

aws ec2 create-instance-export-task --description '<任意>' --instance-id <instance_id> --target-environment vmware --export-to-s3-task DiskImageFormat=vmdk,ContainerFormat=ova,S3Bucket=<bucket_name>
[cloudshell-user@ip-10-4-89-97 ~]$ aws ec2 create-instance-export-task --description 'EC2 Migration' --instance-id i-013b006c084e85efd --target-environment vmware --export-to-s3-task DiskImageFormat=vmdk,ContainerFormat=ova,S3Bucket=oci--migration
{
    "ExportTask": {
        "Description": "AWS-To-OCI",
        "ExportTaskId": "export-i-019bcb82b315b3805",
        "ExportToS3Task": {
            "ContainerFormat": "ova",
            "DiskImageFormat": "vmdk",
            "S3Bucket": "oci--migration",
            "S3Key": "export-i-019bcb82b315b3805.ova"
        },
        "InstanceExportDetails": {
            "InstanceId": "i-013b006c084e85efd",
            "TargetEnvironment": "vmware"
        },
        "State": "active"
    }
}

問題なくコマンドが完了すればS3のコンソール画面からイメージファイルの確認ができます。
export-.ovaファイルをダウンロードを実施しておきます。
image.png

③AWS S3にあるサーバイメージをOCI Object Storageに格納

Object Storageの作成を実施します。なお、すべてデフォルト設定で問題ありません。
image.png

S3からダウンロードしたovaファイルをObject Storageにアップロードします。
image.png

④OCI Object Storageに格納したサーバイメージからOCI Computeでサーバを作成

Computeサービス欄"カスタム・イメージ"にて、"イメージのインポートをクリックします"
image.png

格納したObject Storage及び、ovaファイルを指定して、イメージをインポートします。
 イメージタイプ:VMDK
 起動モード:準仮想化モード
 ※デフォルト設定のままとしておきます
image.png

しばらくするとインポートが完了します。
"イメージの作成"をクリックし、OCI Computeの作成を実施します。
image.png

"イメージとシェイプ"でイメージが今回作成したイメージ名となっていることを確認します。
なお、Shapeの画面にてマシンスペックの調整が可能です。
その他の設定も含めて今回はすべてデフォルト設定のままとしました。
image.png

Compute作成完了後、新しく付与されたパブリックIPにてRedmineのアクセスを実施してみます。
無事にログインでき、AWS EC2上で作成したプロジェクトとチケットが確認できました。
image.png
image.png

最後に

今回はEC2からComputeのIaaS領域の移行を実施してみました。
作業自体はすごく簡易的で時間もかからず実施できたので他システムと連携のないような小規模システムであれば即移行も現実的かなと思える内容です。
実際、小規模だろうと本番稼働中のものを移行するとなるとなんやらかんやらを考慮する必要はありますが...

近年、FinOpsと呼ばれる、パブリッククラウドの支出(投資、コスト)に関して最適化を目指す活動いう単語を耳にしました。
システム最適化を目指す上でマルチクラウド化が進んでいく中でいざ別クラウドを採用しようとしても移行手順がネット上に豊富にないのが実情ですので、気になったものや試してみたいものは随時やっていこうかなと思いました。

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?