スキップしてコンテンツを表示

RHEL BYOL EC2 インスタンスのライセンスを RHUI ライセンスに移行する方法を教えてください。

所要時間2分
0

Bring Your Own License (BYOL) で Red Hat Enterprise Linux (RHEL) を実行する、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用しています。このインスタンスを移行し、更新や修正プログラムには Red Hat Update Infrastructure (RHUI) を使用したいです。

解決策

重要: インスタンスを停止して起動する前に、次の手順を実行してください。

注: インスタンスを停止または起動する際、インスタンスのパブリック IP アドレスは変更されます。外部トラフィックをインスタンスにルーティングするには、パブリック IP アドレスではなく Elastic IP アドレスを使用することをおすすめします。Amazon Route 53 を使用している場合は、パブリック IP アドレスが変更された際、Route 53 の DNS レコードを更新する必要が生じる場合があります。

インスタンスを RHUI ライセンスに移行するには、次の手順を実行します。

  1. インスタンスでプロキシを使用する場合は、インスタンスメタデータサービス (IMDS) の IP アドレスでプロキシを無効にします。

  2. インスタンスが BYOL ライセンスと AWS ライセンスのどちらを使用しているかを確認するには、IMDS バージョンに応じて次のコマンドを実行します。
    IMDSv1:

    curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts

    IMDSv2:

    curl --noproxy '*' -w "\n" -s \
     -H "X-aws-ec2-metadata-token: \
     $(curl --noproxy '*' -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300")" \
     http://169.254.169.254/latest/dynamic/instance-identity/document \
     | grep billingProducts

    出力例:

    $ curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
     "billingProducts" : null,

    注: billingProductsnull の場合、そのインスタンスは BYOL を使用しています。

  3. AWS Marketplace の Amazon マシンイメージ (AMI) を使用して、元のインスタンスと同じ RHEL バージョンで新しいRHEL インスタンスを起動します。元のインスタンスと同じアベイラビリティーゾーンを使用し、同等のインスタンスタイプを選択したことを確認してください。

  4. 次のコマンドを実行してインスタンスの請求コードを参照し、新しいインスタンスが RHUI を使用していることを検証します。

    curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
     "billingProducts" : [ "bp-6fa54006" ],
  5. 次のコマンドを実行し、新しいインスタンスに RHUI クライアントパッケージがインストールされていることを確認します。

     sudo rpm -qa | grep rhui

    出力例:

    $ sudo rpm -qa | grep rhui
    rh-amazon-rhui-client-4.0.4-1.el8.noarch
  6. 次のコマンドのいずれかを実行し、RHUI クライアントパッケージの RPM ファイルを新しいインスタンスにダウンロードします。ただし、インストールは行われません。

    sudo yum install --downloadonly --downloaddir=/tmp rh-amazon-rhui-client -y

    または、

    sudo yumdownloader --downloaddir=/tmp rh-amazon-rhui-client
  7. 次のコマンドを実行し、RPM パッケージが新しいインスタンスに正しくダウンロードされたことを確認します。

    ls -l /tmp | grep rh-amazon-rhui-client
    -rw-r--r--. 1 root root 43680 Mar 4 19:42 rh-amazon-rhui-client-4.0.5-1.el8.noarch.rpm
  8. 次のいずれかのコマンドのいずれかを実行し、RHUI クライアントの RPM ファイルを新しいインスタンスから元のインスタンスにコピーします。

    scp /tmp/rh-amazon-rhui-client-*.rpm ec2-user@BYOL-instance-ip:/tmp/

    または、

    rsync -avz /tmp/rh-amazon-rhui-client-*.rpm ec2-user@BYOL-instance-ip:/tmp/
  9. 次のコマンドを実行し、既存の RHUI 設定とパッケージを元のインスタンスから削除します。

    sudo yum remove $(rpm -qa | grep rhui) -y
  10. 次のコマンドを実行し、コピーした RPM ファイルを使用して RHUI クライアントを元のインスタンスにインストールします。

sudo yum install /tmp/rh-amazon-rhui-client-*.rpm -y
  1. 次のコマンドを実行し、元のインスタンスにパッケージが正しくインストールされたことを確認します。
sudo rpm -qa | grep rhui
  1. Amazon EC2 コンソールを開き、IP アドレス、Elastic IP アドレス、セキュリティグループなど、元のインスタンスのネットワーク設定を書き留めます。新しいインスタンスで、これらの設定を作成する必要がある場合があります。
  2. 新しいインスタンスと元のインスタンスを停止します
  3. 両方のインスタンスからすべての Amazon EBS ボリュームをデタッチします。元のインスタンスの各ボリュームのデバイス名または ID を書き留めておきます。
  4. 元のインスタンスのボリュームを新しいインスタンスにアタッチします
    注: ボリュームが元のインスタンスで使用していたデバイス名と同じ名前を使用してください。
  5. 新しいインスタンスを起動します
  6. 新しいインスタンスに接続し、次のコマンドを実行して請求コードを取得できることを確認します。
curl http://169.254.169.254/latest/dynamic/instance-identity/document 2>/dev/null | grep billingProducts
"billingProducts" : [ "bp-6fa54006" ],
  1. 次のコマンドを実行し、リポジトリが正しく設定されていることを確認します。
sudo yum clean all
sudo yum repolist
  1. 不要な場合は、元のインスタンスのデタッチされたボリュームを削除します。更新の検証中は、そのボリュームをバックアップとして保持することもできます。

問題のトラブルシューティング

ボリュームのスワップ後にインスタンスが起動しない場合は、ボリュームが正しいデバイス名にアタッチされていることを確認してください。それでも問題が解決しない場合は、ルートボリュームのスナップショットを作成し、解決手順を繰り返してください。

リポジトリにアクセスできない場合は、次のコマンドを実行して RHUI クライアントがインストールされていることを確認してください。

rpm -qa | grep rhui

さらに、メタデータサーバーへのネットワーク接続を確認してください。

関連情報

AWS Application Migration Service を使用して RHEL BYOL システムを AWS ライセンス込みインスタンスに移行する

Amazon EC2 上の Red Hat Enterprise Linux に関するよくある質問

AWS公式更新しました 9ヶ月前
コメントはありません

関連するコンテンツ