第9章 アクティベーションキーの管理
前章までで、コンテンツビューを公開し、その結果、Satellite Server がリポジトリーを公開しました。システムは Satellite Server に登録し、それらのリポジトリーからのコンテンツを使用できます。ここでのシステムの登録は、Red Hat カスタマーポータルへの登録と同様の方法で行います。たとえば、Red Hat サブスクリプションマネージャー (subscription-manager
) で --baseurl
を使うことで、Red Hat Content Delivery Network ではなく Satellite Server を指定できます。
システム登録には 2 つの方法があります。1 つ目は Satellite Server にユーザー名とパスワードで認証する方法で、これは前章で説明しました。2 つ目はアクティベーションキーを使用する方法で、こちらを使用することが推奨されます。このキーは認証トークンとして機能します。アクティベーションキーを使用すると、システム登録とサブスクリプションのアタッチが容易にできます。ユーザーは複数のキーを作成して異なる環境やコンテンツビューに関連付けることができます。たとえば、Red Hat Enterprise Linux ワークステーション用のサブスクリプションで基本的なアクティベーションキーを作成し、これを特定の環境からのコンテンツビューに関連付けることができます。
アクティべーションキーはコンテンツホストの選択されたプロパティーを定義します。コンテンツホストの登録時にアクティべーションキーを使用すると、プロセスをスピードアップし、単純化し、プロセスの一貫性を強化することができます。アクティベーションキーで以下を指定できます。
- 関連付けられるサブスクリプションおよびサブスクリプションのアタッチ動作。
- 利用可能な製品およびリポジトリー。
- ライフサイクル環境およびコンテンツビュー。
- ホストコレクションのメンバーシップ。
十分なサブスクリプションがある限り、同じアクティべーションキーを複数のコンテンツホストに適用することができます。ただし、アクティべーションキーはコンテンツホストの初期設定のみを行います。コンテンツホストを組織に登録した後は、その組織が処理する他のコンテンツをコンテンツホストに手動でアタッチすることができます。
コンテンツホストは、ホストの設定を定義するために組み合わせる複数のアクティべーションキーに関連付けることができます。設定が競合する場合は、最後に指定したアクティベーションキーが優先されます。
アクティべーションキーは、ホストが登録されている場合にのみ使用できます。アクティベーションキーに変更が加えられた場合、変更は、改訂されたアクティべーションキーでその後に登録されるホストにのみ適用されます。その変更は既存のホストには加えられません。
アクティベーションキーとその使用例についての本ガイド以外の情報は、Red Hat カスタマーポータルの「Activation Key Enhancements with Red Hat Satellite 6.1」を参照してください。
9.1. アクティベーションキーの作成
アクティベーションキーを使用して、登録時にコンテンツホストをサブスクライブする方法を定義できます。アクティべーションキーで定義されるサブスクリプションの動作は以下の 2 つの要因によって変わります。
- サブスクリプションがアクティべーションキーに関連付けられているか?
- 自動アタッチオプションは有効になっているか?
上記の要因に応じて、アクティベーションキーを使用してサブスクライブするシナリオを 3 つ想定できます。
-
サブスクリプションが指定されていないアクティべーションキー: サブスクリプションが指定されておらず、自動アタッチが有効な場合に、アクティべーションキーを使用するホストは、Satellite Server が提供する一覧から最適なサブスクリプションを検索します。これは、
subscription-manager --auto-attach
コマンドを実行する場合と同様です。 - 自動アタッチ用にカスタムサブスクリプションプールを指定するアクティべーションキー: サブスクリプションが指定されていて自動アタッチが有効な場合に、アクティべーションキーを使用するホストは、アクティべーションキーで指定された一覧から最適なサブスクリプションを選択します。
- サブスクリプションセットが指定されたアクティべーションキー: サブスクリプションが指定されており、自動アタッチが無効な場合に、アクティべーションキーを使用するホストは、アクティベーションキーに指定されたすべてのサブスクリプションに関連付けられます。
カスタム製品 (通常は Red Hat が提供しないコンテンツを含む製品) がアクティべーションキーに割り当てられている場合、この製品は、自動アタッチの設定の有無にかかわらず、登録されたコンテンツホストに対して常に有効にされます。
Web UI をご利用の場合
コンテンツ
アクティベーションキー に移動し、アクティベーションキーの作成 をクリックします。アクティベーションキーに以下の情報を提供します。 -
名前: アクティベーションキーの名前。この名前は、システム登録プロセス時で使用します。名前 フィールドに
development-stack
と入力します。 - 制限: アクティベーションキーで登録可能なシステムの最大数を定義します。Unlimited Hosts チェックボックスを選択します。
-
説明: アクティベーションキーの簡単な説明。説明 フィールドに、
Exampleware Stack in the Development Environment
と入力します。 - 環境: 使用する環境。環境 領域で Development をクリックします。
- コンテンツビュー: 環境内で使用するコンテンツビュー (およびリポジトリー)。コンテンツビュー リストで Stack を選択します。
保存 をクリックすると、アクティベーションキーの詳細画面が表示されます。
-
名前: アクティベーションキーの名前。この名前は、システム登録プロセス時で使用します。名前 フィールドに
登録において、アタッチする製品と、有効にするリポジトリーを定義するには、サブスクリプション タブに移動します。追加 タブをクリックし、
Red Hat Enterprise Linux
サブスクリプションとPostgreSQL
製品の両方をクリックし、選択項目の追加 をクリックします。注記自動アタッチ オプションは有効になっています。これにより、登録時にこれらの製品のアタッチが自動的に行われ、必要なリポジトリーが有効になります。アクティベーションキーの 自動アタッチ が無効になっている場合、システムはサブスクリプションやコンテンツを割り当てず、Satellite Server に登録されるのみとなります。
製品コンテンツ ページに移動します。デフォルトでは、Satellite Server が有効にしているのは以下のものだけです。
- システム要件に最も適するリポジトリー。このケースでは、Red Hat Enterprise Linux 7 Server RPMs のみです。
- カスタムコンテンツ。
シナリオでは、以下のデフォルトが設定されているはずです。
PostgreSQL:
-
PostgreSQL 9.5 - 有効にされていますか:
Yes (デフォルト)
-
PostgreSQL Puppet Modules - 有効にされていますか:
Yes (デフォルト)
Red Hat Enterprise Linux Server:
-
Red Hat Enterprise Linux 7 Server (Kickstart) - 有効にされていますか:
No (デフォルト)
-
Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs) - 有効にされていますか:
No (デフォルト)
-
Red Hat Enterprise Linux 7 Server (RPMs) - 有効にされていますか:
Yes (デフォルト)
Red Hat Satellite Tools リポジトリーには設定ツール (
katello-agent
およびpuppet
など) が含まれるため、これを有効にします。以下のようにします。-
Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs) - 有効にされていますか:
Yes に上書き
- 保存 をクリックします。
CLI をご利用の場合
アクティベーションキーを作成します。
# hammer activation-key create \ --name "development-stack" \ --unlimited-hosts true \ --description "Exampleware Stack in the Development Environment" \ --lifecycle-environment "Development" \ --content-view "Stack" \ --organization "ACME"
サブスクリプション ID 一覧を取得します。
# hammer subscription list --organization "ACME"
Red Hat Enterprise Linux サブスクリプション UUID をアクティベーションキーにアタッチします。
# hammer activation-key add-subscription \ --name "development-stack" \ --subscription-id ff808181533518d50152354246e901aa \ --organization "ACME"
PostgreSQL 製品をアクティベーションキーにアタッチします。
# hammer activation-key add-subscription \ --name "development-stack" \ --subscription-id ff8081815239acdc015238fefaa10002 \ --organization "ACME"
アクティベーションキーに関連付けられている製品コンテンツを一覧表示します。
# hammer activation-key product-content \ --name "development-stack" \ --organization "ACME"
Red Hat Satellite Tools 6.4 リポジトリーのデフォルトの自動有効化ステータスを上書きします。デフォルトでは無効になっています。有効にするには、以下のコマンドを実行します。
# hammer activation-key content-override \ --name "development-stack" \ --content-label rhel-7-server-satellite-tools-6.4-rpms \ --value 1 \ --organization "ACME"
9.2. アクティベーションキーの使用
アクティベーションキーは登録に使用されます。以下が含まれます。
- 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 に登録します。
まず、Satellite Server 用のコンシューマー RPM をダウンロードします。これは、通常、ホストの web サーバーの pub
ディレクトリーに配置されています。たとえば、ホスト名が satellite6.example.com
の Satellite Server の場合は、登録するクライアントで以下のコマンドを実行します。
# rpm -Uvh http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
この RPM は Satellite Server 上のリポジトリーにアクセスするために必要な証明書をインストールし、Red Hat サブスクリプションマネージャーがサーバーの URL を使用するように設定します。
次に、クライアント上で Red Hat サブスクリプションマネージャーを実行します。
# subscription-manager register --activationkey="development-stack" \ --org="ACME" The system has been registered with id: 744fb31c-c983-00f5-ca14-bddd0f711353
Satellite Server で登録を確認します。
Web UI をご利用の場合
ホスト > コンテンツホスト に移動すると、リストにシステムが表示されます。
CLI をご利用の場合
以下のコマンドを実行します。
# hammer host list --organization "ACME"
Satellite Server にクライアントシステムを登録したら、システムに katello-agent
パッケージをインストールして、Satellite Server にレポートできるようにします。
# yum install katello-agent
このパッケージは、Red Hat Satellite Tools 6.4 リポジトリーが提供しています。
コンテンツホストの登録時に複数のアクティべーションキーを使用することができます。これにより、特定のサブスクリプションセット用にアクティべーションキーを作成してから、コンテンツホストの要件に従ってそれらを組み合わせることができます。たとえば、以下のコマンドは VDC と OpenShift の両方のサブスクリプションでコンテンツホストを ACME 組織に登録します。
# subscription-manager register --org="ACME" \ --activationkey="ak-VDC,ak-OpenShift"
アクティベーションキーの設定で競合が生じた場合は、右端のキーが優先されます。
- 競合する設定: サービスレベル、リリースバージョン、環境、コンテンツビュー、および 製品コンテンツ。
- 競合しない設定と、ホストがその統合を取得: サブスクリプション および ホストコレクション。
- キーそのものの動作に影響を与えるが、ホストの設定には影響を与えない設定: コンテンツホストの制限 および 自動アタッチ。
9.3. アクティベーションキーを使用して関連するサブスクリプションの更新
Web UI または Hammer コマンドで、アクティベーションキーに関連付けるサブスクリプションを変更できます。Hammer CLI を使用する場合は CSV ファイルをダウンロードして、アクティベーションキー設定を変更し、変更した CSV ファイルをアップロードする必要があります。
アクティベーションキーへの変更は、変更後にプロビジョニングしたマシンにのみ適用されます。既存のコンテンツホストでサブスクリプションを更新する方法は「コンテンツホストのサブスクリプションの一括アップデート」を参照してください。
Web UI をご利用の場合
- コンテンツ > アクティベーションキー に移動し、アクティベーションキーの名前をクリックします。
- サブスクリプション タブを選択します。
- サブスクリプションを削除するには 一覧/削除 を選択し、削除するサブスクリプションの左側にあるチェックボックスを選択し、選択項目の削除 をクリックします。
- サブスクリプションを追加するには、追加 を選択し、追加するサブスクリプションの左側のチェックボックスを選択し、選択項目の追加 をクリックします。
- リポジトリーセット を選択し、リポジトリーのステータス設定を確認します。
- リポジトリーを有効または無効にするには、リポジトリーに対してチェックボックスを選択し、アクションの選択 リストを使用してステータスを変更します。
- 詳細 タブを選択し、このアクティベーションキーにコンテンツビューを選択し、保存 をクリックします。
CLI をご利用の場合
Satellite Server からサブスクリプションを CSV ファイルにエクスポートします (この例では
a_keys.csv
)。# hammer --server https://satellite.example.com csv activation-keys \ --export --file a_keys.csv --organization "Default Organization"
以下のようにファイルのコラムを表示します。
# column -s, -t < a_keys.csv | less -S Name Organization Description Limit Environment Content View Host Collections Auto-Attach Service Level Release Version Subscriptions
最後のコラムにはサブスクリプション情報があります。これは CSV ファイルのフィールドの 1 つで、引用されるテキストにはコンマを含むことができます。以下は サブスクリプション フィールドの例となります。
- '"""Automatic|RH1234|Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)|11223344|55667788"""'
'1|MCT0369|Red Hat Satellite Capsule Server|11223344|55667788'
サブスクリプション フィールドでは、以下の形式を使用します。
- 割り当てられるサブスクリプションの数 (Automatic に設定されます)。
- サブスクリプションの ID 番号。
- サブスクリプションの名前。
- コントラクト番号。
- アカウント番号。
CSV ファイルで必要な値を変更します。CSV プラグイン、または
sed
を使用して、Subscriptions フィールドの文字列を変更します。ファイルのバックアップを作成します。
# cp a_keys.csv a_keys.csv.backup
以下のように、文字列を変更します。
# sed -i "s/Automatic|RH1234|Red Hat Enterprise Linux Server/Automatic|RH4567|Red Hat Enterprise Linux Server/g" a_keys.csv
変更箇所を確認します。以下は例となります。
# diff a_keys.csv a_keys.csv.backup 2c2 < """Automatic|RH4567|Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)|11223344|55667788""" --- > """Automatic|RH1234|Red Hat Enterprise Linux Server, Standard (Physical or Virtual Nodes)|11223344|55667788"""
変更したファイルを Satellite Server にアップロードします。
# hammer --server https://satellite.example.com csv activation-keys \ --file a_keys.csv
9.4. 自動アタッチの有効化
アクティベーションキーで自動アタッチを有効にし、キーに割り当てたサブスクリプションがある場合は、サブスクリプション管理サービスが、現在インストールされている製品、アーキテクチャー、およびサービスレベルなどの設定に基づいて、最適な関連サブスクリプションを選択してアタッチします。
自動アタッチを有効にし、キーに関連するサブスクリプションがない場合、このキーは、RHEL サブスクリプションを使用し、ハイパーバイザーから RHEL Virtual Data Center (VDC) サブスクリプションを継承する仮想マシンが必要ない場合に、仮想マシンを登録するために一般的に使用されます。
自動アタッチはデフォルトで有効になっています。アクティベーションキーに関連付けられているすべてのサブスクリプションを強制的にアタッチする場合は、このオプションを無効にします。
Web UI をご利用の場合
- コンテンツ > アクティベーションキー をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- サブスクリプション タブをクリックします。
- 自動アタッチ の隣にある編集アイコンをクリックします。
- チェックボックスにチェックを入れて自動アタッチを有効にするか、チェックを外して無効にします。
- 保存 をクリックします。
自動アタッチアクティベーションキーを使用して仮想コンテンツホストを Satellite Server に登録するには、まず virt-who
ユーティリティーを使用して、それらのホストを Virtual Datacenter (VDC) サブスクリプションのエンタイトルメントにあるハイパーバイザーにマッピングします。この前提条件が適用されない場合、仮想ホストは一時的な仮想サブスクリプションに 24 時間登録されます。詳細は『仮想インスタンスガイド』の「仮想ゲストのサブスクリプションへの適用」を参照してください。
CLI をご利用の場合
アクティベーションキー development-stack
で自動アタッチを有効にするには、以下のコマンドを実行します。
# hammer activation-key update --name "development-stack" \ --organization "ACME" --auto-attach true
9.5. サービスレベルの設定
アクティべーションキーを設定して、アクティべーションキーを使用して作成される新規ホストのデフォルトのサービスレベルを定義することができます。デフォルトのサービスレベルを設定すると、ホストにアタッチするのに適したサブスクリプションのみが選択されます。たとえば、アクティべーションキーのデフォルトのサービスレベルが Premium に設定されている場合、Premium サービスレべルのサブスクリプションのみが、登録時にホストに割り当てられます。
Web UI をご利用の場合
- コンテンツ > アクティベーションキー をクリックします。
- 編集するアクティべーションキーの名前をクリックします。
- サービスレベル の隣にある編集アイコンをクリックします。
- リストから必要なサービスレベルを選択します。このリストには、アクティベーションキーで利用できるサービスレベルだけが含まれます。
- 保存 をクリックします。
CLI をご利用の場合
アクティベーションキー development-stack
でデフォルトのサービスレベルを Premium に設定するには、以下を実行します。
# hammer activation-key update --name "development-stack" \ --organization "ACME" --service-level premium