0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自動化ツールはない!IBM Cloud Classic IaaSにおけるRHEL7→RHEL9手動移行の実践録

0
Last updated at Posted at 2025-11-07

はじめに

この記事は、IBM Cloud Classic Infrastructure (IaaS) 上で稼働していたRHEL7の仮想サーバーを、OSのEOL (End of Life) に伴いRHEL9へ手動で移行したプロジェクトの記録です。

PaaSやコンテナ環境が主流となる中、IaaS環境、特にOSのインプレースアップグレードが提供されないクラシック・インフラでのOSバージョンアップは、依然として多くの企業が直面する課題です。
この環境では「新しいサーバーをプロビジョニングし、データ、設定、アプリケーションをすべて手作業で移行する」というアプローチが必須となります。

今回は、一番確実でリスクの少ない、「新サーバー構築(Order)→DNS切り替え(CIS)→旧サーバー削除(Delete)」 という3フェーズ構成での手動移行手順をまとめました。


前提環境

  • 移行元: RHEL 7.9 (IBM Cloud Virtual server for Classic)
  • 移行先: RHEL 9.x (IBM Cloud Virtual server for Classic)
  • DNS: IBM Cloud Internet Services (CIS) を利用
  • Webサーバー: Nginx 稼働中

全体フロー

本記事では、移行プロセスを以下の3つのフェーズに分けて実施します。切り戻し(ロールバック)が容易なのが特徴です。

  1. 【Phase 1】RHEL 9 オーダー(新環境構築)
  2. 【Phase 2】CIS DNS変更(通信切り替え)
  3. 【Phase 3】RHEL 7 削除(旧環境撤去)

【Phase 1】RHEL 9 オーダー(新環境構築)

まずは既存のRHEL 7サーバーを稼働させたまま、横に新しいRHEL 9サーバーを立てます。

1. IBM Cloud コンソールでのオーダー

Classic Infrastructureのコンソールから デバイス -> デバイスリスト -> 作成 と進みます。

  • DC選択: 既存サーバーと同じロケーションを選択します。
  • スペック選定: 既存サーバーと同等(またはそれ以上)のCPU/RAMを選択します。
  • OS選択: ここで明確に Red Hat Enterprise Linux 9.x を指定します。

2. 環境セットアップとデータ移行

RHEL 9がプロビジョニングされたら、SSHでログインしてセットアップを行います。

ポイント: RHEL 9ではセキュリティポリシーが厳格化されています。また、Pythonのバージョンやミドルウェアのデフォルトバージョンも大きく異なります。

# 旧サーバー(RHEL7)から新サーバー(RHEL9)へデータをコピーする例
# ※プライベートIP同士で行うと高速
[root@RHEL9 ~]# rsync -avz -e ssh root@<RHEL7_Private_IP>:/var/www/html/ /var/www/html/

3. 動作検証(hosts書き換え)

DNSを切り替える前に、自分のPCの hosts ファイルを書き換えて、新サーバーのIPアドレスでWebサイトが正しく表示されるか、アプリケーションが動作するかを入念に確認します。
ここでの検証不足は、次のPhase 2での障害に直結します。


【Phase 2】CIS DNS変更(通信切り替え)

新サーバーの準備が整ったら、いよいよ通信を切り替えます。ここからはIBM Cloud IaaS(サーバー側)の操作ではなく、ネットワーク(DNS)側の操作になります。

1. 事前準備:TTLの短縮

切り替え作業の数時間〜数日前に、IBM Cloud Internet Services (CIS) のDNS設定画面で、対象ドメインの TTL (Time To Live) を短く設定しておきます。

  • 例: 300 (5分) など

これにより、DNSキャッシュが早く切れるようになり、切り替え時のタイムラグを最小限に抑えられます。

2. DNSレコードの変更(カットオーバー)

CISのDNS管理画面にて、Aレコードの向き先IPアドレスを変更します。

  • 変更前: RHEL7_Public_IP
  • 変更後: RHEL9_Public_IP

変更を保存すると、数分以内に世界中からのアクセスが新サーバー(RHEL 9)へ流れ始めます。

3. ログ確認とロールバック計画

新サーバーのアクセスログ(/var/log/nginx/access.log 等)を tail -f で監視し、トラフィックが来ているか確認します。

万が一トラブルが起きたら?
この構成の最大のメリットはここです。もし新環境で致命的なエラーが見つかった場合、CISでDNSレコードを旧IP(RHEL 7)に戻すだけで、即座に元の環境へロールバックできます。


【Phase 3】RHEL 7 削除(旧環境撤去)

DNS切り替え後、数日〜1週間程度様子を見て、問題がないことが確定したら旧サーバーを削除します。これを忘れると課金が継続してしまうので注意が必要です。

1. 旧サーバーのキャンセル

IBM Cloud Classicコンソールの デバイスリスト から旧サーバー(RHEL 7)を探します。

  1. 対象サーバーの アクション メニューを開く。
  2. デバイスのキャンセル を選択。

2. 即時か、契約満了日か

キャンセル画面で重要なのが キャンセル日 です。

  • 即時キャンセル: 即時削除。すぐにサーバーにアクセスできなくなります。
  • 確定日 20xx/xx/xx, 15:00:00 にキャンセル: 契約満了日(月末など)まで残ります。

「もう二重課金は避けたい」という場合は「即時キャンセル」を選びますが、操作した瞬間にデータが消えるため、バックアップ漏れがないか最終確認をしてから「デバイスのキャンセル」を押してください。


まとめ

IBM Cloud Classic IaaSにおけるOSメジャーバージョンアップは、自動化ツールがないからこそ、基本に忠実なこの3ステップが最強のソリューションとなります。

RHEL 7のEOL対応を進めている方の参考になれば幸いです。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?