第10章 アクティベーションキーの管理

アクティベーションキーは、システム登録とサブスクリプションのアタッチを自動化する方法を提供します。複数のキーを作成して、異なる環境とコンテンツビューに関連付けることができます。たとえば、Red Hat Enterprise Linux ワークステーション用のサブスクリプションで基本のアクティベーションキーを作成し、これを特定の環境のコンテンツビューに関連付けることができます。

コンテンツホストの登録時にアクティベーションキーを使用して、プロセスにかかる時間を短縮するだけでなく、プロセスの簡潔性や一貫性を向上します。アクティベーションキーは、ホストが登録されている場合にのみ使用できます。アクティベーションキーに変更が加えられた場合には、それ以降、改訂されたアクティベーションキーで登録されるホストにのみ、変更が適用され、既存のホストには加えられません。

アクティベーションキーを使用して、コンテンツホストの次のプロパティーを定義できます。

  • 関連付けられるサブスクリプションおよびサブスクリプションのアタッチ動作
  • 利用可能な製品およびリポジトリー
  • ライフサイクル環境およびコンテンツビュー
  • ホストコレクションのメンバーシップ
  • システムの目的

ホストの作成と登録の間のコンテンツビューの競合

Satellite は、ホストのプロビジョニング時に、プロビジョニングテンプレートと、ホストグループまたはホスト設定で設定したコンテンツホストビューからの他のコンテンツを使用します。ホストの登録時には、アクティベーションキーからのコンテンツビューは、ホストグループまたはホストの設定をベースにしたもとのコンテンツビューを上書きし、Satellite は、ホストの再構築時など、その後のタスクすべてにアクティベーションキーからのコンテンツビューを使用します。

ホストの再構築時に、使用するコンテンツビューを、ホストグループやホスト設定ではなく、アクティベーションキーで設定するようにします。

複数のコンテンツホストでの同じアクティベーションキーの使用

サブスクリプションが十分にある場合には、同じアクティベーションキーを複数のコンテンツホストに適用できます。ただし、アクティベーションキーはコンテンツホストの初期設定のみを行います。コンテンツホストを組織に登録した後は、組織のコンテンツをコンテンツホストに手動でアタッチできます。

コンテンツホストでの複数のアクティベーションキーの使用

コンテンツホストは、ホストの設定を定義するgために組み合わせて使用する複数のアクティベーションキーと関連付けることができます。設定の競合が発生した場合には、最後の指定下アクティベーションキーが優先されます。以下のようにホストグループのパラメーターを設定して優先順位を指定できます。

$ hammer hostgroup set-parameter \
--name kt_activation_keys \
--value name_of_first_key, name_of_second_key,... \
--hostgroup hostgroup_name

10.1. アクティベーションキーの作成

アクティベーションキーを使用して、登録時にホストにアタッチするサブスクリプションの特定のセットを定義できます。アクティベーションキーに追加するサブスクリプションは、関連するコンテンツビュー内で利用可能である必要があります。

サブスクリプションマネージャーは、以下の要因に応じたさまざまな方法で、サブスクリプションをアタッチします。

  • サブスクリプションがアクティべーションキーに関連付けられているか?
  • 自動アタッチオプションは有効になっているか?
  • Red Hat Enterprise Linux 8 ホストの場合: アクティベーションキーにシステムの目的が設定されていますか?

Satellite は、ホストにインストールされている製品に対してのみサブスクリプションを自動的にアタッチします。拡張更新サポート (EUS) など、デフォルトで Red Hat Enterprise Linux にインストールされていない製品が記載されていないサブスクリプションについては、必要なサブスクリプションを指定したアクティベーションを使用し、自動アタッチを無効にします。

上記の要因をもとに、アクティベーションキーを使用してサブスクライブするシナリオを 3 つ想定できます。

  1. サブスクリプションを自動的にアタッチするアクティベーションキー。

    サブスクリプションの指定なしで、自動アタッチが有効な場合に、アクティベーションキーを使用するホストは、アクティベーションキーと関連するコンテンツビューが提供する最適なサブスクリプションを検索します。これは、subscription-manager --auto-attach コマンドを実行する場合と類似しています。Red Hat Enterprise Linux 8 ホストの場合、アクティベーションキーを設定し、登録時にシステムの目的をホストに設定して、サブスクリプションの自動アタッチメントを強化できます。

  2. 自動アタッチ用にカスタムのサブスクリプションを指定するアクティベーションキー。

    サブスクリプションが指定されていて、自動アタッチが有効な場合に、アクティベーションキーを使用するホストは、アクティベーションキーで指定された一覧から最適なサブスクリプションを選択します。アクティベーションキーにシステムの目的を設定しても、このシナリオには影響しません。

  3. サブスクリプションセットが指定されたアクティベーションキー。

    サブスクリプションが指定されていて、自動アタッチが無効な場合、アクティべーションキーを使用するホストは、アクティベーションキーに指定されたすべてのサブスクリプションに関連付けられます。アクティベーションキーにシステムの目的を設定しても、このシナリオには影響しません。

カスタム製品

カスタム製品 (通常は Red Hat が提供しないコンテンツを含む製品) がアクティベーションキーに割り当てられている場合には、この製品は、自動アタッチの設定の有無にかかわらず、登録されたコンテンツホストに対して常に有効になります。

手順

アクティベーションキーを作成するには、以下の手順を行います。

  1. Satellite Web UI で コンテンツ > アクティベーションキー に移動して、アクティベーションキーの作成 をクリックします。
  2. 名前 フィールドに、アクティベーションキーの名前を入力します。
  3. 制限を設定しない場合は、Unlimited hosts チェックボックスの選択を解除して、Limit フィールドに、アクティベーションキーを使って登録できるシステムの最大数を入力します。アクティベーションキーを使って登録するホストに制限を設けない場合は、Unlimited Hosts チェックボックスが選択されていることを確認します。
  4. 説明 フィールドに、アクティベーションキーの説明を入力します。
  5. 環境 一覧から、使用する環境を選択します。
  6. コンテンツビュー リストから、使用するコンテンツビューを選択します。このアクティベーションキーを使用してホストを登録する場合は、katello-agent をインストールする必要があるため、コンテンツビューに Satellite Tools 6.7 リポジトリーが含まれている必要があります。
  7. 保存 をクリックします。
  8. オプション: Red Hat Enterprise Linux 8 ホストの場合、システムの目的 セクションで、システムの目的でアクティベーションキーを設定し、登録時にホストに設定して、サブスクリプションの自動アタッチメントを強化できます。

CLI をご利用の場合

  1. アクティベーションキーを作成します。

    # hammer activation-key create \
    --name "My_Activation_Key" \
    --unlimited-hosts \
    --description "Example Stack in the Development Environment" \
    --lifecycle-environment "Development" \
    --content-view "Stack" \
    --organization "My_Organization"
  2. オプション: Red Hat Enterprise Linux 8 ホストの場合、以下のコマンドを入力して、システムの目的でアクティベーションキーを設定し、登録時にホストに設定してサブスクリプションの自動アタッチメントを強化します。

    # hammer activation-key update \
    --organization "My_Organization" \
    --name "My_Activation_Key" \
    --service-level "Standard" \
    --purpose-usage "Development/Test" \
    --purpose-role "Red Hat Enterprise Linux Server" \
    --purpose-addons "addons"
  3. サブスクリプション ID 一覧を取得します。

    # hammer subscription list --organization "My_Organization"
  4. Red Hat Enterprise Linux サブスクリプション UUID をアクティベーションキーにアタッチします。

    # hammer activation-key add-subscription \
    --name "My_Activation_Key" \
    --subscription-id ff808181533518d50152354246e901aa \
    --organization "My_Organization"
  5. アクティベーションキーに関連付けられている製品コンテンツを一覧表示します。

    # hammer activation-key product-content \
    --name "My_Activation_Key" \
    --organization "My_Organization"
  6. Satellite Tools 6.7 リポジトリーのデフォルトの自動有効化ステータスを上書きします。デフォルトのステータスは無効に設定されています。有効にするには、以下のコマンドを実行します。

    # hammer activation-key content-override \
    --name "My_Activation_Key" \
    --content-label rhel-7-server-satellite-tools-6.7-rpms \
    --value 1 \
    --organization "My_Organization"

10.2. アクティベーションキーを使用して関連するサブスクリプションの更新

Web UI を使用するか、Hammer コマンドラインツールを使用して、アクティベーションキーに関連付けられたサブスクリプションを変更できます。

アクティベーションキーへの変更は、変更後にプロビジョニングしたマシンにのみ適用されます。既存のコンテンツホストでサブスクリプションを更新する方法は 「コンテンツホストのサブスクリプションの一括更新」 を参照してください。

手順

アクティベーションキーに関連付けられたサブスクリプションを更新するには、以下の手順を行います。

  1. Satellite Web UI で、コンテンツ > アクティベーションキー に移動し、アクティベーションキーの名前をクリックします。
  2. サブスクリプション タブをクリックします。
  3. サブスクリプションを削除するには 一覧/削除 を選択してから、削除するサブスクリプションの左側にあるチェックボックスを選択し、選択した項目を追加 をクリックします。
  4. サブスクリプションを追加するには、追加 を選択してから、追加するサブスクリプションの左側のチェックボックスを選択し、選択した項目を追加 をクリックします。
  5. リポジトリーセット タブをクリックし、リポジトリーのステータス設定を確認します。
  6. リポジトリーを有効または無効にするには、リポジトリーに対してチェックボックスを選択し、アクションの選択 リストを使用してステータスを変更します。
  7. 詳細 タブをクリックし、このアクティベーションキーにコンテンツビューを選択し、保存 をクリックします。

CLI をご利用の場合

  1. 現在アクティベーションキーが含まれているサブスクリプションを一覧表示します。

    # hammer activation-key subscriptions \
    --name My_Activation_Key \
    --organization "My_Organization"
  2. アクティベーションキーから必要なサブスクリプションを削除します。

    # hammer activation-key remove-subscription \
    --name "My_Activation_Key" \
    --subscription-id ff808181533518d50152354246e901aa \
    --organization "My_Organization"

    --subscription-id オプションで、UUID またはサブスクリプションの ID のいずれかを使用できます。

  3. 新しいサブスクリプションをアクティベーションキーにアタッチします。

    # hammer activation-key add-subscription \
    --name "My_Activation_Key" \
    --subscription-id ff808181533518d50152354246e901aa \
    --organization "My_Organization"

    --subscription-id オプションで、UUID またはサブスクリプションの ID のいずれかを使用できます。

  4. アクティベーションキーに関連付けられている製品コンテンツを一覧表示します。

    # hammer activation-key product-content \
    --name "My_Activation_Key" \
    --organization "My_Organization"
  5. 必要なリポジトリーのデフォルトの自動有効化ステータスを上書きします。

    # hammer activation-key content-override \
    --name "My_Activation_Key" \
    --content-label content_label \
    --value 1 \
    --organization "My_Organization"

    有効化する場合は、--value オプションに 1 を、無効化する場合は 0 を入力します。

10.3. アクティベーションキーを使用したホストの登録

アクティベーションキーを使用して、以下のタスクを完了できます。

  • Red Hat Satellite 6 を使用したプロビジョニング中に新規ホストを登録する。Red Hat Satellite 6 のキックスタートプロビジョニングテンプレートには、ホストの作成時に定義されるアクティベーションキーを使用してホストを登録するコマンドが含まれています。
  • 既存の Red Hat Enterprise Linux ホストを登録する。Red Hat サブスクリプションマネージャーが登録に Satellite Server を使用するように設定し、subscription-manager register コマンドの実行時にアクティベーションキーを指定します。

手順

アクティベーションキーを使用して、既存の Red Hat Enterprise Linux 7 ホストを、Satellite Server に登録するには、以下の手順を行います。

  1. Satellite Server 用のコンシューマー RPM をダウンロードします。これは、ホストの Web サーバーの pub ディレクトリーに配置されています。たとえば、ホスト名が satellite.example.com の Satellite Server の場合は、登録するホストで以下のコマンドを実行します。

    # rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm

    この RPM は Satellite Server 上のリポジトリーにアクセスするために必要な証明書をインストールし、Red Hat サブスクリプションマネージャーがサーバーの URL を使用するように設定します。

  2. ホストで、アクティベーションキーを使用して Satellite にホストを登録するには、以下のコマンドを実行します。

    # subscription-manager register --activationkey="My_Activation_Key" \
    --org="My_Organization"
  3. 組織のホストの一覧を表示するには、Satellite Server で、以下のコマンドを実行します。

    # hammer host list --organization "My_Organization"
  4. Satellite Server にホストを登録したら、ホストに katello-agent パッケージをインストールして、ホストから Satellite Server にレポートできるようにします。

    # yum install katello-agent

    このパッケージは、Satellite Tools 6.7 リポジトリーに含まれます。

複数のアクティベーションキー

コンテンツホストの登録時に複数のアクティベーションキーを使用できます。特定のサブスクリプションセット用にアクティベーションキーを作成し、コンテンツホストの要件に合わせて、これらのアクティベーションキーを組み合わせることができます。たとえば、以下のコマンドは VDC と OpenShift の両方のサブスクリプションでコンテンツホストを組織に登録します。

# subscription-manager register --org="My_Organization" \
--activationkey="ak-VDC,ak-OpenShift"

競合の設定

アクティベーションキーの設定で競合が生じた場合は、右端のキーが優先されます。

  • 競合する設定: サービスレベルリリースバージョン環境コンテンツビュー、および 製品コンテンツ
  • 競合しない設定と、ホストがその統合を取得: サブスクリプション および ホストコレクション
  • キーそのものの動作に影響を与えるが、ホストの設定には影響を与えない設定: コンテンツホストの制限 および 自動アタッチ

10.4. 自動アタッチの有効化

アクティベーションキーで自動アタッチを有効にし、キーに関連付けられているサブスクリプションがある場合は、サブスクリプション管理サービスが、現在インストールされている製品、アーキテクチャー、およびサービスレベルなどの設定に基づいて、最適な関連サブスクリプションを選択してアタッチします。

自動アタッチを有効にして、キーに関連付けられたサブスクリプションを持たないことができます。このタイプのキーは、仮想マシンが物理サブスクリプションを消費するのではなく、ハイパーバイザーからホストベースのサブスクリプションを継承する場合に、仮想マシンを登録するために一般的に使用されます。詳細は、『Red Hat Satellite での仮想マシンサブスクリプションの設定』を参照してください。

自動アタッチはデフォルトで有効になっています。アクティベーションキーに関連付けられているすべてのサブスクリプションを強制的にアタッチする場合は、このオプションを無効にします。

手順

自動アタッチを有効にするには、以下の手順を行います。

  1. Satellite Web UI で、コンテンツ > アクティベーションキー に移動します。
  2. 編集するアクティべーションキーの名前をクリックします。
  3. サブスクリプション タブをクリックします。
  4. 自動アタッチの隣にある編集アイコンをクリックします。
  5. チェックボックスにチェックを入れて自動アタッチを有効にするか、チェックを外して無効にします。
  6. 保存 をクリックします。

CLI をご利用の場合

アクティベーションキーで自動アタッチを有効にするには、以下を実行します。

# hammer activation-key update --name "My_Activation_Key" \
--organization "My_Organization" --auto-attach true

10.5. サービスレベルの設定

アクティベーションキーで作成した新規ホストのデフォルトのサービスレベルを定義するように、アクティベーションキーを設定できます。デフォルトのサービスレベルを設定すると、ホストにアタッチするのに適したサブスクリプションのみが選択されます。たとえば、アクティベーションキーのデフォルトのサービスレベルが Premium に設定されている場合には、Premium サービスレべルのサブスクリプションのみが、登録時にホストにアタッチされます。

手順

サービスレベルを設定するには、以下の手順を行います。

  1. Satellite Web UI で、コンテンツ > アクティベーションキー に移動します。
  2. 編集するアクティべーションキーの名前をクリックします。
  3. サービスレベルの隣にある編集アイコンをクリックします。
  4. リストから必要なサービスレベルを選択します。このリストには、アクティベーションキーで利用できるサービスレベルだけが含まれます。
  5. 保存 をクリックします。

CLI をご利用の場合

アクティベーションキーでデフォルトのサービスレベルを Premium に設定するには、以下を実行します。

# hammer activation-key update --name "My_Activation_Key" \
--organization "My_Organization" --service-level premium