3. 通知とステータス変更への応答

3.1. Red Hat Subscription Manager: サブスクリプションの自動アタッチと更新

サブスクリプションデーモンの rhsmcertd は、システムにアタッチされたサブスクリプションを監視し、有効期限が近づいた場合や、削除された場合に追跡します。
システムが、有効なサブスクリプションなしに製品をインストールした場合、Red Hat Subscription Manager はシステム上にインストールされた製品に対応するために最適のサブスクリプションを自動的にアタッチします。これは、概念的には、システムを登録する時にシステムを自動アタッチするのと同じプロセスです。しかし、これはすべて、管理者がスクリプトを実行することなく実施されます。このプロセスにより、動的環境においてさえも、サブスクリプションを更新した状態を維持することができます。
以下は、自動アタッチが役立ついくつかの一般的な事例です。
  • 新しい製品がインストールされた際
  • サブスクリプションの有効期限が切れた時
    サブスクリプションの期限が切れる 24 時間以内に、Subscription Manager により、サブスクリプションがシステムに自動的に再アタッチ
  • サブスクリプションが更新された時
  • サブスクリプション管理アプリケーションが、そのマニフェストに置き換えられた時
    (オリジナルのマニフェストをリフレッシュするのではなく) 新しいマニフェストがアップロードされた場合、古いマニフェストは削除されます。システムにアタッチしている古いマニフェストのサブスクリプションは、どれも自動的に削除されます。つまり、サブスクリプションのない製品が、システムには存在し得ることを意味します。システムの自動アタッチを有効にすることは、システムが新しいマニフェストのサブスクリプションを自動的に要求および適用できることを意味します。
システムの自動アタッチにより、アクティブかつ互換性のあるサブスクリプションが存在する限りは、システム内の製品がサブスクリプションなしの状態になることはありません。
自動アタッチは、システム上でデフォルトにより有効なため、サブスクリプションステータスを維持管理できます。自動アタッチは、特定のサブスクリプションサービス (カスタマーポータルまたは Subscription Asset Manager など) を通じて、無効/再度有効にすることができます。また、rhsmcertd により、自動アタッチをローカルで確認する方法も変更可能です。

3.1.1. システムの詳細設定

サブスクリプションの自動アタッチおよび更新は、システムにアタッチするサブスクリプションを選択します。これは、現在インストール済みの製品、ハードウェア、アーキテクチャーなどの各種基準に基づいて行われます。Subscription Manager が使用する詳細設定で以下の 2 つをさらに設定することが可能です。
  • サブスクリプションのサービスレベル
  • 使用するオペレーティングシステムのマイナーバージョン (X.Y)
これは自動修復で特に有用です。自動修復は、すべてのインストール済み製品と現在のサブスクリプションがアクティブとなっているように毎日実行されます。
3.1.1.1. UI での詳細設定
サービスレベルおよびオペレーティングシステムのリリースバージョンの詳細設定はどちらも、Subscription Manager の システムの設定 のダイアログボックスで行います。
  1. Subscription Manager を開きます。
  2. システム メニューを開きます。
  3. システムの設定 メニュー項目を選択します。
  4. ドロップダウンメニューから希望するサービスレベル同意書の設定を選択します。アクティブなサブスクリプションすべてに基づいて、Red Hat アカウントで利用可能なサービスレベルのみが表示されます。
  5. リリースバージョン ドロップダウンメニューでオペレーティングシステムのリリース設定を選択します。表示されるバージョンは、アカウントにアクティブなサブスクリプションがある Red Hat Enterprise Linux バージョンのみです。
  6. 設定が保存され、今後のサブスクリプションの操作に適用されます。閉じる をクリックしてダイアログを閉じます。
3.1.1.2. サービスレベルの設定について
特定のシステム上の製品のサービスレベルを認識することは、サブスクリプションの一部になります。Red Hat Subscription Manager のシステムに推奨されるサービスレベルを設定することは、Subscription Manager が、システムにサブスクリプションを自動的にアタッチするための基準の一部としてこの設定を使用することを意味します。これは、最初にサブスクリプションを適用する場合、またはサブスクリプションを自動修復する場合のいずれかに適用されます。
Red Hat のサービスレベルは、コントラクトで定義されています。製品サポートのサービスレベルの概要は、https://access.redhat.com/ja/support/offerings/production/sla に記載されています。
各サブスクリプションのサポート情報またはサービス情報は、サブスクリプションの詳細の一部になります。サブスクリプションごとに、サービスレベルおよびサービスタイプの 2 つの属性が表示されます。レベル は、ケースに対するサポートの保証の速さを定義します。タイプ は、通信方法を定義します。製品レベルのサポートでは、これは常に Web および電話となります。
サブスクリプションのサービスレベルの情報

図30 サブスクリプションのサービスレベルの情報

アカウントには複数のサポートレベルを設定できます。同じ製品に対しても可能です。特定のシステムに対するサポートレベルを設定して、適切なレベルのサポートを利用できるようにします。実稼働システムは業務に必須なシステムであるため、通常はプレミアムのサポートレベルを選択します。一方、開発用のシステムは標準レベルのサポートか、セルフサポートを選択できます。

注記

デフォルトでは、サブスクリプションおよびシステムに対して、利用可能なサポートレベルの中で最も高いレベルが選択されます。
3.1.1.3. コマンドラインを使用したサービスレベルの設定
システムの自動アタッチは、そのシステムのハードウェアとアーキテクチャー、オペレーティングシステム、そしてインストール済みの製品に基づき、最適なものを設定します。システムの自動アタッチには、サブスクリプションの選択プロセスでサービスレベルを含むというオプションがあります。たとえば、実稼働システムは、標準レベルよりも、プレミアムレベルのサブスクリプションを選択する可能性があります。
登録時またはサブスクリプションの選択時におけるサービスレベルの設定では、以下の 2 点を実行します。
  • 希望するサービスレベル (およびその他の基準) に最も一致したサブスクリプションを選択
  • システムの優先順位を指定のサービスレベルに設定

注記

登録時、サブスクリプションの選択時、または UI で優先順位が設定されると、この優先順位は、現在のサブスクリプションと、更新および自動修復されたサブスクリプションの両方に適用されます。
一般的なサービスレベルは、service-level --set コマンドを使用して設定できます。

例1 サービスレベル詳細の設定

まず、service-level コマンドを --list オプションで実行して、システムで利用可能なサービスレベルを表示します。
[root@server ~]# subscription-manager service-level --list
+-------------------------------------------+
          Available Service Levels
+-------------------------------------------+
Standard
None
Premium
Self-Support
次に、システムで希望するレベルを設定します。
[root@server ~]# subscription-manager service-level --set=self-support
Service level set to: self-support
ローカルシステムの現在の設定は、--show オプションで表示できます。
[root#server ~]# subscription-manager service-level --show
Current service level: self-support
サービスレベルの設定は、サブスクリプション動作 (システム登録や登録後のサブスクリプションのアタッチなど) の実行中に定義できます。これにより、システム設定の上書きが可能です。registerattach のコマンドでは、--servicelevel オプションで動作の詳細を設定できます。

例2 プレミアムサービスレベルでのサブスクリプションの自動アタッチ

[root#server ~]# subscription-manager attach --auto --servicelevel Premium
Service level set to: Premium
Installed Product Current Status:
ProductName:            RHEL 6 for Workstations
Status:                 Subscribed

注記

--servicelevel オプションには、--auto-attach オプション (登録用) または --auto オプション (アタッチ用) が必要です。特定のプールのアタッチや、サブスクリプションのインポートには使用できません。
3.1.1.4. コマンドラインでのサービスレベル設定の表示
システムには、利用可能なサービスレベルが複数あります。利用可能なレベルは、システムに対して、またはシステム上の製品に対して実際に有効なものではない場合があります。レベルは、サブスクリプションそのものによって決まります。
サービスレベルの情報は、service-level コマンドを使用して表示されます。これは情報コマンドです。このコマンドは、システムまたはアカウントのサービスレベルに関する現在の情報を返しますが、割り当てられたサービスレベルには一切変更を加えません。
システムの利用可能なサービスレベルを表示するには、--list オプションを使用します。利用可能なレベルを知っておくだけでも、優先順位の設定、自動アタッチ、またはサブスクリプションの購入において役に立ちます。
[root@server ~]# subscription-manager service-level --list
+-------------------------------------------+
          Available Service Levels
+-------------------------------------------+
Standard
None
Premium
デフォルトのサービスレベルの優先順位は、アカウントおよびローカルシステムに指定できます。これらの 2 つの設定は、同じものである必要はありません。
ローカルシステムの現在の設定は、--show オプションで表示できます。
[root#server ~]# subscription-manager service-level --show
Current service level: Premium
3.1.1.5. コマンドラインで希望するオペレーティングシステムのリリースバージョンの設定
IT 環境の多くは、一定のセキュリティーレベルか他の基準に合致していると認定されている必要があります。その場合、主要なアップグレードの計画と管理は注意して行う必要があります。管理者がただ yum update を実行して次のバージョンに移行できるものではありません。
リリースバージョンを指定すると、システムが、最新バージョンのリポジトリーを自動的に選択するようなことはせず、オペレーティングシステムのバージョンに関連したコンテンツリポジトリーにアクセスを制限します。
たとえば、指定したオペレーティングシステムバージョンが 6.3 の場合は、他のリポジトリーが利用可能であっても、システムにインストールされる製品およびアタッチされるサブスクリプションには、常に 6.3 のコンテンツリポジトリーが選ばれます。
その特定バージョンのパッケージ、更新、およびエラータだけがシステムに使用されます。

例3 登録時のオペレーティングシステムのリリースの設定

リリースバージョンの設定は、システムの登録時に register コマンドを --release オプションで実行することで設定できます。これによりこのリリース設定は、システム登録時に選択され自動アタッチされたサブスクリプションに適用されます。
--auto-attach オプションは、自動アタッチのサブスクリプションの選択に使用される基準の 1 つであるため、詳細設定時に必要となります。
[root#server ~]# subscription-manager register --auto-attach --release=6.4 --username=admin@example.com...

注記

リリース設定は、サービスレベルの設定とは異なり、登録時にのみ使用するか、詳細設定として設定できます。attach コマンドでは指定できません。

例4 オペレーティングシステムのリリース詳細設定

release コマンドは、アタッチされたサブスクリプションだけでなく、アカウントで利用可能な購入済みサブスクリプションに基づいて、利用可能なオペレーティングシステムのリリースを表示します。
[root#server ~]# subscription-manager release --list
+-------------------------------------------+
          Available Releases
+-------------------------------------------+
6.2
6.3
そして、--set で詳細設定を利用可能なリリースバージョンの 1 つに設定します。
[root#server ~]# subscription-manager release --set=6.3
Release version set to: 6.3
3.1.1.6. 設定の削除
コマンドラインから設定を削除するには、適切なコマンドとともに --unset を使用します。たとえば、リリースバージョンの設定を解除するには、以下を実行します。
[root#server ~]# subscription-manager release --unset
Release version set to:
UI の設定を削除または解除するには、以下を実行します。
  1. Subscription Manager を開きます。
  2. システム メニューを開きます。
  3. システムの設定 メニュー項目を選択します。
  4. 対応するドロップダウンメニューの空白の行にサービスレベルまたはリリースバージョンの値を設定します。
  5. 閉じる をクリックします。

3.1.2. 通知に対応した自動アタッチ

Subscription Manager UI を開くと (通知エリアから開いたか、通常の方法で開いたかに関わらず)、製品に有効な証明書が欠けているかどうかを示すアイコンが左上隅に表示されます。無効になった製品に適合するサブスクリプションをアタッチする最も簡単な方法は、自動アタッチ ボタンをクリックすることです。
自動アタッチボタン

図31 自動アタッチボタン

3.1.3. 登録時の自動アタッチ

register コマンドには --auto-attach というオプションがあります。このオプションを使用すれば、ワンステップでシステムをサブスクリプションサービスに登録し、そのシステムのアーキテクチャーに最適なサブスクリプションを即時にアタッチすることができます。
[root@server1 ~]# subscription-manager register --username admin-example --password secret --auto-attach

3.1.4. 登録後の自動アタッチ

attach--auto オプション (register コマンドの --auto-attach オプションに類似) は、現在インストールされている製品およびその他の基準をベースに、最適のサブスクリプションをシステムにアタッチします。
[root@server1 ~]# subscription-manager attach --auto
システムに Cluster Suite のようなアドオン製品か、または Red Hat Directory Server のような階層化製品がインストールされている場合、登録後にこれを実行すると、役立つ可能性があります。これらの製品はデフォルトでインストールされていないため、登録時の自動アタッチではマシンに適切なサブスクリプションを適用しないかもしれません。これらのインストール後に自動アタッチすると、適切なサブスクリプションのアタッチが簡単になる可能性があります。また、プール ID を探して選択する必要がないため、少し簡単になります。