RHEL 上級 #6 Subscription、Satellite、Insights — 運用インフラ
#5 セキュリティ強化 までが 1 マシン単位の運用だったとすれば、この記事は 複数マシンを一度に運用する局面 で出会うツール群です。RHEL 1 台をそのまま入れて使っても動きますが、数十・数百台規模になるとパッチ管理、コンテンツの一貫性、脆弱性監視がツールなしでは不可能になります。その役割を埋める Red Hat の 3 ツール — subscription-manager (サブスクリプション登録)、Satellite (オンプレミス統合プラットフォーム)、Insights (SaaS 分析) を 1 サイクルで扱います。
RHEL 上級 シリーズでこの記事の位置:
- #1 ブートプロセス — GRUB2、dracut、レスキューモード
- #2 カーネルチューニング — sysctl、tuned、kdump
- #3 パフォーマンス分析 — sar、top/htop、iostat、vmstat、perf
- #4 SELinux 上級 — ポリシー作成と audit2allow
- #5 セキュリティ強化 — auditd、OpenSCAP、FIPS
- #6 Subscription、Satellite、Insights — 運用インフラ ← この記事
- #7 Cockpit による GUI 管理と Web Console
3 ツールの関係 #
1 台 ~ 10 台 : subscription-manager + Insights (十分)
│
10 台 ~ 50 台 : 同上 + Ansible / 自動化スクリプト
│
50 台 ~ 数百台 + : Satellite (オンプレ単一エントリポイント)
│
+ 隔離環境 : Satellite + Capsule (支店/DMZ)| ツール | どこで動くか | 何をするか |
|---|---|---|
subscription-manager | 各 RHEL マシン | Red Hat サブスクリプションに登録、リポジトリ有効化 |
| Satellite | オンプレ単一サーバ (またはクラスタ) | コンテンツミラー、ライフサイクル管理、ホスト統合運用 |
| Insights | Red Hat SaaS (cloud.redhat.com) | 登録マシンを分析して脆弱性・安定性・パフォーマンス推奨 |
subscription-manager はすべての RHEL マシンが持つ基本ツール。Satellite はその上に乗るオンプレミス統合プラットフォーム、Insights は別個の SaaS 分析サービスです。
subscription-manager #
RHEL 9 をインストールして最初に出会うコマンド。dnf が Red Hat リポジトリを見るには、マシンが Red Hat サブスクリプションに登録されている必要があります。
$ sudo subscription-manager register --username <user> --password <pass>
The system has been registered with ID: 12345678-1234-...登録状態とサブスクリプション #
# 登録状態
$ sudo subscription-manager status
+-------------------------------------------+
System Status Details
+-------------------------------------------+
Overall Status: Current
# 有効なサブスクリプション
$ sudo subscription-manager list --consumed
# 登録解除
$ sudo subscription-manager unregisterリポジトリ有効化 #
デフォルトの BaseOS / AppStream 以外に追加リポジトリ (CodeReady Builder、Supplementary など) を有効化する場面:
# 利用可能な repo 一覧
$ sudo subscription-manager repos --list
# 有効化
$ sudo subscription-manager repos \
--enable=codeready-builder-for-rhel-9-x86_64-rpms
# 無効化
$ sudo subscription-manager repos \
--disable=rhel-9-for-x86_64-supplementary-rpms有効化すると /etc/yum.repos.d/redhat.repo が自動更新され、dnf がその repo のパッケージを見るようになります。
サブスクリプション種類 #
運用環境でよく出会うサブスクリプション種別:
| 種類 | 位置づけ |
|---|---|
| Standard | 一般本番 RHEL (8x5 または 24x7 サポート) |
| Premium | 本番 + 24x7 サポート |
| Developer Subscription for Individuals | 個人開発者無料 (最大 16 台登録可) |
| Developer Subscription for Teams | チーム開発者無料 |
| BYOS (Bring Your Own Subscription) | AWS/Azure/GCP の RHEL インスタンスに自己サブスクリプションを使用 |
| PAYG (Pay As You Go) | クラウドマーケットプレースで時間課金 |
個人学習/開発なら Red Hat Developer 無料登録 で RHEL 9 を合法的にインストールできます。
Simple Content Access (SCA) #
伝統的に RHEL サブスクリプションはマシン 1 台あたり 1 entitlement が必要でした (entitlement = サブスクリプション枠)。マシン数が増えると自前で entitlement を管理する作業が発生しました。Simple Content Access はそのモデルを単純化 — 組織単位で 1 度有効化すればマシンごとに entitlement を追跡しなくてよく、登録するだけでコンテンツアクセスが開きます。
$ sudo subscription-manager register --username <u> --password <p>
# attach コマンド不要RHEL 9 以降は SCA が事実上の標準です。大規模組織では Red Hat Hybrid Cloud Console で有効化されているか確認します。
Activation Key #
自動化環境でユーザ名/パスワードを置かずに登録する方法。
$ sudo subscription-manager register \
--org=<org-name> \
--activationkey=<key-name>キーは Red Hat Hybrid Cloud Console → Activation Keys で生成。Kickstart や cloud-init の user-data に埋め込むと、ブート時に自動登録されます。
Red Hat Satellite — オンプレミス統合プラットフォーム #
数十 ~ 数百台以上を運用する時点で登場します。中核の役割:
- コンテンツミラー — Red Hat リポジトリを社内にミラーリング。インターネット隔離環境でも RHEL 運用可能
- ライフサイクル管理 — Dev → QA → Prod の環境別にコンテンツバージョンを分離
- ホスト統合運用 — すべての RHEL マシンを 1 コンソールで管理 (パッチ、プロビジョニング、構成)
- Capsule — 支店/DMZ でのプロキシ役割
中核概念 #
┌─────────────────────────┐
│ Red Hat CDN │
│ (cdn.redhat.com) │
└────────────┬────────────┘
│ sync
┌────────────▼────────────┐
│ Satellite Server │
│ (HQ) │
│ - Content Sync │
│ - Lifecycle Env │
│ - Content Views │
│ - Host Inventory │
└────┬────────────────┬───┘
│ │
┌────────▼─────┐ ┌───────▼──────┐
│ Capsule (A) │ │ Capsule (B) │
│ (支店 1) │ │ (DMZ) │
└──────┬───────┘ └──────┬───────┘
│ │
[content host] [content host]
[content host] [content host]ライフサイクル環境 #
Library (全同期コンテンツ) → Dev → QA → Prod各環境に Content View (使うリポジトリとパッケージの束) を発行 (publish) し、次の環境へ promote します。Dev で数日検証したパッチ束を QA へ、QA でさらに検証して Prod へ — この流れが標準。
Content View #
複数のリポジトリを束ねてフィルタした単位。同じ名前でも環境別に違うバージョンを持てます。
Content View: rhel9-base
- rhel-9-for-x86_64-baseos-rpms
- rhel-9-for-x86_64-appstream-rpms
- rhel-9-for-x86_64-supplementary-rpms
Lifecycle:
Dev: Version 5 (今日発行)
QA: Version 4 (1 週間前発行)
Prod: Version 3 (1 か月前発行)問題が見つかったら promote を止めるか、前のバージョンにロールバックします。
ホスト登録と運用 #
コンテンツホストが Satellite に登録されると、次の作業を 1 コンソールで管理できます。
| 領域 | 何を |
|---|---|
| Errata | セキュリティ/バグ/機能パッチ — 環境別に適用可能な errata を自動識別 |
| Patch | dnf update をホスト別/グループ別に一括実行 |
| Provisioning | ベアメタル/VM ブート → Kickstart → 自動インストール |
| Configuration | Ansible/Puppet 統合で構成管理 |
| Subscriptions | サブスクリプション統合管理 (SCA で簡素化) |
| Reports | ホスト別パッチ状況、コンプライアンス |
Capsule #
Satellite Server の子ノード。支店や DMZ のように メインサーバに直接アクセスしない位置 でコンテンツキャッシュとホスト管理を代わりに行います。コンテンツはメインから Capsule に同期され、その地域のコンテンツホストは Capsule のみ参照します — ネットワーク効率とセキュリティ隔離を同時に。
インストール — スケール #
| 基準 | 推奨 |
|---|---|
| ホスト数 | ~ 5,000 台 / Satellite 1 台。それ以上は Capsule 分散 |
| スペック | CPU 8+、RAM 32GB+、ディスク 200GB+ (コンテンツ同期用に大きなディスク) |
| OS | RHEL 9 |
| ライセンス | 別途サブスクリプション必要 |
インストールは satellite-installer で 1 度に。詳細手順は別記事の分量です — ここでは位置づけまで。
Red Hat Insights — SaaS 分析 #
別途インストールインフラなしに、登録された RHEL マシンのデータを Red Hat クラウドに送り、分析結果を受け取るサービスです。RHEL サブスクリプションにデフォルトで含まれます。
有効化 #
$ sudo dnf install -y insights-client
$ sudo insights-client --register
# 状態
$ sudo insights-client --status
$ sudo insights-client --display-name "web-prod-01"登録すると毎日自動でマシンのシステム情報・構成・ログの一部を分析サーバに送ります (どのデータが送られるかは insights-client --offline --output-file= で事前確認可能)。
何を受け取るか #
console.redhat.com/insights で次のカテゴリの推奨を受け取ります。
| カテゴリ | 何を |
|---|---|
| Vulnerability | 既知の CVE と影響を受けるマシン、errata マッピング |
| Advisor | 安定性・パフォーマンス・セキュリティのベストプラクティス違反 |
| Compliance | OpenSCAP 点検結果統合 (CIS、PCI-DSS など) |
| Patch | 適用可能な errata と影響パッケージ |
| Drift | マシン間の構成差異追跡 |
| Policies | ユーザ定義ポリシー違反通知 |
| Subscriptions | サブスクリプション利用状況 |
| Inventory | 登録された全マシンの統合インベントリ |
各推奨には why this matters (なぜ重要か)、how to fix (具体的措置、Ansible playbook ダウンロード可)、affected systems (影響を受けるマシン一覧) が付いてきます。推奨ページから一度に Ansible playbook として束ねてダウンロードして適用できます — Remediation Plans 機能。
Insights と Satellite の関係 #
Satellite があれば Insights のデータを Satellite と統合して 1 画面で見られます。Satellite がインフラを運用し、Insights がインフラを分析する が 1 行のまとめ。
データプライバシー #
アップロードされるデータに機微情報が含まれる可能性があるので、/etc/insights-client/file-content-redaction.yaml と /etc/insights-client/file-redaction.yaml で redaction ルールを定義できます。政府/金融環境では登録前に必ず確認します。
patterns:
regex:
- "password\\s*=\\s*\\S+"
- "api[_-]?key\\s*[:=]\\s*\\S+"
keywords:
- secret
- credential3 つを束ねた運用フロー #
| 時点 | ツール |
|---|---|
| マシン 1 台立てる | subscription-manager register + insights-client --register |
| 10 台以上自動化 | activation key で Kickstart/cloud-init 自動登録 |
| 50 台以上統合 | Satellite 導入、Content View + ライフサイクル環境設計 |
| 隔離環境 | Capsule 追加 (支店/DMZ) |
| 定期運用 | Insights 推奨 → Remediation Plan → Ansible 適用 |
| 定期パッチ | Satellite の errata → Dev 環境 promote → QA → Prod |
よくある落とし穴 #
- Developer Subscription を本番に使用 — ライセンス違反。本番は必ず Standard/Premium または BYOS/PAYG。
subscription-manager attach --autoを SCA 環境で — SCA 環境では attach は無意味で、警告が出ることもあります。SCA がオンなら register のみ。- Satellite を単一マシンで大量のホストを扱う場合 — 5,000 台を超える前に Capsule 分散計画。
- Content View を Library そのまま Prod に直結 — ライフサイクル環境の意味が消えます。Library でコンテンツ同期、Content View 発行後に Dev → QA → Prod に promote。
- Insights に redaction なしで本番データ —
/etc/insights-client/*-redaction.yaml未設定でパスワード/API キーがアップロードされる可能性。登録前確認必須。 - Insights 推奨を無条件に適用 — 推奨が自分の環境に合わない可能性 (例: 意図的に無効化したサービス)。適用前確認は OpenSCAP
--remediateと同じ原則。 - Capsule ディスク不足 — コンテンツ同期量が重い。RHEL 9 BaseOS + AppStream だけでも 100GB+。ディスク監視必須。
覚えておくコマンド #
| 作業 | コマンド |
|---|---|
| マシン登録 | sudo subscription-manager register --username <u> |
| activation key 登録 | sudo subscription-manager register --org <o> --activationkey <k> |
| 登録状態 | sudo subscription-manager status |
| repo 一覧/変更 | sudo subscription-manager repos --list / --enable=<id> |
| 登録解除 | sudo subscription-manager unregister && sudo subscription-manager clean |
| Insights 登録 | sudo dnf install -y insights-client && sudo insights-client --register |
| Insights データ事前確認 | sudo insights-client --offline --output-file=/tmp/insights.tar.gz |
| Satellite ホスト登録 | curl <satellite>/register | sudo bash (公式 1 行登録スクリプト) |
まとめ #
- subscription-manager — すべての RHEL マシンの基本ツール。SCA 時代は register のみ。自動化は activation key。
- Satellite — 50 ~ 100 台以上運用時点でのオンプレ統合プラットフォーム。Library → Content View → Dev/QA/Prod ライフサイクルでコンテンツの流れを統制。Capsule で支店/DMZ 分散。
- Insights — 別途インフラなしに登録するだけで受け取る SaaS 分析。脆弱性・安定性・パフォーマンス・コンプライアンス推奨 + Ansible Remediation Plan。redaction 設定は必ず確認。
- 3 つの位置 — 1 台運用 (subscription-manager + Insights)、多数運用 (追加で Satellite)。3 つすべて別ツールでも同じコンソール (console.redhat.com) で統合。
次回はシリーズの最終回。これまではすべて CLI 中心でしたが — 軽い GUI が必要な場面もあります。ブラウザで RHEL を管理する Cockpit でシリーズを締めくくります。