跳至內容

如何將我的 RHEL BYOL EC2 執行個體授權遷移到 RHUI 授權?

2 分的閱讀內容
0

我有一個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,它執行帶有自備授權 (BYOL) 的 Red Hat Enterprise Linux (RHEL)。我想將其遷移到使用 Red Hat Update Infrastructure (RHUI) 來進行更新和修補。

解決方案

**重要:**在停止和啟動執行個體之前,請執行下列動作:

**注意:**當您停止和啟動執行個體時,該執行個體的公有 IP 位址也會變更。最佳做法是使用彈性 IP 位址而不是公用 IP 位址,將外部流量路由到執行個體。如果您使用 Amazon Route 53,則可能需要在公有 IP 位址變更時更新 Route 53 DNS 記錄

若要將您的執行個體移轉到 RHUI 授權,請完成以下步驟:

  1. 如果您在執行個體上使用 Proxy,請停用執行個體中繼資料服務 (IMDS) IP 位址的 Proxy

  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 Machine Image (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 位址、彈性 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 個月前