RHUIでRed Hat Enterprise Linuxクライアントを登録する

SUSE Linux Enterprise Server with Expanded Supportを使用するのではなく、Red Hat Enterprise Linuxクライアントを直接実行している場合、Red Hatソースを使用してパッケージを取得および更新する必要があります。 このセクションでは、Red Hat更新インフラストラクチャ(RHUI)を使用して、Red Hat Enterprise Linuxオペレーティングシステムを実行している従来のクライアントおよびSaltクライアントを登録する方法について説明します。 Amazon EC2などのパブリッククラウドでクライアントを実行している場合、このメソッドを使用します。

RHUIをRed Hatコンテンツデリバリネットワーク(CDN)と組み合わせて使用して、Red Hat Enterprise Linuxサブスクリプションを管理できます。 Red Hat CDNの使用については、CDNでRed Hat Enterprise Linuxクライアントを登録するを参照してください。

Red Hat Enterprise Linuxクライアントは、Red Hatに基づいていて、SUSE Linux Enterprise Server with Expanded Support、RES、またはSUSE Linux Enterprise Serverとは関係がありません。 SUSE ManagerサーバのRed Hat更新インフラストラクチャへの接続はユーザが行います。 このRHUI証明書を使用して更新したすべてのクライアントは、正しくライセンス供与されている必要があります。クラウドプロバイダに確認し、詳細については、Red Hatのサービス条項を確認してください。

RHUIで登録されたRed Hat Enterprise Linuxクライアントの電源がオフになっている場合、Red Hatが証明書を無効と宣言する場合があります。 この場合、クライアントの電源を再度オンにするか、新しいRHUI証明書を取得する必要があります。

従来のクライアントはRed Hat Enterprise Linux 6および7でのみサポートされています。 Red Hat Enterprise Linux 8クライアントはSaltクライアントとしてサポートされています。

1. エンタイトルメントと証明書のインポート

Red Hatクライアントには、Red Hat認証局(CA)、エンタイトルメント証明書、およびエンタイトルメントキーが必要です。

Red Hatクライアントは、URLを使用してリポジトリを複製します。 URLは、Red Hatクライアントを登録した場所に応じて変わります。

Red Hatクライアントは次の3種類の方法で登録できます。

  • redhat.comにあるRed Hatコンテンツデリバリネットワーク(CDN)

  • Red Hatサテライトサーバ

  • クラウドのRed Hat更新インフラストラクチャ(RHUI)

このガイドでは、Red Hat更新インフラストラクチャ(RHUI)に登録されるクライアントについて説明します。 リポジトリコンテンツの認可済みサブスクリプションを使用して、1つ以上のシステムがRHUIに登録されている必要があります。

代わりにRed Hatコンテンツデリバリネットワーク(CDN)を使用する方法については、CDNでRed Hat Enterprise Linuxクライアントを登録するを参照してください。

クライアントシステムのサテライト証明書では、サテライトサーバおよびサブスクリプションが必要です。 サテライト証明書を使用するクライアントはSUSE Managerサーバではサポートされていません。

SUSE Managerサーバがアクセスできる場所にエンタイトルメント証明書とキーをクライアントシステムからコピーする必要があります。

キーや証明書の名前は、ここで示した名前とは多少異なる場合があります。 エンタイトルメント証明書およびRed Hat CA証明書ファイルのファイル拡張子は.crtです。 キーのファイル拡張子は.keyです。

プロシージャ: 証明書をサーバにコピーする
  1. SUSE Managerサーバがアクセスできる場所にエンタイトルメント証明書とキーをクライアントシステムからコピーします。

    Amazon EC2:

    cp /etc/pki/rhui/product/content-<version>.crt /<example>/entitlement/
    cp /etc/pki/rhui/content-<version>.key /<example>/entitlement/

    Azure:

    • 次のコマンドを使用して証明書チェーンを確認します。

      openssl s_client -connect rhui-1.microsoft.com:443 -showcerts

      サンプル出力は次のようになります。

      CONNECTED(00000003)
      depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root G2
      verify return:1
      depth=1 C = US, O = Microsoft Corporation, CN = Microsoft Azure TLS Issuing CA 06
      verify return:1
      depth=0 C = US, ST = WA, L = Redmond, O = Microsoft Corporation, CN = rhui-1.microsoft.com
      verify return+
    • 2番目の証明書( CN = Microsoft Azure)を確認します。 VMで同じである場合は、証明書名をメモします。 証明書をダウンロードするには、https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/certificate-authoritiesを参照してください。 AIAリンクをクリックして、証明書をダウンロードします。 証明書は、.cerサフィックスが付いてダウンロードされます。 次のコマンドを使用して、.crtに変換します。

      openssl x509 -inform DER -in <example.cer> -out <example.crt>

      Googleクラウドプラットフォーム:

      cp /etc/pki/rhui/product/content.crt /<example>/entitlement/
      cp /etc/pki/rhui/key.pem /<example>/entitlement/
  2. Red Hat CA証明書ファイルをクライアントシステムから、エンタイトルメント証明書およびキーと同じ場所にコピーします。

    Amazon EC2:

    cp /etc/pki/rhui/cdn.redhat.com-chain.crt /<example>/entitlement

    Azure:

    変換された証明書を/<example>/entitlement/にアップロードします

    Googleクラウドプラットフォーム:

    cp /etc/pki/rhui/ca.crt /<example>/entitlement

Red Hatクライアントでリポジトリを管理するには、CAおよびエンタイトルメント証明書をSUSE Managerサーバにインポートする必要があります。 この操作を実行するには、インポートプロシージャを3回実行して、3つのエントリを作成する必要があります。 エンタイトルメント証明書、エンタイトルメントキーおよびRed Hat証明書にそれぞれ1つずつです。

プロシージャ: 証明書をサーバにインポートする
  1. SUSE ManagerサーバのWeb UIで、システム  自動インストール  GPGキーとSSLキーに移動します。

  2. 格納されているキーまたは証明書の作成をクリックして、エンタイトルメント証明書用に次のパラメータを設定します。

    • 説明]フィールドにEntitlement-Cert-Dateと入力します。

    • タイプ]フィールドで、SSLを選択します。

    • アップロードするファイルの選択]フィールドで、エンタイトルメント証明書を保存した場所をブラウズし、.crt証明書ファイルを選択します。

  3. キーの作成をクリックします。

  4. 格納されているキーまたは証明書の作成をクリックして、エンタイトルメントキー用に次のパラメータを設定します。

    • 説明]フィールドにEntitlement-Key-Dateと入力します。

    • タイプ]フィールドで、SSLを選択します。

    • アップロードするファイルの選択]フィールドで、エンタイトルメントキーを保存した場所をブラウズし、.keyキーファイルを選択します。

  5. キーの作成をクリックします。

  6. 格納されているキーまたは証明書の作成をクリックして、Red Hat証明書用に次のパラメータを設定します。

    • 説明]フィールドにredhat-certと入力します。

    • タイプ]フィールドで、SSLを選択します。

    • アップロードするファイルの選択]フィールドで、Red Hat証明書を保存した場所をブラウズし、証明書ファイルを選択します。

  7. キーの作成をクリックします。

2. カスタムリポジトリおよびチャンネルの準備

RHUIからソフトウェアをミラーリングするには、URLでRHUIにリンクされているカスタムチャンネルおよびリポジトリをSUSE Managerに作成する必要があります。 Red Hatポータルでこれらの製品を正しく動作させるには、該当製品のエンタイトルメントが必要です。 yumユーティリティを使用して、ミラーリングするリポジトリのURLを取得できます。

yum repolist -v | grep baseurl

これらのリポジトリURLを使用して、カスタムリポジトリを作成できます。 クライアントを管理するために必要なコンテンツのみミラーリングできます。

Red Hatポータルに正しいエンタイトルメントがある場合、Red Hatリポジトリのカスタムバージョンのみ作成できます。

このプロシージャに必要な詳細は次のとおりです。

Table 1. Red Hatカスタムリポジトリ設定
オプション 設定

リポジトリURL

RHUIによって提供されるコンテンツURL

署名済みメタデータがあるかどうか

すべてのRed Hatエンタイトルメントリポジトリ のチェックを外します

SSL CA証明書

redhat-cert

SSLクライアント証明書

Entitlement-Cert-Date

SSLクライアントキー

Entitlement-Key-Date

プロシージャ: カスタムリポジトリの作成
  1. SUSE ManagerサーバのWeb UIで、ソフトウェア  管理  リポジトリに移動します。

  2. リポジトリの作成をクリックし、リポジトリに適切なパラメータを設定します。

  3. リポジトリの作成をクリックします。

  4. 作成する必要があるすべてのリポジトリで繰り返します。

このプロシージャで必要なチャンネルは次のとおりです。

Table 2. Red Hatカスタムチャンネル
OSバージョン ベース製品 ベースチャンネル

Red Hat 6

RHEL6 Base x86_64

rhel6-pool-x86_64

Red Hat 7

RHEL7 Base x86_64

rhel7-pool-x86_64

Red Hat 8

RHELまたはSLES ESまたはCentOS 8 Base

rhel8-pool-x86_64

Red Hat 6はサポート終了になっており、そのリポジトリで提供されるISOイメージは失効しています。 これらのパッケージを使用した新しいRed Hat 6クライアントのブートストラップは失敗します。 新しいRed Hat 6クライアントをブートストラップする必要がある場合、クライアントのトラブルシューティングのトラブルシューティングプロシージャに従ってください。

プロシージャ: カスタムチャンネルの作成
  1. SUSE ManagerサーバのWeb UIで、ソフトウェア  管理  チャンネルに移動します。

  2. チャンネルの作成をクリックし、チャンネルに適切なパラメータを設定します。

  3. 親チャンネル]フィールドで、適切なベースチャンネルを選択します。

  4. チャンネルの作成をクリックします。

  5. 作成する必要があるすべてのチャンネルで繰り返します。 各カスタムリポジトリに1つのカスタムチャンネルが必要です。

該当するすべてのチャンネルとリポジトリを作成したことを確認できます。そのためには、ソフトウェア  チャンネル一覧  すべてに移動します。

Red Hat 8クライアントでは、ベースチャンネルとAppStreamチャンネルの両方を追加します。 両方のチャンネルのパッケージが必要です。 両方のチャンネルを追加しないと、パッケージ不足のためブートストラップリポジトリを作成できません。

すべてのチャンネルを作成済みの場合、これらのチャンネルを、作成したリポジトリと関連付けできます。

プロシージャ: チャンネルのリポジトリとの関連付け
  1. SUSE ManagerサーバのWeb UIで、ソフトウェア  管理  チャンネルに移動し、関連付けるチャンネルをクリックします。

  2. リポジトリ]タブに移動し、このチャンネルと関連付けるリポジトリにチェックを付けます。

  3. リポジトリの更新をクリックし、チャンネルとリポジトリを関連付けます。

  4. 関連付ける必要があるすべてのチャンネルとすべてのリポジトリを繰り返します。

  5. オプション: [同期]タブに移動し、このリポジトリの同期の繰り返しスケジュールを設定します。

  6. 今すぐ同期をクリックし、すぐに同期を開始します。

3. ソフトウェアチャンネルの追加

Red HatクライアントをSUSE Managerサーバに登録する前に、必要なソフトウェアチャンネルを追加して同期する必要があります。

SUSE Managerサブスクリプションでは、SUSE Linux Enterprise Server with Expanded Supportのツールチャンネルを使用できます(Red Hat拡張サポートまたはRESとも呼ばれます)。 クライアントツールチャンネルを使用してブートストラップリポジトリを作成する必要があります。 このプロシージャは、Saltクライアントと従来のクライアントの両方に適用されます。

このプロシージャで必要な製品は次のとおりです。

Table 3. Red Hat製品 - WebUI
OSバージョン 製品名

Red Hat 6

RHEL6 Base x86_64

Red Hat 7

RHEL7 Base x86_64

Red Hat 8

RHELまたはSLES ESまたはCentOS 8 Base

Red Hat 6はサポート終了になっており、そのリポジトリで提供されるISOイメージは失効しています。 これらのパッケージを使用した新しいRed Hat 6クライアントのブートストラップは失敗します。 新しいRed Hat 6クライアントをブートストラップする必要がある場合、クライアントのトラブルシューティングのトラブルシューティングプロシージャに従ってください。

プロシージャ: ソフトウェアチャンネルの追加
  1. SUSE ManagerのWeb UIで、管理  セットアップウィザード  製品に移動します。

  2. 検索バーを使用してクライアントのオペレーティングシステムおよびアーキテクチャに適切な製品を探し、適切な製品にチェックを付けます。 こうすることによって、すべての必須チャンネルに自動的にチェックが付きます。 また、include recommendedトグルがオンになっている場合、すべての推奨チャンネルにもチェックが付きます。 矢印をクリックして関連製品の一覧を表示し、必要な追加製品にチェックが付いていることを確認します。

  3. 製品の追加をクリックし、製品の同期が完了するまで待機します。

AppStreamリポジトリにはモジュールパッケージが用意されています。 SUSE ManagerのWeb UIに正しくないパッケージ情報が表示されます。 Web UIまたはAPIを使用してモジュールリポジトリから直接インストールまたはアップグレードするようなパッケージ操作は実行できません。

コンテンツライフサイクル管理(CLM)でAppStreamフィルタを使用して、モジュールリポジトリを通常のリポジトリに変換できます。 クライアントでspacecmdを使用する場合は、AppStreamフィルタを使用してpython:3.6を必ず含めてください。

または、Salt状態を使用してSaltクライアントでモジュラーパッケージを管理したり、クライアントでdnfコマンドを使用することもできます。 CLMの詳細については、Content Lifecycle Managementを参照してください。

RHUIを使用するには、必要なHTTPヘッダを設定ファイルに手動で追加する必要があります。 このヘッダがないと、クライアントの同期を正常に実行できません。

プロシージャ: HTTPヘッダを設定ファイルに追加する
  1. X-RHUI-IDおよびX-RHUI-SIGNATURE HTTPヘッダをRHUIインスタンスから検索します。 Red Hatクライアントで次のコマンドを使用して、169.254.169.254でクラウドインスタンスメタデータAPIから値を取得できます。

    echo "X-RHUI-ID=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document|base64|tr -d '\n')"
    echo "X-RHUI-SIGNATURE=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/signature|base64|tr -d '\n')"
  2. /etc/rhn/spacewalk-repo-sync/extra_headers.conf設定ファイルを開き、次の行を追加するか、または正しい情報を使用して編集します。

    [<channel_label_1>]
    X-RHUI-ID=<value>
    X-RHUI-SIGNATURE=<value>
    
    [<channel_label_2>]
    X-RHUI-ID=<value>
    X-RHUI-SIGNATURE=<value>
    上記の[literal]``<channel_label_X>``を[literal]``rhel8-baseos-repo``などのチャンネル名に置き換えます。
    [rhel8-baseos-repo]
    X-RHUI-ID=...
    X-RHUI-SIGNATURE=...

4. 同期ステータスの確認

手順: Web UIからの同期の進捗状況の確認
  1. SUSE ManagerのWeb UIで、管理  セットアップウィザードに移動し、[製品]タブを選択します。 このダイアログには、同期中の各製品の完了バーが表示されます。

  2. 代わりに、ソフトウェア  管理  チャンネルに移動し、リポジトリに関連付けられているチャンネルをクリックします。 [リポジトリ]タブに移動し、[同期]をクリックし、[同期状態]をクリックします。

プロシージャ: コマンドプロンプトから同期の進捗状況を確認する
  1. SUSE Managerサーバのコマンドプロンプトで、rootとして、tailコマンドを使用して同期ログファイルを確認します。

    tail -f /var/log/rhn/reposync/<channel-label>.log
  2. それぞれの子チャンネルは、同期の進捗中にそれぞれのログを生成します。 同期が完了したことを確認するには、ベースチャンネルと子チャンネルのログファイルをすべて確認する必要があります。

Red Hat Enterprise Linuxチャンネルは非常に大きいことがあります。 同期に数時間かかる場合があります。

5. クライアントの登録

Red Hatクライアントを登録するには、ブートストラップリポジトリが必要です。 デフォルトでは、ブートストラップリポジトリは自動的に作成され、すべての同期製品に対して毎日再生成されます。 次のコマンドを使用して、コマンドプロンプトからブートストラップリポジトリを手動で作成できます。

mgr-create-bootstrap-repo

クライアントの登録については、クライアント登録の概要を参照してください。

Red Hat Enterprise Linux 6クライアントを登録して使用するには、SUSE Managerサーバを設定して旧式のSSL暗号化をサポートする必要があります。 詳細については、古いクライアントの登録クライアントのトラブルシューティングで参照してください。