以前の RHN ユーザー向け Subscription-Manager、パート 13: System Purpose
以前の RHN ユーザー向け Subscription-Manager、パート 13: System Purpose (筆者がサブスクリプションをもう一度好きになった理由)。
System Purpose とそれが重要な理由
Red Hat Subscription はさまざまな方法で定義できますが、Subscription Management Experience チームは次のとおり定義しています。
Red Hat は、テクノロジー を以下と組み合わせます。
- 技術的 なユースケース情報 (RHEL をサーバーとして使用)
- ビジネス上 のユースケース情報 (障害復旧を目的とする)
- 運用上 のユースケース情報 (Premium と Standard、L3 のみと L1 - L3)
適切なサブスクリプションを選択するには、必要な製品と上記 3 つの情報を、適した比率で組み合わせる必要があります。定義はシンプルで、これを使用することで、それぞれの Red Hat Subscription に含まれる内容を明確にできます。
長年にわたり、私たちはサブスクリプションエクスペリエンスに関する、以下の 2 つの課題に向き合ってきました。
- システムに適切なエンタイトルメントを確実にアタッチする方法
- アカウントレベルでのサブスクリプション使用状況を把握する方法
System Purpose は、上記の両問題を解決するために作成されました。管理者はこれを使用することで、技術的、ビジネス上、運用上 のユースケースをシンプルな方法で反映できます。
要件:
- Red Hat Satellite 6.5 以降
- Red Hat カスタマーポータル
- Red Hat Enterprise Linux 8.0 以降または 7.7 以降
System Purpose は、subscription-manager ファミリーに属するツールで、redhat_subscription Ansible モジュール、RHEL8 の Web コンソール、Satellite、Red Hat Subscription Management からも公開されています。
System Purpose とは何か理解できたところで、その使用方法について詳しく見ていきましょう。
System Purpose の使用方法
System Purpose を使用すると、システムの使用方法に関するさまざまなパラメーターを設定できます。これらのパラメーターは永続的であり、インベントリー用途のサブスクリプションツールによって使用され、システムを適切なサブスクリプションに正しく導きます。 ‘自動アタッチにより ‘間違った’ サブスクリプション’ を取得した場合、System Purpose で対処できます。さらに、技術的、ビジネス上、運用上 のユースケースを提供することで、サブスクリプションツールはより多くの情報に基づき決定できます。
- ROLE - システムではどのようなワークロードが実行されていますか?
- 例: ‘Red Hat Enterprise Linux Server’
- SLA - このシステムで想定されるサービスレベルは?
- 例: Self-Support、Standard (営業時間内)、Premium
- USAGE - このシステムのサポート対象範囲は?
- 例: 開発 (設計の支援)、運用 (インストールとランタイムの問題の支援)
新しい RHEL 8.3 システムで System Purpose を設定する手順を見てみましょう。

このシステムはサーバーとして使用する予定であるため、ROLE は ‘Red Hat Enterprise Linux Server’ を選択します。このシステムのサービスレベルアグリーメント (SLA) として ‘Premium’ のタグを付け、製品サポートが必要なため USAGE は ‘Production’ を選択します。

RHEL 8.2 (およびそれ以降) では、インストール時に Red Hat Subscription Management に登録できますが、この例ではその手順は省略します。
ログイン後、インストール時に設定した System Purpose を確認し、システムを登録します。
まず、利用可能なさまざまなオプションを確認します。
# syspurpose --help
usage: syspurpose [-h]
{set,unset,add,remove,set-role,unset-role,add-addons,remove-addons,unset-addons,set-sla,unset-sla,set-usage,unset-usage,show}
...
System Syspurpose Management Tool
positional arguments:
{set,unset,add,remove,set-role,unset-role,add-addons,remove-addons,unset-addons,set-sla,unset-sla,set-usage,unset-usage,show}
sub-command help
set Sets the value for the given property
unset Unsets (clears) the value for the given property
add Adds the value(s) to the given property
remove Removes the value(s) from the given property
set-role Set the system role to the system syspurpose
unset-role Clear set role
add-addons Add addons to the system syspurpose
remove-addons Remove addons from the system syspurpose
unset-addons Clear set addons
set-sla Set the system sla
unset-sla Clear set sla
set-usage Set the system usage
unset-usage Clear set usage
show Show the current system syspurpose
optional arguments:
-h, --help show this help message and exit
インストール時に設定した System Purpose 属性が適用されていることを確認します。
# syspurpose show
{
"role": "Red Hat Enterprise Linux Server",
"service_level_agreement": "Premium",
"usage": "Production"
}
System Purpose を定義したら、システムを登録します。
subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username:
Password:
The system has been registered with ID: f4cc3ae4-5077-4f33-a710-a3d374705183
The registered system name is: syspurpose.example.com
私のアカウントのサブスクリプションは次のとおりです。
+-------------------------------------------+
Available Subscriptions
+-------------------------------------------+
Subscription Name: Red Hat OpenShift Container Platform Broker/Master Infrastructure
Provides: dotNET on RHEL Beta (for RHEL Server)
Oracle Java (for RHEL Server)
Red Hat Software Collections (for RHEL Server)
Red Hat CodeReady Linux Builder for x86_64
Red Hat Ansible Engine
Red Hat OpenShift Enterprise Infrastructure
Red Hat Enterprise Linux Fast Datapath
Red Hat CloudForms
Red Hat Enterprise Linux Atomic Host
Red Hat Enterprise Linux Fast Datapath Beta for x86_64
Red Hat Beta
Red Hat Software Collections Beta (for RHEL Server)
Red Hat Enterprise Linux Server
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support
Red Hat OpenShift Container Platform
Red Hat OpenShift Service Mesh
Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
dotNET on RHEL (for RHEL Server)
Red Hat OpenShift Enterprise Client Tools
Red Hat CloudForms Beta
SKU: MCT2741
Contract:
Pool ID: 8a85f9926ed5daef016efae43853718e
Provides Management: Yes
Available: 88
Suggested: 1
Service Type: L1-L3
Roles:
Service Level: Layered
Usage:
Add-ons:
Subscription Type: Stackable
Starts: 12/12/2019
Ends: 12/11/2020
Entitlement Type: Physical
Subscription Name: Red Hat Enterprise Linux Server, Premium (Physical or Virtual Nodes)
Provides: dotNET on RHEL Beta (for RHEL Server)
Red Hat CodeReady Linux Builder for x86_64
Red Hat Ansible Engine
Red Hat Enterprise Linux Scalable File System (for RHEL Server) - Extended Update Support
Red Hat Container Images Beta
Red Hat Enterprise Linux Atomic Host Beta
Red Hat Container Images
Red Hat Beta
Red Hat EUCJP Support (for RHEL Server) - Extended Update Support
Red Hat Enterprise Linux Load Balancer (for RHEL Server) - Extended Update Support
dotNET on RHEL (for RHEL Server)
Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
Red Hat Enterprise Linux Resilient Storage for x86_64 - Extended Update Support
Red Hat Enterprise Linux High Availability for x86_64 - Extended Update Support
Oracle Java (for RHEL Server)
Red Hat Software Collections (for RHEL Server)
Red Hat Enterprise Linux High Performance Networking (for RHEL Server) - Extended Update Support
Oracle Java (for RHEL Server) - Extended Update Support
Red Hat Enterprise Linux Atomic Host
Red Hat Developer Tools (for RHEL Server)
Red Hat Software Collections Beta (for RHEL Server)
Red Hat Enterprise Linux Server
Red Hat Developer Tools Beta (for RHEL Server)
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux for x86_64 - Extended Update Support
Red Hat Developer Toolset (for RHEL Server)
Red Hat S-JIS Support (for RHEL Server) - Extended Update Support
SKU: RH00003
Contract: 12166233
Pool ID: 8a85f99970d04f150171086a1c483ad5
Provides Management: No
Available: 28
Suggested: 0
Service Type: L1-L3
Roles: Red Hat Enterprise Linux Server
Service Level: Premium
Usage: Production
Add-ons:
Subscription Type: Instance Based
Starts: 03/23/2020
Ends: 03/22/2021
Entitlement Type: Physical
このアカウントには、2 つのサブスクリプションがあり、各サブスクリプションの System Purpose パラメーター (ROLE、SLA、USAGE) が強調表示されています。 これらのパラメーターは、システムファクト (ソケット、コア、物理か仮想かなど) に加えて、システムに合致するサブスクリプションを案内するために使用されます。
次に、サブスクリプションをアタッチします。System Purpose が定義されている場合、定義された System Purpose 属性に一致するサブスクリプションが強く推奨されます。
[root@syspurpose ~]# subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed
どのサブスクリプションがアタッチされているか確認します。
subscription-manager list --consumed
+-------------------------------------------+
Consumed Subscriptions
+-------------------------------------------+
Subscription Name: Red Hat Enterprise Linux Server, Premium (Physical or Virtual Nodes)
Provides: Red Hat CodeReady Linux Builder for x86_64
Red Hat Enterprise Linux Atomic Host
Red Hat Enterprise Linux Atomic Host Beta
Red Hat Developer Tools (for RHEL Server)
Red Hat Container Images
Red Hat Container Images Beta
Red Hat Developer Tools Beta (for RHEL Server)
Red Hat Developer Toolset (for RHEL Server)
Red Hat Enterprise Linux High Performance Networking (for RHEL Server) - Extended Update Support
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux Resilient Storage for x86_64 - Extended Update Support
Red Hat Enterprise Linux for x86_64 - Extended Update Support
dotNET on RHEL (for RHEL Server)
Red Hat Enterprise Linux Scalable File System (for RHEL Server) - Extended Update Support
dotNET on RHEL Beta (for RHEL Server)
Red Hat Beta
Red Hat EUCJP Support (for RHEL Server) - Extended Update Support
Oracle Java (for RHEL Server)
Red Hat Software Collections (for RHEL Server)
Oracle Java (for RHEL Server) - Extended Update Support
Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
Red Hat S-JIS Support (for RHEL Server) - Extended Update Support
Red Hat Software Collections Beta (for RHEL Server)
Red Hat Enterprise Linux High Availability for x86_64 - Extended Update Support
Red Hat Ansible Engine
Red Hat Enterprise Linux Load Balancer (for RHEL Server) - Extended Update Support
Red Hat Enterprise Linux Server
SKU: RH00003
Contract: 12166233
Account: 5644938
Serial: 3955053163637465727
Pool ID: 8a85f99970d04f150171086a1c483ad5
Provides Management: No
Active: True
Quantity Used: 1
Service Type: L1-L3
Roles: Red Hat Enterprise Linux Server
Service Level: Premium
Usage: Production
Add-ons:
Status Details: Subscription is current
Subscription Type: Instance Based
Starts: 03/23/2020
Ends: 03/22/2021
Entitlement Type: Physical
アタッチされたサブスクリプションが、System Purpose 属性とどのように一致するか確認します。これは subscription-manager を使用して確認できます。
subscription-manager status
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Current
System Purpose Status: Matched
要求された System Purpose 属性に一致するサブスクリプションがない場合は、システムファクトとインストール済み製品に一致するサブスクリプションがシステムにアタッチされます。ただし、システムの System Purpose Status は Mismatched に設定されます。
実際に操作してみましょう。
まず、アタッチされたサブスクリプションを削除します。
subscription-manager remove --all
1 local certificate has been deleted.
1 subscription removed at the server.
次に、いずれのサブスクリプションも指定していない USAGE 値を設定します。この例では、開発サポートが必要であることを示すために、USAGE を “Development/Test” に設定します。
syspurpose set-usage "Development/Test"
usage set to "Development/Test".
次に、サブスクリプションを (再) アタッチします。
subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed
アタッチされたサブスクリプションを表示します。
subscription-manager list --consumed
+-------------------------------------------+
Consumed Subscriptions
+-------------------------------------------+
Subscription Name: Red Hat Enterprise Linux Server, Premium (Physical or Virtual Nodes)
Provides: Red Hat CodeReady Linux Builder for x86_64
Red Hat Enterprise Linux Atomic Host
Red Hat Enterprise Linux Atomic Host Beta
Red Hat Developer Tools (for RHEL Server)
Red Hat Container Images
Red Hat Container Images Beta
Red Hat Developer Tools Beta (for RHEL Server)
Red Hat Developer Toolset (for RHEL Server)
Red Hat Enterprise Linux High Performance Networking (for RHEL Server) - Extended
Update Support
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux Resilient Storage for x86_64 - Extended Update Support
Red Hat Enterprise Linux for x86_64 - Extended Update Support
dotNET on RHEL (for RHEL Server)
Red Hat Enterprise Linux Scalable File System (for RHEL Server) - Extended Update
Support
dotNET on RHEL Beta (for RHEL Server)
Red Hat Beta
Red Hat EUCJP Support (for RHEL Server) - Extended Update Support
Oracle Java (for RHEL Server)
Red Hat Software Collections (for RHEL Server)
Oracle Java (for RHEL Server) - Extended Update Support
Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
Red Hat S-JIS Support (for RHEL Server) - Extended Update Support
Red Hat Software Collections Beta (for RHEL Server)
Red Hat Enterprise Linux High Availability for x86_64 - Extended Update Support
Red Hat Ansible Engine
Red Hat Enterprise Linux Load Balancer (for RHEL Server) - Extended Update Support
Red Hat Enterprise Linux Server
SKU: RH00003
Contract: 12166233
Account: 5644938
Serial: 6080372749607279725
Pool ID: 8a85f99970d04f150171086a1c483ad5
Provides Management: No
Active: True
Quantity Used: 1
Service Type: L1-L3
Roles: Red Hat Enterprise Linux Server
Service Level: Premium
Usage: Production
Add-ons:
Status Details: Subscription is current
Subscription Type: Instance Based
Starts: 03/23/2020
Ends: 03/22/2021
Entitlement Type: Physical
同じサブスクリプションがアタッチされています。このシステムのサブスクリプションステータスを確認します。
subscription-manager status
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Current
System Purpose Status: Mismatched
- The requested usage preference "Development/Test" is not provided by a currently consumed subscription.
システムには、コンテンツへのアクセスを提供する有効なサブスクリプションがありますが、System Purpose 設定に一致するサブスクリプションがないため、System Purpose Status は Mismatched に設定されています。
これは、CLI ツールで公開されるだけでなく、RHSM および Satellite の UI 経由でも公開されます。

System Purpose を使用すると、システムがどのように使用されているかに関する詳細情報を提供できるため、サブスクリプションツールは適切なサブスクリプションを提案できます。
System Purpose と Subscription Watch:
クライアントがサブスクリプションの総使用量を把握するために、サブスクリプションをアタッチするレルムで提供される機能に加えて、System Purpose データを Subscription Watch で使用できます。
たとえば Subscription Watch では、SLA を介してフィルタリングする機能は、(CLI、Satellite、または RHSM 経由で) ホスト上に設定された System Purpose 属性に基づき機能します。SLA (および将来的には USAGE、ROLE、および SERVICE TYPE) でフィルタリングする場合は、System Purpose 属性を設定することが重要です。

System Purpose と Simple Content Access
Simple Content Access を使用している場合、Simple Content Access モードではサブスクリプションがホストにアタッチされないため、System Purpose Status は無効に設定されます。
subscription-manager status
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Disabled
Content Access Mode is set to Organization/Environment Access. This host has access to content, regardless of subscription status.
System Purpose Status: Disabled
System Purpose の 'システムに合致するより適切なサブスクリプションを案内する' 機能は使用されていませんが、System Purpose 属性は Subscription Watch に送信される Inventory 属性の一部であり、Red Hat テクノロジーの使用状況を把握する際に役立つため、これらを設定することは重要です。
この投稿が、System Purpose とは何か、それがサブスクリプションエクスペリエンスの向上にどのように役立つかを理解する一助となれば幸いです。
Comments