オンラインネットワークからの Satellite Server のインストール


Red Hat Satellite 6.4

オンラインネットワークからの Red Hat Satellite Server のインストール

Red Hat Satellite Documentation Team

概要

このガイドでは、オンラインネットワークから Red Hat Satellite Server のインストール方法、初期設定の実行方法、および外部サービスの設定方法を説明します。

第1章 インストールのための環境準備

1.1. システム要件

ネットワーク接続されたベースシステムには、以下の要件が適用されます。

  • x86_64 アーキテクチャー
  • Red Hat Enterprise Linux 7 Server の最新バージョン
  • 最低 4 コアの 2.0 GHz CPU
  • Satellite Server が機能するには、最低 20 GB のメモリーが必要です。さらに、最低 4 GB のスワップ領域も推奨されます。最小値よりも少ないメモリーで実行されている Satellite は、正常に動作しない可能性があります。
  • 一意なホスト名 (小文字、数字、ドット (.)、ハイフン (-) を使用できます)
  • 現在の Red Hat Satellite サブスクリプション
  • 管理ユーザー (root) アクセス
  • システム umask 0022
  • 完全修飾ドメイン名を使用した完全な正引きおよび逆引きの DNS 解決

Satellite Server または Capsule Server をインストールする前に、環境がインストール要件を満たしていることを確認する必要があります。

Satellite Server は、新規にプロビジョニングされたシステムにインストールする必要があり、このシステムで Satellite Server の実行以外の機能は提供されません。新しくプロビジョニングされたシステムには、Satellite Server が作成するローカルユーザーとの競合を避けるため、外部アイデンティティープロバイダーによって提供される次のユーザーが含まれていてはなりません。

  • postgres
  • mongodb
  • apache
  • tomcat
  • foreman
  • foreman-proxy
  • qpidd
  • qdrouterd
  • squid
  • puppet
注記

Red Hat Satellite Server と Capsule Server のバージョンは一致している必要があります。たとえば、Satellite 6.2 Server は 6.4 Capsule Server を実行できず、Satellite 6.4 Server は 6.2 Capsule Server を実行できません。Satellite Server と Capsule Server のバージョンが一致しないと、Capsule Server がサイレントに失敗します。

注記

自己登録の Satellites はサポートされません。

コンテンツホストが多数ある場合は、大規模なデプロイメントに関する考慮事項 を参照して、環境が適切に設定されていることを確認してください。

Capsule Server のスケーリングの詳細は、Capsule Server スケーラビリティーの考慮事項を 参照してください。

認定ハイパーバイザー

Red Hat Satellite は、Red Hat Enterprise Linux の実行がサポートされているハイパーバイザー上で実行される物理システムと仮想マシンの両方で完全にサポートされています。認定ハイパーバイザーの詳細は、Red Hat Enterprise Linux の実行が認定されているハイパーバイザーはどれですか? を 参照してください。

1.2. ストレージの要件とガイドライン

このセクションでは、最小ストレージ要件を紹介し、Satellite Server と Capsule Server のインストールのストレージに関するガイドラインについて説明します。

1.2.1. ストレージ要件

以下の表には、特定のディレクトリーのストレージ要件が詳細に記載されています。これらの値は、予想されるユースケースのシナリオに基づくものであり、個々の環境によって変わる可能性があります。

ランタイムサイズは Red Hat Enterprise Linux 5、6、および 7 のリポジトリーと同期して測定されています。

Expand
表1.1 オンラインでの Satellite Server インストールのストレージ要件
ディレクトリーインストールサイズランタイムサイズ

/var/cache/pulp/

1M バイト

20 GB

/var/lib/pulp/

1 MB

500 GB

/var/lib/mongodb/

3.5 GB

50 GB

/var/lib/qpidd/

25 MB

適用外

/var/log/

10 MB

250 MB

/var/lib/pgsql/

100 MB

10 GB

/var/spool/squid/

0 MB

10 GB

/usr

3 GB

適用外

/opt

3 GB

該当なし

/opt/puppetlabs

500 MB

適用外

1.2.2. ストレージのガイドライン

Satellite Server をインストールして効率性を向上する場合には、以下のガイドラインを考慮してください。

  • ほとんどの Satellite および Capsule Server のデータは /var ディレクトリー内に保存されるため、LVM ストレージに /var をマウントすると、システムのスケーリングに役立ちます。
  • /var/lib/pulp/ および /var/lib/mongodb/ ディレクトリーでは、ハードディスクドライブ (HDD) ではなく、高帯域幅、低レイテンシーのストレージ、ソリッドステートドライブ (SSD) を使用します。Red Hat Satellite には I/O を大量に使用する操作が多数あるため、高レイテンシーで低帯域幅のストレージを使用すると、パフォーマンス低下の問題が発生します。インストールに、毎秒 60 - 80 メガバイトのスピードがあることを確認してください。fio ツールを使用すると、このデータが取得できます。fio ツールの使用に関する詳細は、Red Hat ナレッジベースソリューション ディスク速度が Satellite 6 の運用に与える影響を 参照してください。
  • /var/lib/qpidd/ ディレクトリーでは、goferd サービスが管理するコンテンツホスト 1 つに対して使用される容量は 2 MB を少し超えます。たとえば、コンテンツホストの数が 10,000 個の場合、/var/lib/qpidd/ に 20 GB のディスク容量が必要になります。
  • /var/cache/pulp//var/lib/pulp/ ディレクトリーに同じボリュームを使用することで、同期後に /var/cache/pulp/ から /var/lib/pulp/ にコンテンツを移動する時間を短縮できます。

ファイルシステムのガイドライン

  • Red Hat Satellite 6 では、ext4 のような inode 制限がないため、XFS ファイルシステムを使用します。Satellite は多くのシンボリックリンクを使用するため、ext4 とデフォルトの inode 数を使用すると、システムの inode が不足する可能性があります。
  • MongoDB は従来の I/O を使用してデータファイルにアクセスしないので、MongoDB では NFS を使用しないでください。また、NFS でデータファイルとジャーナルファイルの両方がホストされている場合にはパフォーマンスの問題が発生します。NFS を使用する必要がある場合は、/etc/fstab ファイルで bgnolock、および noatime のオプションを使用してボリュームをマウントします。
  • 入出力レイテンシーが高すぎるため、GFS2 ファイルシステムは使用しないでください。

NFS マウントを使用する場合の SELinux の考慮事項

/var/lib/pulp ディレクトリーが NFS 共有を使用してマウントされている場合、SELinux は同期プロセスをブロックします。これを回避するには、/etc/fstab に次の行を追加して、ファイルシステムテーブル内の /var/lib/pulp ディレクトリーの SELinux コンテキストを指定します。

nfs.example.com:/nfsshare  /var/lib/pulp/content  nfs  context="system_u:object_r:httpd_sys_rw_content_t:s0"  1 2
Copy to Clipboard Toggle word wrap

NFS 共有がすでにマウントされている場合は、上記の設定を使用して再マウントし、次のコマンドを入力します。

# chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/lib/pulp
Copy to Clipboard Toggle word wrap

重複パッケージ

同じパッケージが異なるリポジトリーで重複して存在する場合には、ディスク上に一度しか保存されません。そのため、重複するパッケージを別のリポジトリーに追加するときに必要な追加ストレージが少なくて済みます。ストレージの多くは、/var/lib/mongodb/ および /var/lib/pulp/ ディレクトリーにあります。これらのエンドポイントは手動で設定できません。ストレージの問題を回避するために、ストレージが /var ファイルシステムで利用可能であることを確認してください。

一時的なストレージ

/var/cache/pulp/ ディレクトリーは、同期中に、コンテンツを一時的に保存するために使用します。RPM 形式のコンテンツの場合、このディレクトリーには最大 5 つの RPM ファイルが常に保存されます。各ファイルは同期された後、/var/lib/pulp/ ディレクトリーに移動されます。デフォルトでは、RPM コンテンツの同期タスクは最大 8 つまで同時に実行でき、それぞれ最大 1 GB のメタデータを使用します。

ソフトウェアコレクション

ソフトウェアコレクションは、/opt/rh/ ディレクトリーと /opt/theforeman/ ディレクトリーにインストールされます。

/opt ディレクトリーへのインストールには、root ユーザーによる書き込みパーミッションおよび実行パーミッションが必要です。

シンボリックリンク

/var/lib/pulp//var/lib/mongodb/ のシンボリックリンクは使用できません。

RHEL ISO の同期

RHEL コンテンツの ISO を Satellite に同期する予定の場合には、Red Hat Enterprise Linux のすべてのマイナーバージョンも同期することに注意してください。これに対応するため、Satellite に適切なストレージを設定するようにプランニングする必要があります。

1.3. サポート対象オペレーティングシステム

ディスク、ローカル ISO イメージ、キックスタート、または Red Hat がサポートするその他の方法からオペレーティングシステムをインストールできます。Red Hat Satellite Server および Red Hat Satellite Capsule Server は、Satellite 6.4 がインストールされている時点で利用可能な最新バージョンの Red Hat Enterprise Linux 7 Server でのみサポートされます。EUS または z-stream を含む以前の Red Hat Enterprise Linux バージョンはサポートされません。

Red Hat Satellite Server および Red Hat Satellite Capsule Server には、@Base パッケージグループを含む Red Hat Enterprise Linux のインストールが必要です。その他のパッケージセットは変更されず、サーバーの直接操作に直接必要のないサードパーティーの設定やソフトウェアもインストールされません。この制限には、ハードニングや Red Hat 以外のセキュリティーソフトウェアが含まれます。インフラストラクチャーでこのようなソフトウェアが必要な場合は、まず完全に機能する Satellite Server をインストールして検証し、その後、Red Hat 以外のソフトウェアを追加する前にシステムのバックアップを作成してください。

新しくプロビジョニングされたシステムに Satellite Server と Capsule Server をインストールします。Capsule Server を Red Hat コンテンツ配信ネットワーク (CDN) に登録しないでください。Red Hat は、Satellite の実行以外の目的でのシステムの使用をサポートしていません。

1.4. サポート対象のブラウザー

以下の Web ブラウザーは完全にサポートされます。

  • Firefox バージョン 39 以降
  • Chrome バージョン 28 以降

以下の Web ブラウザーは部分的にサポートされています。Satellite Web UI インターフェイスは正常に機能しますが、特定のデザイン要素が期待どおりに揃わない場合があります。

  • Firefox バージョン 38
  • Chrome バージョン 27
  • Internet Explorer バージョン 10 および 11
注記

Satellite Server の Web UI とコマンドラインインターフェイスは、英語、ポルトガル語、中国語 (簡体)、中国語 (繁体)、韓国語、日本語、イタリア語、スペイン語、ロシア語、フランス語、ドイツ語に対応しています。

1.5. ポートとファイアウォールの要件

Satellite アーキテクチャーのコンポーネントで通信を行うには、ベースオペレーティングシステム上で、必要なネットワークポートが開放/解放されているようにしてください。また、ネットワークベースのファイアウォールでも、必要なネットワークポートを開放する必要があります。

次の表は、宛先ポートとネットワークトラフィックの方向を示しています。この情報を使用して、ネットワークベースのファイアウォールを設定してください。クラウドソリューションによっては、ネットワークベースのファイアウォールと同様にマシンが分離されるので、特にマシン間の通信ができるように設定する必要があります。アプリケーションベースのファイアウォールを使用する場合は、後述の表に記載され、ファイアウォールに認識されているすべてのアプリケーションが、アプリケーションベースのファイアウォールで許可されていることを確認してください。可能であれば、アプリケーションのチェックを無効にして、プロトコルをベースにポートの通信を開放できるようにしてください。

統合 Capsule

Satellite Server には統合された Capsule があり、Satellite Server に直接接続されているすべてのホストは、これらのテーブルのコンテキストでは Satellite のクライアントになります。これには、Capsule Server が実行されているベースシステムが含まれます。

Capsule のクライアント

Satellite に統合された Capsule 以外の Capsule のクライアントであるホストは、Satellite Server にアクセスする必要はありません。Satellite トポロジーの詳細は、Red Hat Satellite 6 の計画Capsule ネットワークを 参照してください。

使用している設定に応じて、必要なポートは変わることがあります。

Expand
表1.2 Red Hat CDN 通信に対する Satellite のポート
ポートプロトコルサービス用途

443

TCP

HTTPS

サブスクリプション管理サービス (access.redhat.com) と Red Hat CDN (cdn.redhat.com) への接続。

Satellite が切断されている場合を除き、Satellite Server は Red Hat CDN にアクセスできる必要があります。Red Hat CDN (cdn.redhat.com) で使用されている IP アドレスのリストは、Red Hat カスタマーポータルのナレッジベース記事 Red Hat が公開している CIDR のリスト を参照してください。

Expand
表1.3 Satellite へのブラウザーベースユーザーインターフェイス向けポート
ポートプロトコルサービス用途

443

TCP

HTTPS

Satellite へのブラウザーベース UI アクセス

80

TCP

HTTP

Satellite に Web UI でアクセスするための HTTPS へのリダイレクション (オプション)

Expand
表1.4 クライアントから Satellite への通信ポート
ポートプロトコルサービス用途

80

TCP

HTTP

Anaconda、yum、Katello 証明書およびテンプレートの取得向け、iPXE ファームウェアのダウンロード向け

443

TCP

HTTPS

サブスクリプション管理サービス、yum、Telemetry サービス、Katello エージェントへの接続向け

5647

TCP

amqp

Satellite の Qpid ディスパッチルーターと通信する Katello エージェント

8000

TCP

HTTP

キックスタートテンプレートをホストにダウンロードする Anaconda、iPXE ファームウェアのダウンロード向け

8140

TCP

HTTPS

マスター接続に対する Puppet エージェント

9090

TCP

HTTPS

プロビジョニング時の検出イメージや、リモート実行 (Rex) 設定の SSH キーをコピーするための Satellite Server との通信で使用するために、統合 Capsule で Smart Proxy に SCAP レポートを送信

5000

TCP

HTTPS

Docker レジストリーのための Katello への接続

7

TCP および UDP

ICMP

IP アドレスが解放されていることを確認するためのクライアント上の外部 DHCP から Satellite ネットワークと ICMP ECHO (オプション)

53

TCP および UDP

DNS

Satellite の統合 Capsule の DNS サービスへのクライアント DNS クエリー (オプション)

67

UDP

DHCP

Satellite の統合 Capsule ブロードキャストと、Satellite 統合 Capsule からプロビジョニングするクライアントに対する DHCP ブロードキャストを行うクライアント (オプション)

69

UDP

TFTP

プロビジョニングのために Satellite の統合 Capsule から PXE ブートイメージファイルをダウンロードするクライアント (オプション)

Satellite Server に直接接続されている管理対象ホストは、統合された Capsule のクライアントであるため、このコンテキストではクライアントになります。これには、Capsule Server が実行されているベースシステムが含まれます。

Expand
表1.5 Capsule に通信する Satellite 向けポート
ポートプロトコルサービス用途

443

TCP

HTTPS

Capsule の Pulp サーバーへの接続

9090

TCP

HTTPS

Capsule のプロキシーへの接続

80

TCP

HTTP

bootdisk のダウンロード (オプション)

Expand
表1.6 オプションのネットワークポート
ポートプロトコルサービス用途

22

TCP

SSH

Remote Execution (Rex) および Ansible 向けの Satellite および Capsule からの通信

443

TCP

HTTPS

vCenter のコンピュートリソースに対する Satellite からの通信

5000

TCP

HTTP

OpenStack のコンピュートリソースまたは実行中のコンテナーに対する Satellite からの通信

22, 16514

TCP

SSH、SSL/TLS

libvirt のコンピュートリソースに対する Satellite からの通信

389、636

TCP

LDAP、LDAPS

LDAP およびセキュアな LDAP 認証ソースに対する Satellite からの通信

5900〜5930

TCP

SSL/TLS

ハイパーバイザー向け Web UI の NoVNC コンソールに対する Satellite からの通信

1.6. クライアントから Satellite Server への接続の有効化

Satellite Server の内部 Capsule のクライアントである Capsule とコンテンツホストは、Satellite のホストベースのファイアウォールとすべてのネットワークベースのファイアウォールを介したアクセスを必要とします。

このセクションを使用して、Satellite がインストールされている Red Hat Enterprise Linux 7 システム上のホストベースのファイアウォールを設定し、クライアントからの受信接続を有効にし、システムの再起動後も設定が保持されるようにします。使用されるポートの詳細は、「ポートとファイアウォールの要件」

ファイアウォールの設定

  1. クライアントから Satellite の通信用のポートを開放するには、Satellite をインストールするベースシステムで以下のコマンドを入力します。

    # firewall-cmd \
    --add-port="53/udp" --add-port="53/tcp" \
    --add-port="67/udp" --add-port="69/udp" \
    --add-port="80/tcp"  --add-port="443/tcp" \
    --add-port="5000/tcp" --add-port="5647/tcp" \
    --add-port="8000/tcp" --add-port="8140/tcp" \
    --add-port="9090/tcp"
    Copy to Clipboard Toggle word wrap
  2. 変更を永続化します。

    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap

1.7. ファイアウォール設定の確認

ファイアウォール設定の変更は 、firewall-cmd コマンドを使用して確認できます。

ファイアウォール設定の確認

# firewall-cmd --list-all
Copy to Clipboard Toggle word wrap

詳細情報は、Red Hat Enterprise Linux 7 セキュリティーガイドfirewalld の概要 を参照してください。

1.8. DNS 解決の検証

完全修飾ドメイン名を使用して完全な正引きおよび逆引き DNS 解決を検証すると、Satellite のインストール中の問題を回避できます。

ホスト名とローカルホストが正しく解決されることを確認します。

# ping -c1 localhost
# ping -c1 `hostname -f` # my_system.domain.com
Copy to Clipboard Toggle word wrap

名前解決に成功すると、以下のような出力が表示されます。

# ping -c1 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.043 ms

--- localhost ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.043/0.043/0.043/0.000 ms

# ping -c1 `hostname -f`
PING hostname.gateway (XX.XX.XX.XX) 56(84) bytes of data.
64 bytes from hostname.gateway (XX.XX.XX.XX): icmp_seq=1 ttl=64 time=0.019 ms

--- localhost.gateway ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.019/0.019/0.019/0.000 ms
Copy to Clipboard Toggle word wrap

静的および一時的なホスト名との不一致を避けるには、次のコマンドを入力して、システム上のすべてのホスト名を設定します。

# hostnamectl set-hostname name
Copy to Clipboard Toggle word wrap

詳細は、Red Hat Enterprise Linux 7 ネットワークガイドhostnamectl を使ったホスト名の設定 を参照してください。

警告

名前解決は、Satellite 6 の動作にとって重要です。Satellite が完全修飾ドメイン名を適切に解決できない場合、多くのオプションが失敗します。これらのオプションには、コンテンツ管理、サブスクリプション管理、プロビジョニングなどがあります。

1.9. デフォルトの SELinux ポートの変更

Red Hat Satellite 6 は、事前定義されたポートのセットを使用します。Red Hat では、Satellite 6 システム上の SELinux を permissive または enforcing に設定することを推奨しているため、いずれかのサービスのポートを変更する必要がある場合は、リソースへのアクセスを許可するように、関連する SELinux ポートタイプも変更する必要があります。非標準ポートを使用する場合にのみ、これらのポートを変更する必要があります。

たとえば、Satellite Web UI ポート (HTTP/HTTPS) を 8018/8019 に変更する場合は、これらのポート番号を httpd_port_t SELinux ポートタイプに追加する必要があります。

この変更はターゲットポートにも必要です。たとえば、Satellite 6 が Red Hat Virtualization や Red Hat OpenStack Platform などの外部ソースに接続する場合などです。

デフォルトのポート割り当てを変更する必要があるのは 1 回だけです。Satellite を更新またはアップグレードしても、これらの割り当てには影響しません。割り当てが存在しない場合にのみ、更新によってデフォルトの SELinux ポートが追加されます。

作業開始前の準備

デフォルトのポートの、ユーザー指定のポートへの変更

  1. ポートをデフォルトポートからユーザー指定のポートに変更するには、環境に適した値を使用してコマンドを実行します。これらの例では、デモンストレーションの目的でポート 99999 を使用します。

    Expand
    デフォルトのポートSELinux コマンド

    80、443、8443

    semanage port -a -t http_port_t -p tcp 99999

    8080

    semanage port -a -t http_cache_port_t -p tcp 99999

    8140

    semanage port -a -t puppet_port_t -p tcp 99999

    9090

    semanage port -a -t websm_port_t -p tcp 99999

    69

    semanage port -a -t tftp_port_t -p udp 99999

    53 (TCP)

    semanage port -a -t dns_port_t -p tcp 99999

    53 (UDP)

    semanage port -a -t dns_port_t -p udp 99999

    67、68

    semanage port -a -t dhcpd_port_t -p udp 99999

    5671

    semanage port -a -t amqp_port_t -p tcp 99999

    8000

    semanage port -a -t soundd_port_t -p tcp 99999

    7911

    semanage port -a -t dhcpd_port_t -p tcp 99999

    5000 (Red Hat Enterprise Linux 7 の場合)

    semanage port -a -t commplex_main_port_t -p tcp 99999

    22

    semanage port -a -t ssh_port_t -p tcp 99999

    16514 (libvirt)

    semanage port -a -t virt_port_t -p tcp 99999

    389、636

    semanage port -a -t ldap_port_t -p tcp 99999

    5910〜5930

    semanage port -a -t vnc_port_t -p tcp 99999

  2. 以前使用したポート番号とポートタイプの関連付けを解除します。
# semanage port -d -t virt_port_t -p tcp 99999
Copy to Clipboard Toggle word wrap

第2章 Satellite Server のインストール

本章では、Red Hat Satellite Server のインストール、初期設定、マニフェストの作成およびインストール、および追加設定の実行について説明します。

Red Hat Satellite 6.4 はデフォルトで Puppet 5 を使用します。Puppet 5 をサポートするように Puppet モジュールを確認して更新します。Puppet 5 をサポートするために Puppet モジュールを更新する方法の詳細は、Satellite 6.4 の Red Hat Satellite のアップグレードおよび更新 ガイドの Puppet のアップグレード セクションを参照してください。

注記

Red Hat Satellite 6.3 で Puppet 4 をサポートするために Puppet モジュールのアップグレードが完了していることを確認します。Puppet モジュールを Puppet 4 にアップグレードする方法については、Satellite 6.3 の Red Hat Satellite のアップグレードおよび更新 ガイドの Puppet のアップグレード セクションを参照してください。

Satellite Server は、以下の 2 つのインストール方法があります。

オンラインインストール

Satellite Server をインストールするために必要なパッケージは、Red Hat コンテンツ配信ネットワーク (CDN) から直接入手できます。CDN を使用すると、システムは常に最新の更新を受け取ることができます。

オフラインインストール

外部のコンピューターを使用してパッケージの ISO イメージをダウンロードし、Satellite Server をインストールするシステムにパッケージをコピーする必要があります。非接続環境が必要な場合にのみ ISO イメージを使用してください。ISO イメージには最新の更新が含まれていない可能性があります。

注記

Satellite Server をそれ自体に登録することはできません。

2.1. オンラインネットワークからの Satellite Server のインストール

オンラインネットワークから Satellite Server をインストールする場合には、Red Hat コンテンツ配信ネットワーク から直接パッケージと更新を取得できます。

Satellite 6 インストールスクリプトは Puppet に基づいているため、インストールスクリプトを複数回実行すると、手動で行った設定変更が上書きされる可能性があることに注意してください。これを回避し、今後どの変更を適用するか判断するには、インストールスクリプトの実行時に --noop の引数を使用します。この引数では、実際の変更は加えられません。潜在的な変更は /var/log/foreman-installer.log に書き込まれます。

ファイルは常にバックアップされるため、不要な変更を元に戻すことができます。たとえば、foreman-installer ログで Filebucket に関する以下のようなエントリーが確認できます。

/Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1
Copy to Clipboard Toggle word wrap

以前のファイルは以下のように復元できます。

# puppet filebucket -l \
restore /etc/dhcp/dhcpd.conf 622d9820b8e764ab124367c68f5fa3a1
Copy to Clipboard Toggle word wrap

2.1.1. Red Hat サブスクリプション管理への登録

Red Hat サブスクリプション管理にホストを登録すると、ユーザーが利用可能なサブスクリプションにホストを登録して、サブスクリプションのコンテンツを使用できるようになります。これには、Red Hat Enterprise Linux、Red Hat Software Collections (RHSCL)、Red Hat Satellite などのコンテンツが含まれます。

Red Hat コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。

# subscription-manager register
Copy to Clipboard Toggle word wrap

このコマンドを実行すると、以下のような出力が表示されます。

# subscription-manager register
Username: user_name
Password:
The system has been registered with ID: 541084ff2-44cab-4eb1-9fa1-7683431bcf9a
Copy to Clipboard Toggle word wrap

2.1.2. Satellite サブスクリプションの確認、およびホストへのサブスクリプションの割り当て

ホストを登録したら、利用可能な Satellite サブスクリプションを識別して接続する必要があります。Satellite サブスクリプションでは、Satellite コンテンツに加えて、Red Hat Enterprise Linux、Red Hat Software Collections (RHSCL)、Red Hat Satellite へのアクセスも提供されます。必要なサブスクリプションはこれだけです。すべての Red Hat サブスクリプションは、プール ID によって識別されます。

  1. Satellite サブスクリプションを特定します。

    # subscription-manager list --available --matches 'Red Hat Satellite'
    Copy to Clipboard Toggle word wrap

    このコマンドは 、Subscription NameProvides を含む、Red Hat Satellite のすべてのインスタンスに一致する、利用可能なすべてのサブスクリプションのフィールドの大文字と小文字を区別しない検索を実行します。サブスクリプションがシステムに割り当てられていない場合には、利用可能として分類されます。検索文字列には、それぞれ 1 文字または 0 個以上の文字に一致するワイルドカード ? または * を含めることもできます。ワイルドカード文字は、バックスラッシュでエスケープして、文字通りの疑問符またはアスタリスクを表すことができます。同様に、バックスラッシュを表すには、別のバックスラッシュでエスケープする必要があります。

    利用可能な Satellite サブスクリプションが見つからない場合は、Red Hat ナレッジベースソリューション Red Hat Subscription Manager に登録されているクライアントによって消費されたサブスクリプションを確認する方法を教えてください。を 参照して、サブスクリプションが別のシステムによって消費されているかどうかを確認できるスクリプトを実行してください。

    出力が長すぎる場合は、lessmore などのページャユーティリティーにパイプして、出力を 1 画面ずつ確認できるようにします。

    1. どのような形式の subscription-manager コマンドを実行しても、出力は次のようになります。

      Subscription Name: Red Hat Satellite
      Provides:          Red Hat Satellite 6
                         Red Hat Enterprise Linux Server
                         Red Hat Satellite
                         Red Hat Enterprise Linux Load Balancer (for RHEL Server)
      SKU:               MCT0370
      Pool ID:           8a85f9874152663c0541943739717d11
      Available:         3
      Suggested:         1
      Service Level:     Premium
      Service Type:      L1-L3
      Multi-Entitlement: No
      Ends:              10/07/2014
      System Type:       Physical
      Copy to Clipboard Toggle word wrap
  2. プール ID をメモしておき、それを Satellite ホストに添付できるようにします。プール ID は、提供された例と異なります。
  3. Satellite サーバーにサブスクリプションを割り当てるには、実際のプール ID を指定して以下のコマンドを実行します。

    # subscription-manager attach --pool=pool_id
    Copy to Clipboard Toggle word wrap

    出力は以下のようになります。

    Successfully attached a subscription for: Red Hat Satellite
    Copy to Clipboard Toggle word wrap
  4. サブスクリプションが正しく割り当てられたことを確認するには、以下のコマンドを実行します。

    # subscription-manager list --consumed
    Copy to Clipboard Toggle word wrap

    この出力では、以下のような内容が表示されます。

    +-------------------------------------------+
       Consumed Subscriptions
    +-------------------------------------------+
    Subscription Name: Red Hat Satellite
    Provides:          Red Hat Satellite
                       Red Hat Enterprise Linux Server
                       Red Hat Software Collections (for RHEL Server)
                       Red Hat Satellite
                       Red Hat Satellite 6
                       Red Hat Software Collections  (for RHEL Server)
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                       Red Hat Satellite with Embedded Oracle
                       Red Hat Satellite Capsule
                       Red Hat Enterprise Linux High Availability (for RHEL Server)
    SKU:               MCT0370
    Contract:          10293569
    Account:           5361051
    Serial:            1653856191250699363
    Pool ID:           8a85f9874152663c0541943739717d11
    Active:            True
    Quantity Used:     1
    Service Level:     Premium
    Service Type:      L1-L3
    Status Details:
    Starts:            10/08/2013
    Ends:              10/07/2014
    System Type:       Physical
    Copy to Clipboard Toggle word wrap

2.1.3. リポジトリーの設定

  1. 既存のリポジトリーをすべて無効にします。

    # subscription-manager repos --disable "*"
    Copy to Clipboard Toggle word wrap
  2. Red Hat Satellite、Red Hat Enterprise Linux、Red Hat Software Collections の各リポジトリーを有効にします。

    # subscription-manager repos --enable=rhel-7-server-rpms \
    --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-satellite-6.4-rpms \
    --enable=rhel-7-server-satellite-maintenance-6-rpms \
    --enable=rhel-7-server-ansible-2.6-rpms
    Copy to Clipboard Toggle word wrap
    注記

    Red Hat Satellite を Red Hat Virtualization (RHV) でホストされる仮想マシンとしてインストールする場合は、Red Hat Common リポジトリーを有効にし、RHV ゲストエージェントとドライバーもインストールする必要があります。詳細は、仮想マシン管理ガイドRed Hat Enterprise Linux へのゲストエージェントとドライバーのインストールを 参照してください。

  3. Red Hat 以外の yum リポジトリーに残っているメタデータをすべてクリアします。

    # yum clean all
    Copy to Clipboard Toggle word wrap
  4. リポジトリーが有効になっていることを確認します。

    # yum repolist enabled
    Copy to Clipboard Toggle word wrap

2.1.4. Satellite Server パッケージのインストール

Satellite Server パッケージをインストールする前に、すべてのパッケージを更新する必要があります。インストール後、サーバー証明書の設定、ユーザー名、パスワード、デフォルトの組織と場所の設定など、Satellite Server の初期設定を実行する必要があります。

  1. すべてのパッケージを更新します。

    # yum update
    Copy to Clipboard Toggle word wrap
  2. Satellite Server パッケージをインストールします。

    # yum install satellite
    Copy to Clipboard Toggle word wrap

2.2. 初期設定の実行

このセクションでは、Red Hat Satellite Server をインストールするときにホストオペレーティングシステムの初期設定を実行する方法について詳しく説明します。これには、時間の同期、sos パッケージのインストール、インストールオプションの指定が含まれます。

続行する前に、どのマニフェストまたはパッケージが環境に関連するかを検討してください。マニフェストの詳細は、Red Hat Satellite コンテンツ管理ガイドサブスクリプションの管理を 参照してください。

2.2.1. 時間の同期

時間のずれの影響を最小限に抑えるには、ホストオペレーティングシステムで時間同期機能を起動して有効にする必要があります。システムの時刻が正しくない場合、証明書の検証が失敗する可能性があります。

NTP ベースの時間同期装置として、chronydntpd の 2 つが利用可能です。chronyd 実装は、頻繁に中断されるシステムや、ネットワークアクセスが断続的に発生するシステムに特に推奨されます。ntpd 実装は、chronyd でまだサポートされていないプロトコルまたはドライバーのサポートが特に必要な場合にのみ使用してください。

ntpdchronyd の違いの詳細は、Red Hat Enterprise Linux 7 システム管理者ガイドntpd と chronyd の相違点を 参照してください。

chronyd を使用した時間の同期

  1. chronyd をインストールします。

    # yum install chrony
    Copy to Clipboard Toggle word wrap
  2. chronyd サービスを起動して、有効にします。

    # systemctl start chronyd
    # systemctl enable chronyd
    Copy to Clipboard Toggle word wrap

2.2.2. ホストオペレーティングシステムへの SOS パッケージのインストール

ホストオペレーティングシステムに sos パッケージをインストールする必要があります。sos パッケージを使用すると、Red Hat Enterprise Linux システムから設定および診断情報を収集できます。このパッケージを使用すると、Red Hat テクニカルサポートへのサービスリクエストの起票時に必要な初期システム分析を提示できます。sos の使用に関する詳細は、Red Hat カスタマーポータルのナレッジベースソリューション sosreport とは何ですか。Red Hat Enterprise Linux 4.6 以降で sosreport を作成する方法は? を 参照してください。

sos パッケージをインストールします。

# yum install sos
Copy to Clipboard Toggle word wrap

2.2.3. インストールオプションの指定

Satellite Server は 、satellite-installer インストールスクリプトを使用してインストールされ、初期設定の一部として、Satellite を自動または手動で設定します。

以下のいずれかの設定方法を選択します。

  • 自動設定 - この方法は、インストールスクリプトの実行時に応答ファイルを使用して設定プロセスを自動化することによって実行されます。応答ファイルは、コマンドまたはスクリプトによって読み取られるパラメーターのリストを含むファイルです。デフォルトの Satellite の応答ファイルは /etc/foreman-installer/scenarios.d/satellite-answers.yaml です。使用中の応答ファイルは、/etc/foreman-installer/scenarios.d/satellite.yaml 設定ファイルの answer_file ディレクティブで設定します。

    応答ファイルを使用したインストールスクリプトを使用して初期設定を実行するには、「応答ファイルを使用した初期設定の自動実行」

  • 手動設定 - この方法は、1 つ以上のコマンドオプションを使用してインストールスクリプトを実行することによって実行されます。コマンドオプションは、対応するデフォルトの初期設定オプションを上書きし、Satellite 応答ファイルに記録されます。必要なオプションの設定に、必要に応じてスクリプトは何回でも実行することができます。

    コマンドラインオプション付きのインストールスクリプトを使用して初期設定を実行するには、「手動による初期設定」

注記

Satellite インストーラーの実行時に使用するオプションによっては、設定が完了するのに数分かかることがあります。管理者は応答ファイルを表示して、両方の方法で以前に使用されたオプションを確認できます。

2.2.3.1. 手動による初期設定

初期設定の手順では、組織、ロケーション、ユーザー名、およびパスワードが作成されます。初期設定後に、必要に応じて追加の組織と場所を作成できます。初期設定では、MongoDB および PostgreSQL データベースも同じサーバーにインストールします。デプロイメントによっては、外部データベースを使用するとパフォーマンスが向上する場合があります。

インストールプロセスの完了には、数十分かかることがあります。システムにリモートで接続している場合は、リモートシステムから切断された場合にインストールの進行状況を確認できるように、通信セッションを一時停止して再接続できる screen などのユーティリティーの使用を検討してください。Red Hat ナレッジベースの記事 How to use the screen command には screen のインストールについて記載されています。または、詳しくは screen の man ページを参照してください。インストールコマンドを実行しているシェルへの接続が切断された場合は、/var/log/foreman-installer/satellite.log のログを参照してプロセスが正常に完了したかどうかを確認します。

Satellite Server の手動設定

satellite-installer --scenario satellite --help コマンドを使用して、利用可能なオプションとすべてのデフォルト値を表示します。値を指定しない場合は、デフォルト値が使用されます。

オプション --foreman-initial-organization には意味のある値を指定することを推奨します。たとえば、会社名を指定できます。値に一致する内部ラベルが作成されますが、このラベルは後で変更できません。値を指定しない場合は、ラベルが Default_OrganizationDefault Organization という名前の組織が作成されます。組織名は変更できますが、ラベルは変更できません。

デフォルトでは、インストーラーが設定するすべての設定ファイルが Puppet によって管理されます。satellite-installer を実行すると、Puppet が管理するファイルに手動で加えられた変更が初期値で上書きされます。デフォルトでは、Satellite Server は Puppet エージェントがサービスとして実行される状態でインストールされます。必要に応じて、--Puppet-runmode=none オプションを使用して、Satellite Server 上の Puppet エージェントを無効にすることができます。

DNS ファイルと DHCP ファイルを手動で管理する場合には、--foreman-proxy-dns-managed=false オプションと --foreman-proxy-dhcp-managed=false オプションを使用して、各サービスに関連するファイルが Puppet で管理されないようにします。他のサービスにカスタム設定を適用する方法の詳細は、以下を参照してください。付録B Red Hat Satellite へのカスタム設定の適用

Satellite で外部データベースを使用する場合は、Satellite インストーラー ツールを実行する前に、外部データベースを設定して指定する必要があります。詳細は、接続されたネットワークからの Satellite Server のインストールSatellite を使用した外部データベースの使用を 参照してください。

# satellite-installer --scenario satellite \
--foreman-initial-organization "initial_organization_name" \
--foreman-initial-location "initial_location_name" \
--foreman-admin-username admin_user_name \
--foreman-admin-password admin_password \
--foreman-proxy-dns-managed=false \
--foreman-proxy-dhcp-managed=false
Copy to Clipboard Toggle word wrap

このスクリプトは、進捗を表示し、/var/log/foreman-installer/satellite.log にログを記録します。

切断環境でインストールしている場合は、ISO イメージをアンマウントします。

# umount /media/sat6
# umount /media/rhel7-server
Copy to Clipboard Toggle word wrap
2.2.3.2. 応答ファイルを使用した初期設定の自動実行

応答ファイルを使用すると、カスタマイズされたオプションでインストールを自動化できます。最初の応答ファイルにはまばらにデータが入力されており、satellite-installer スクリプトを初めて実行した後、応答ファイルにインストール用の標準パラメーター値が入力されます。すでに Satellite Server を上記の方法でインストールしている場合は、「手動による初期設定」、この方法を使用する必要はありません。ただし、これを使用して、いつでも Satellite Server の設定を変更することができます。

ネットワークの変更の場合は、可能な限り、IP アドレスの代わりに FQDN を使用する必要があります。

応答ファイルを使用して Satellite Server を自動的に設定する

  1. デフォルトの応答ファイル /etc/foreman-installer/scenarios.d/satellite-answers.yaml をローカルファイルシステムの場所にコピーします。

    # cp /etc/foreman-installer/scenarios.d/satellite-answers.yaml \
    /etc/foreman-installer/scenarios.d/my-answer-file.yaml
    Copy to Clipboard Toggle word wrap
  2. 設定可能なすべてのオプションを表示するには、satellite-installer --scenario satellite --help コマンドを実行します。
  3. 応答ファイルのコピーを開き、ご使用の環境に適した値を編集し、ファイルを保存します。
  4. /etc/foreman-installer/scenarios.d/satellite.yaml ファイルを開き、カスタム応答ファイルを参照する応答ファイルエントリーを編集します。

    :answer_file: /etc/foreman-installer/scenarios.d/my-answer-file.yaml
    Copy to Clipboard Toggle word wrap
  5. satellite-installer スクリプトを実行します。

    # satellite-installer --scenario satellite
    Copy to Clipboard Toggle word wrap
  6. 切断環境でインストールしている場合は、ISO イメージをアンマウントします。

    # umount /media/sat6
    # umount /media/rhel7-server
    Copy to Clipboard Toggle word wrap

2.2.4. カスタマーポータルでサブスクリプションの割り当ての作成

サブスクリプション情報には、Red Hat カスタマーポータルからアクセスできます。サブスクリプション割り当てを使用して、Red Hat Satellite などのオンプレミス管理アプリケーションで使用するサブスクリプションを割り当てることもできます。

  1. ブラウザーで https://access.redhat.com/ を開き、システムを Red Hat Subscription Management に登録するために使用した Red Hat アカウントにログインします。
  2. カスタマーポータルの左上隅にある [サブスクリプション] に移動します。
  3. サブスクリプション割り当て に移動します。
  4. [新しいサブスクリプション割り当ての作成] を クリックします。
  5. 名前 フィールドに名前を入力します。
  6. タイプ リストから、Satellite Server に対応するタイプとバージョンを選択します。
  7. Create をクリックします。

2.2.5. 割り当てへのサブスクリプションの追加

以下の手順では、サブスクリプションを割り当てに追加する方法について説明します。

  1. サブスクリプション割り当て に移動します。
  2. 変更するサブスクリプションの名前を選択します。
  3. Subscriptions タブをクリックします。
  4. Add Subscriptions をクリックします。
  5. Red Hat 製品サブスクリプションのリストが表示されます。各製品の エンタイトルメント数量 を入力します。
  6. 課題を完了するには、[送信] をクリックします。

割り当てにサブスクリプションを追加したら、マニフェストファイルをエクスポートします。

2.2.6. カスタマーポータルからのサブスクリプションマニフェストのエクスポート

1 つ以上のサブスクリプションがあるサブスクリプション割り当てを表示し、以下のいずれかからマニフェストをエクスポートできます。

  • [詳細] タブの [サブスクリプ ション] セクションで、[マニフェストのエクスポート] ボタンをクリックします。
  • [サブスクリプション] タブから、[マニフェストのエクスポート] ボタンをクリックします。

マニフェストがエクスポートされると、カスタマーポータルは選択したサブスクリプション証明書をエンコードし、.zip アーカイブを作成します。これは、Satellite Server にアップロードできるサブスクリプションマニフェストです。

2.2.7. Satellite Server へのサブスクリプションマニフェストのインポート

Red Hat Satellite 6 Web UI と CLI は、マニフェストをインポートする手段を提供します。

Web UI をご利用の場合

  1. コンテキストが、使用する組織に設定されていることを確認します。
  2. コンテンツ > Red Hat サブスクリプション に移動します。
  3. マニフェストの管理 をクリックすると、組織のマニフェストページが表示されます。
  4. [ファイルの選択] をクリックし、サブスクリプションマニフェストを選択して、[アップロード] を クリックします。

CLI をご利用の場合

Red Hat Satellite 6 CLI では、マニフェストが Satellite Server 上に存在している必要があります。ローカルクライアントシステムで、マニフェストを Satellite Server にコピーします。

[user@client ~]$ scp ~/manifest_file.zip root@satellite.example.com:~/.
Copy to Clipboard Toggle word wrap

次に、以下のコマンドを使用してインポートします。

[root@satellite ~]# hammer subscription upload \
--file ~/manifest_file.zip \
--organization "organization_name"
Copy to Clipboard Toggle word wrap

数分後、CLI により、マニフェストのインポートに成功したことが報告されます。

このセクションを完了すると、リポジトリーを有効にして Red Hat コンテンツをインポートできるようになります。これは、次の手順の一部を実行するための前提条件です。詳細は、Red Hat Satellite コンテンツ管理ガイドRed Hat コンテンツのインポートを 参照してください。

第3章 Satellite Server での追加設定の実行

3.1. Satellite Tools リポジトリーのインストール

Satellite Tools リポジトリーは、Satellite Server に登録されたクライアントに katello-agent および Puppet パッケージを提供します。クライアントのリモート更新を可能にするには、katello エージェントをインストールすることを推奨します。Capsule Server のベースシステムは Satellite Server のクライアントであるため、katello エージェントもインストールする必要があります。

Web UI を使用した Satellite Tools リポジトリーのインストール手順:

  1. Satellite Web UI で、Content > Red Hat Repositories に移動します。
  2. 検索フィールドを使用して、次のリポジトリー名を入力します: Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs)
  3. [利用可能なリポジトリー] ペインで、Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs) をクリックしてリポジトリーセットを展開します。

    Red Hat Satellite Tools 6.4 項目が表示されない場合は、カスタマーポータルから取得したサブスクリプションマニフェストにその項目が含まれていないことが原因となっている可能性があります。この問題を修正するには、カスタマーポータルにログインし、これらのリポジトリーを追加し、サブスクリプションマニフェストをダウンロードして、Satellite にインポートします。

  4. x86_64 エントリーでは、有効化 アイコンをクリックして、リポジトリーを有効にします。

ホスト上で実行されている Red Hat Enterprise Linux のサポートされているすべてのメジャーバージョンに対して、Satellite Tools リポジトリーを有効にします。Red Hat リポジトリーの有効後に、このリポジトリーの製品が自動的に作成されます。

CLI をご利用の場合

Satellite Tools リポジトリーを追加します。

# hammer repository-set enable --organization "initial_organization_name" \
--product 'Red Hat Enterprise Linux Server' \
--basearch='x86_64' \
--name 'Red Hat Satellite Tools 6.4 (for RHEL 7 Server) (RPMs)'
Copy to Clipboard Toggle word wrap

Web UI を使用した Satellite Tools リポジトリーの同期手順:

  1. コンテンツ > 同期ステータス に移動します。

    同期可能な製品リポジトリーのリストが表示されます。

  2. 製品コンテンツの横にある矢印をクリックして利用可能なコンテンツを表示します。
  3. 同期するコンテンツを選択します。
  4. Synchronize Now をクリックします。

CLI をご利用の場合

Satellite Tools リポジトリーを同期します。

$ hammer repository synchronize --organization "initial_organization_name" \
--product 'Red Hat Enterprise Linux Server' \
--name 'Red Hat Satellite Tools 6.4 for RHEL 7 Server RPMs x86_64' \
--async
Copy to Clipboard Toggle word wrap

除く

3.2. HTTP プロキシーを使用した Satellite Server の設定

ネットワークで HTTP プロキシーを使用している場合は、Red Hat コンテンツ配信ネットワーク (CDN) または別のコンテンツソースへの要求に HTTP プロキシーを使用するように Satellite Server を設定できます。ネットワークの変更が原因で接続が失われるのを回避するために、可能な限り IP の代わりに FQDN を使用します。

以下の手順では、Satellite のコンテンツダウンロード専用のプロキシーを設定します。

認証方法

基本認証のみがサポートされています。ユーザー名とパスワード情報を --katello-proxy-url オプションに追加するか、--katello-proxy-username および --katello-proxy-password オプションを使用します。

HTTP プロキシーを使用した Satellite Server の設定

  1. http_proxyhttps_proxyno_proxy 変数が設定されていないことを確認します。

    # unset http_proxy
    # unset https_proxy
    # unset no_proxy
    Copy to Clipboard Toggle word wrap
  2. HTTP プロキシーオプションを使用して satellite-installer を実行します。

    # satellite-installer --scenario satellite \
    --katello-proxy-url=http://myproxy.example.com \
    --katello-proxy-port=8080 \
    --katello-proxy-username=proxy_username \
    --katello-proxy-password='proxy_password'
    Copy to Clipboard Toggle word wrap
  3. Satellite Server が Red Hat CDN に接続し、リポジトリーを同期できることを確認します。

    1. ネットワークゲートウェイと HTTP プロキシーで、以下のホスト名に対して TCP を有効にします。

      Expand
      ホスト名ポートプロトコル

      subscription.rhsm.redhat.com

      443

      HTTPS

      cdn.redhat.com

      443

      HTTPS

      *.akamaiedge.net

      443

      HTTPS

      cert-api.access.redhat.com (Red Hat Insights を使用している場合)

      443

      HTTPS

      api.access.redhat.com (Red Hat Insights を使用している場合)

      443

      HTTPS

      Satellite Server は、SSL 経由で Red Hat CDN と安全に通信します。SSL インターセプションプロキシーを使用すると、この通信を干渉します。これらのホストはプロキシーでホワイトリスト化する必要があります。

      Red Hat CDN (cdn.redhat.com) で使用されている IP アドレスのリストは、Red Hat カスタマーポータルのナレッジベース記事 Public CIDR Lists for Red Hat を参照してください。

    2. Satellite Server で、/etc/rhsm/rhsm.conf ファイルに次の詳細を入力します。

      # an http proxy server to use (enter server FQDN)
      proxy_hostname = myproxy.example.com
      
      # port for http proxy server
      proxy_port = 8080
      
      # user name for authenticating to an http proxy, if needed
      proxy_user =
      
      # password for basic http proxy auth, if needed
      proxy_password =
      Copy to Clipboard Toggle word wrap

カスタムポートに関する SELinux の考慮事項

SELinux は、Red Hat Satellite 6 および Red Hat Subscription Manager が特定のポートにのみアクセスできるようにします。HTTP キャッシュの場合には、TCP ポートは 8080、8118、8123、および 10001 - 10010 を使用できます。SELinux タイプ http_cache_port_t を 持たないポートを使用する場合は、次の手順を実行します。

  1. 以下のコマンドを実行して、SELinux で HTTP キャッシュに許可されているポートを確認します。

    # semanage port -l | grep http_cache
    http_cache_port_t       tcp    8080, 8118, 8123, 10001-10010
    [output truncated]
    Copy to Clipboard Toggle word wrap
  2. 以下のコマンドを実行して、SELinux が HTTP キャッシュにポート (たとえば、8088) を許可するよう設定します。

    # semanage port -a -t http_cache_port_t -p tcp 8088
    Copy to Clipboard Toggle word wrap

SELinux ポート設定の詳細は、以下を参照してください。「デフォルトの SELinux ポートの変更」

3.3. 全 Satellite HTTP 要求での HTTP プロキシーの使用

Satellite Server は、HTTP および HTTPS をブロックするファイアウォールの内側に設定する必要がある場合に、コンピュートリソースなどの外部システムとの通信に使用するプロキシーを設定してください。

プロビジョニングにコンピュートリソースを使用し、コンピュートリソースと、異なる HTTP プロキシーを併用する場合には、コンピュートリソースに設定したプロキシーではなく、Satellite 通信すべてに設定したプロキシーが優先されます。

Satellite からの HTTP 送信接続すべてに、HTTP プロキシーを設定するには、以下の手順を実行します。

  1. Satellite Web UI で、Administer > Settings に移動します。
  2. HTTP(S) プロキシー 行で、隣接する Value 列を選択し、プロキシー URL を入力します。
  3. チェックのアイコンをクリックして変更を保存します。

プロキシー化された要求を受信しないようにホストを除外する手順

Satellite HTTP または HTTPS 要求に HTTP プロキシーを使用する場合は、プロキシー経由で通信しないように、特定のホストを除外できます。

プロキシー経由の通信を使用しないように、ホスト 1 つまたは複数を除外するには、以下の手順を実行します。

  1. Satellite Web UI で、Administer > Settings に移動します。
  2. HTTP(S) proxy except hosts の行で、隣接する Value の列を選択して、プロキシー要求から除外する、1 つまたは複数のホストの名前を入力します。
  3. チェックのアイコンをクリックして変更を保存します。

3.4. マネージドホスト上での電源管理の有効化

Satellite Server でベースボード管理コントローラー (BMC) を有効にすると、IPMI (Intelligent Platform Management Interface) または類似したプロトコルを使用して、マネージドホストで電源管理コマンドを使用できます。

BMC サービスを使用すると、さまざまな電源管理タスクを実行できます。この機能の基礎となるプロトコルは IPMI (BMC 機能とも呼ばれます) です。IPMI は、ホストの CPU とは独立して実行される専用プロセッサーに接続された管理対象ハードウェア上の特別なネットワークインターフェイスを使用します。多くの場合、BMC 機能はシャーシ管理 (シャーシ内の専用モジュール) の一部としてシャーシベースのシステムに組み込まれています。

BMC サービスの詳細は、ホストの管理追加のネットワークインターフェイスの設定を 参照してください。

作業開始前の準備

  • すべての管理対象ホストには、タイプ BMC のネットワークインターフェイスが必要です。Satellite はこの NIC を使用して適切な認証情報をホストに渡します。

マネージドホスト上での電源管理の有効化

  1. オプションを使用してインストーラーを実行し、BMC を有効にします。

    # satellite-installer --foreman-proxy-bmc "true" \
    --foreman-proxy-bmc-default-provider "freeipmi"
    Copy to Clipboard Toggle word wrap

3.5. Satellite Server で DNS、DHCP、および TFTP の設定

Satellite Server では、DNS、DHCP、および TFTP を設定できます。

外部サービスを設定する場合は、4章外部サービスの設定

これらのサービスを手動で管理するために Satellite で無効にしたい場合は、「マネージド外ネットワークに対する DNS、DHCP、および TFTP の無効化」

設定可能なオプションの全リストを表示するには、satellite-installer --scenario satellite --help コマンドを入力します。

作業開始前の準備

  • ネットワーク管理者に連絡して正しい設定が行われていることを確認する。
  • 以下の情報を用意する必要があります。

    • DHCP IP アドレス範囲
    • DHCP ゲートウェイ IP アドレス
    • DHCP ネームサーバー IP アドレス
    • DNS 情報
    • TFTP サーバー名
  • ネットワークの変更の場合は、可能な限り、IP アドレスの代わりに FQDN を使用します。

Satellite Server での DNS、DHCP、および TFTP の設定

  1. 環境に適したオプションを使用して satellite-installer を実行します。

    # satellite-installer --scenario satellite \
    --foreman-proxy-dns true \
    --foreman-proxy-dns-managed true \
    --foreman-proxy-dns-interface eth0 \
    --foreman-proxy-dns-zone example.com \
    --foreman-proxy-dns-forwarders 172.17.13.1 \
    --foreman-proxy-dns-reverse 13.17.172.in-addr.arpa \
    --foreman-proxy-dhcp true \
    --foreman-proxy-dhcp-managed true \
    --foreman-proxy-dhcp-interface eth0 \
    --foreman-proxy-dhcp-range "172.17.13.100 172.17.13.150" \
    --foreman-proxy-dhcp-gateway 172.17.13.1 \
    --foreman-proxy-dhcp-nameservers 172.17.13.2 \
    --foreman-proxy-tftp true \
    --foreman-proxy-tftp-managed true \
    --foreman-proxy-tftp-servername $(hostname)
    Copy to Clipboard Toggle word wrap

    DHCP、DNS、および TFTP サービスの設定の詳細は、プロビジョニングガイドネットワークサービスの設定 セクションを参照してください。

    このスクリプトは、進捗を表示し、/var/log/foreman-installer/satellite.log にログを記録します。admin_password パラメーターを含む、使用されている設定は、/etc/ foreman-installer/scenarios.d/Satellite-answers.yaml ファイルで確認できます。

注記

設定を変更する場合は 、satellite-installer を再度実行する必要があります。スクリプトを複数回実行すると、変更された値ですべての設定ファイルが更新されます。

3.6. マネージド外ネットワークに対する DNS、DHCP、および TFTP の無効化

TFTP、DHCP および DNS サービスを手動で管理する場合には、Satellite がオペレーティングシステム上でこれらのサービスを管理しないようにし、オーケストレーションを無効にして、DHCP および DNS バリデーションエラーを回避する必要があります。ただし、Satellite ではオペレーティングシステムのバックエンドサービスは削除されません。

手順

オペレーティングシステム上で Satellite による DHCP、DNS、および TFTP サービスを管理を回避し、オーケストレーションを無効にするには、次の手順を実行します。

  1. Satellite Server で以下のコマンドを入力します。

    # satellite-installer --foreman-proxy-dhcp false \
    --foreman-proxy-dns false \
    --foreman-proxy-tftp false
    Copy to Clipboard Toggle word wrap
  2. Satellite Web UI で、Infrastructure > Subnets に移動し、サブネットを選択します。
  3. Capsules タブで、DHCP CapsuleTFTP Capsule、および 逆引き DNS Capsule を選択します。
  4. インフラストラクチャー > ドメイン に移動し、ドメインを選択します。
  5. DNS Capsule フィールドの内容を消去します。
  6. オプション: サードパーティーが提供する DHCP サービスを使用する場合は、以下のオプションを渡すように DHCP サーバーを設定します。

    Option 66: IP_address_of_Satellite_or_Capsule
    Option 67: /pxelinux.0
    Copy to Clipboard Toggle word wrap

    DHCP オプションの詳細は RFC 2132 を参照してください。

注記

特定のサブネットとドメインに対して Capsule が設定されていない場合、Satellite 6 はオーケストレーションを実行しません。Capsule の関連付けを有効または無効にした場合に、想定のレコードと設定ファイルが存在しないと、既存のホストのオーケストレーションコマンドが失敗することがあります。オーケストレーションを有効にするために Capsule を関連付ける場合は、今後、ホストの削除に失敗しないように、既存の Satellite ホストに対して必要な DHCP レコード、DNS レコード、TFTP ファイルが所定の場所にあることを確認します。

3.7. Satellite Server で送信メールの設定

Satellite Server からメールメッセージを送信するには、SMTP サーバーまたは sendmail コマンドのいずれかを使用できます。

前提条件

前回のリリースからアップグレードしている場合は、設定ファイル /usr/share/foreman/config/email.yaml の名前を変更するか削除して、httpd サービスを再起動しておく。以下に例を示します。

# mv /usr/share/foreman/config/email.yaml \
/usr/share/foreman/config/email.yaml-backup
# systemctl restart httpd
Copy to Clipboard Toggle word wrap

Satellite Server で送信メールの設定

  1. Satellite Web UI で、管理設定 に移動します。
  2. Email タブをクリックして、希望する配信方法に一致する設定オプションを設定します。変更は即座に反映されます。

    1. 以下の例は、SMTP サーバーを使用する場合の設定オプションの例を示しています。

      Expand
      表3.1 配信方法に SMTP サーバーを使用する例
      名前値例

      配信方法

      SMTP

      SMTP アドレス

      smtp.example.com

      SMTP 認証

      ログイン

      SMTP HELO/EHLO ドメイン

      example.com

      SMTP パスワード

      パスワード

      SMTP ポート

      25

      SMTP ユーザー名

      衛星 @example.com

      SMTP ユーザー名SMTP パスワード では、SMTP サーバーのログイン認証情報を指定します。

    2. 以下の例では、gmail.com が SMTP サーバーとして使用されています。

      Expand
      表3.2 gmail.com を SMTP サーバーとして使用する例
      名前値例

      配信方法

      SMTP

      SMTP アドレス

      smtp.gmail.com

      SMTP 認証

      plain

      SMTP HELO/EHLO ドメイン

      smtp.gmail.com

      SMTP enable StartTLS auto

      Yes

      SMTP パスワード

      パスワード

      SMTP ポート

      587

      SMTP ユーザー名

      user@gmail.com

    3. 以下の例では、sendmail コマンドが配信方法として使用されています。

      Expand
      表3.3 配信方法に sendmail を使用する例
      名前値例

      配信方法

      Sendmail

      Sendmail の引数

      -i -t -G

      Sendmail の引数 では、sendmail コマンドに渡すオプションを指定します。デフォルト値は、-i -t です。詳細は、sendmail 1 の man ページを参照してください。

  3. TLS 認証を使用する SMTP サーバーで電子メールを送信する場合は、以下のいずれかの手順を実行してください。

    • SMTP サーバーの CA 証明書を信頼済みとしてマークします。これを行うには、Satellite Server で次のコマンドを実行します。

      # cp mailca.crt /etc/pki/ca-trust/source/anchors/
      # update-ca-trust enable
      # update-ca-trust
      Copy to Clipboard Toggle word wrap

      ここで、mailca.crt は SMTP サーバーの CA 証明書です。

    • 別の方法では、Web UI の SMTP enable StartTLS auto オプションを No に設定します。
  4. Test email をクリックしてユーザーのメールアドレスにテストメッセージを送信し、設定が機能していることを確認します。メッセージの送信に失敗する場合は、Web UI でエラーが表示されます。詳細は、/var/log/foreman/production.log のログを確認してください。
注記

個々のユーザーまたはユーザーグループに対するメール通知の設定については、Red Hat Satellite の管理メール通知の設定を 参照してください。

3.8. カスタムサーバー証明書を使用した Satellite Server の設定

SSL 証明書は、情報を保護し、安全な通信を可能にするために使用されます。Red Hat Satellite 6 は、Satellite Server、外部の Capsule Server、およびすべてのホスト間の暗号化された通信を可能にするために、自己署名 SSL 証明書を作成します。これらの自己署名証明書を使用する代わりに、外部の信頼できる企業である認証局によって発行されたカスタム SSL 証明書をインストールできます。たとえば、SSL 証明書は認証局から取得する必要があるというセキュリティーポリシーが会社にあるとします。証明書を取得するには、証明書署名要求を作成し、認証局に送信します。「Satellite Server 向けの SSL 証明書の取得」。代わりに、署名された SSL 証明書を受け取ります。

Satellite サーバーでカスタム証明書を使用するには、これらの手順を完了します。

3.8.1. Satellite Server 向けの SSL 証明書の取得

Satellite Server 向けのカスタム SSL 証明書がすでにある場合は、この手順を省略します。

重要

SSL 証明書には、PEM エンコードを使用してください。

手順

Satellite Server の カスタム SSL 証明書を取得するには、次の手順を実行します。

  1. すべてのソース証明書ファイルを保存するディレクトリーを作成します。このディレクトリーは root ユーザーのみがアクセスできます (例 :/root/sat_cert)。

    # mkdir /root/sat_cert
    Copy to Clipboard Toggle word wrap
  2. Certificate Signing Request (CSR) を署名する秘密鍵を作成します。

    注記

    Satellite Server 向けの秘密鍵がすでにある場合は、この手順を省略します。

    # openssl genrsa -out /root/sat_cert/satellite_cert_key.pem 4096
    Copy to Clipboard Toggle word wrap
  3. 証明書署名要求 (CSR) の /root/sat_cert/openssl.cnf 設定ファイルを作成し、次のコンテンツを含めます。[ req_distinguished_name ] セクションに、貴社の組織の情報を入力します。

    注記

    証明書のコモンネーム (CN) とサブジェクト代替名 (SAN) DNS.1 は、証明書が使用されるサーバーの完全修飾ドメイン名 (FQDN) と一致する必要があります。Satellite Server の証明書を要求している場合、これは Satellite Server の FQDN です。Capsule Server の証明書をリクエストしている場合、これは Capsule Server の FQDN になります。

    サーバーの FQDN を確認するには、そのサーバー上で次のコマンドを入力します: hostname -f

    [ req ]
    req_extensions = v3_req
    distinguished_name = req_distinguished_name
    x509_extensions = usr_cert
    prompt = no
    
    [ req_distinguished_name ]
    C  = Country Name (2 letter code)
    ST = State or Province Name (full name)
    L  = Locality Name (eg, city)
    O  = Organization Name (eg, company)
    OU = The division of your organization handling the certificate
    CN = satellite.example.com
    
    [ v3_req ]
    basicConstraints = CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    subjectAltName = @alt_names
    
    [ usr_cert ]
    basicConstraints=CA:FALSE
    nsCertType = client, server, email
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection
    nsComment = "OpenSSL Generated Certificate"
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
    
    [ alt_names ]
    DNS.1 = satellite.example.com
    Copy to Clipboard Toggle word wrap
  4. 証明書署名要求 (CSR) を作成します。

    # openssl req -new \
    -key /root/sat_cert/satellite_cert_key.pem \
    -out /root/sat_cert/satellite_cert_csr.pem \
    -config /root/sat_cert/openssl.cnf
    Copy to Clipboard Toggle word wrap
  5. 証明局に証明書署名要求を送信します。Satellite Server と Capsule Server の証明書には同じ認証局が署名する必要があります。

    要求を送信する場合は、証明書の有効期限を指定してください。証明書要求を送信する方法は異なるため、推奨される方法について認証局にお問い合わせください。リクエストに応じて、認証局バンドルと署名された証明書が別々のファイルで受信されることが予想されます。

3.8.2. Satellite Server の SSL 証明書の検証

次の例に従って、必要なパラメーターを指定して katello-certs-check コマンドを入力します。これにより、カスタム証明書に必要な入力ファイルが検証され、Satellite Server、すべての Capsule Server、および Satellite で管理されているホストに証明書をインストールするために必要なコマンドが出力されます。

  1. カスタムの SSL 証明書入力ファイルを検証します。ファイルに合わせてファイル名を変更します。katello-certs-check コマンドが正しく機能するには、証明書のコモンネーム (CN) が Satellite Server の FQDN と一致している必要があることに注意してください。

    # katello-certs-check \
       -c /root/sat_cert/satellite_cert.pem \      
    1
    
       -k /root/sat_cert/satellite_cert_key.pem \  
    2
    
       -b /root/sat_cert/ca_cert_bundle.pem        
    3
    Copy to Clipboard Toggle word wrap
    1
    認証局により署名された Satellite Server 向けの証明書ファイル
    2
    証明書を署名するために使用する Satellite Server の秘密鍵
    3
    認証局バンドル

3.8.3. カスタム証明書パラメーターを使用した Satellite インストーラーの実行

この時点で SSL 証明書が作成され、Red Hat Satellite 6 で使用できることが確認されました。次の手順は、カスタム SSL 証明書を Satellite Server とそのすべてのホストにインストールすることです。

この手順は、Satellite Server がすでにインストールされているかどうかに応じて若干異なります。すでにインストールされている場合は、既存の証明書を証明書アーカイブ内の証明書に 更新する 必要があります。

このセクションのコマンドは 、katello-certs-check コマンドによって出力されます。詳細は、「Satellite Server の SSL 証明書の検証」、ターミナルにコピーして貼り付けることができます。

  1. 状況に応じて、satellite-installer コマンドを入力します。

    1. Satellite がすでにインストールされている場合は、Satellite サーバーで以下のコマンドを実行します。

      # satellite-installer --scenario satellite \
      --certs-server-cert /root/sat_cert/satellite_cert.pem \
      --certs-server-key /root/sat_cert/satellite_cert_key.pem \
      --certs-server-ca-cert /root/sat_cert/ca_cert_bundle.pem \
      --certs-update-server --certs-update-server-ca
      Copy to Clipboard Toggle word wrap

      このコマンドの重要なパラメーターには、サーバーの SSL 証明書と認証局を更新することを指定する --certs-update-server--certs-update-server-ca が含まれます。インストーラーのすべてのパラメーターの簡単な説明については、コマンド satellite-installer --scenario satellite --help を入力してください。

      注記

      satellite-installer コマンド内のすべてのファイルには、相対パス名ではなく、完全パス名を使用します。インストーラーはすべてのファイルのパスと名前を記録するため、別のディレクトリーからインストーラーを再度実行すると、元のファイルが見つからないため失敗する可能性があります。

    2. Satellite がまだインストールされて いない 場合は、Satellite サーバーで次のコマンドを入力します。

      # satellite-installer --scenario satellite \
      --certs-server-cert /root/sat_cert/satellite_cert.pem \
      --certs-server-key /root/sat_cert/satellite_cert_key.pem \
      --certs-server-ca-cert /root/sat_cert/ca_cert_bundle.pem
      Copy to Clipboard Toggle word wrap
      注記

      satellite-installer コマンド内のすべてのファイルには、相対パス名ではなく、完全パス名を使用します。インストーラーはすべてのファイルのパスと名前を記録するため、別のディレクトリーからインストーラーを再度実行すると、元のファイルが見つからないため失敗する可能性があります。

  2. 証明書をホストにインストールする前に、証明書が Satellite Server に正常にインストールされていることを確認します。Satellite Server へのネットワークアクセス権を持つコンピューターで Web ブラウザーを起動し、URL https://satellite.example.com に移動して証明書の詳細を表示します。

3.8.4. Satellite Server に接続されたすべてのホストへの新しい証明書のインストール

カスタム SSL 証明書が Satellite Server にインストールされたので、Satellite Server に登録されているすべてのホストにもインストールする必要があります。

BZ#1683835 が解決されるまで、katello-ca-consumer パッケージをアップグレードすることはできません。古いパッケージを削除して、新しいパッケージをインストールする必要があります。katello-ca-consumer パッケージのアップグレードは、rhsm.confbaseurl 設定が subscription.rhsm.redhat.com に戻されるため失敗します。

手順

該当するすべてのホストで次のコマンドを入力します。

  1. ホスト上の現在の katello-ca-consumer パッケージを削除します。

    # yum remove 'katello-ca-consumer*'
    Copy to Clipboard Toggle word wrap
  2. ホストにカスタム SSL 証明書をインストールします。

    # yum localinstall http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
    Copy to Clipboard Toggle word wrap

3.9. Satellite での外部データベースの使用

Red Hat Satellite のインストールプロセスの一環として、satellite-installer コマンドは、Satellite と同じサーバーに MongoDB および PostgreSQL データベースをインストールします。特定の Satellite デプロイメントでは、外部データベースを使用するとサーバーの負荷を軽減できます。ただし、Satellite Server のパフォーマンスに影響を与える可能性のある要因は多数あります。外部データベースに移動しても、特定の問題は解決されない可能性があります。

外部データベースに MongoDB と PostgreSQL のどちらのデータベースが使用できるか (または両方使用できるか) については、要件によって異なります。

Red Hat では、外部データベースのメンテナンスのサポートやそのためのツールは提供していません。これにはバックアップ、アップグレード、データベースのチューニングが含まれます。外部データベースを使用するお客様には、データベースをサポートおよび保守するための独自のデータベース管理者が必要です。

お使いの Satellite デプロイメントで外部データベースを必要とする場合は、以下の情報を使用して、Satellite から外部データベースに参照するように設定します。

3.9.1. 外部データベースとして MongoDB を使用する際の注意点

Pulp は MongoDB データベースを使用します。MongoDB を外部データベースとして使用する場合、次の情報はこのオプションが Satellite 設定に適しているかどうかを判断するのに役立ちます。

外部 MongoDB の利点

  • Satellite 上の空きメモリーと空き CPU が増えます。
  • Satellite 操作にマイナスの影響をもたらすことなく MongoDB サーバーのシステムを調整する柔軟性が得られます。

外部 MongoDB のマイナス点

  • デプロイメントの複雑性が増し、問題解決がより困難になります。
  • 外部 MongoDB サーバーの場合は、パッチおよびメンテナンス対象に新たなシステムが加わることになります。
  • Satellite または Mongo データベースサーバーのいずれかにハードウェアまたはストレージ障害が発生すると、Satellite が機能しなくなります。
  • Satellite と外部データベースサーバーの間でレイテンシーが発生すると、パフォーマンスに影響が出る可能性があります。

Mongo データベースが遅いと思われる場合は、Red Hat サポートに問い合わせてトラブルシューティングを行うことができます。Satellite 6 で設定上の問題または既存のパフォーマンス上の問題が発生している可能性があり、外部データベースサーバーに移行しても解決しない可能性があります。Red Hat サポートは、既存の既知の問題を調査し、Satellite エンジニアリングチームと協力して根本原因を特定することができます。

3.9.2. 外部データベースとして PostgreSQL を使用する際の注意点

Foreman、Katello、および Candlepin は PostgreSQL データベースを使用します。PostgreSQL を外部データベースとして使用する場合、次の情報はこのオプションが Satellite 設定に適しているかどうかを判断するのに役立ちます。

外部 PostgreSQL の利点

  • Satellite 上の空きメモリーと空き CPU が増えます。
  • PostgreSQL データベースで shared_buffers を高い値に設定しても、Satellite 上の他のサービスの妨げるリスクがありません。
  • Satellite 操作にマイナスの影響をもたらすことなく PostgreSQL サーバーのシステムを調整する柔軟性が得られます。

外部 PostgreSQL のマイナス点

  • デプロイメントの複雑性が増し、問題解決がより困難になります。
  • 外部 PostgreSQL サーバーの場合は、パッチおよびメンテナンス対象に新たなシステムが加わることになります。
  • Satellite または PostgreSQL データベースサーバーのいずれかにハードウェアまたはストレージ障害が発生すると、Satellite が機能しなくなります。
  • Satellite Server とデータベースサーバーの間でレイテンシーが発生すると、パフォーマンスに影響が出ます。

お使いの Satellite 上の PostgreSQL データベースが原因でパフォーマンスの低下が生じている可能性がある場合は、Satellite 6: How to enable postgres query logging to detect slow running queries を参照して時間のかかっているクエリーがあるかどうか判定します。1 秒以上かかるクエリーがある場合は、通常、大規模インストールのパフォーマンスが原因であることが多く、外部データベースに移行しても問題解決が期待できません。時間のかかっているクエリーがある場合は、Red Hat サポートチームまでお問い合わせください。

3.9.3. 概要

Satellite 用にリモートデータベースを作成して使用するには、以下の手順を実行します。

  1. 使用「ストレージの要件とガイドライン」外部データベースのストレージ要件を計画する
  2. PostgreSQL で Foreman および Candlepin 用のデータベースを準備し、Foreman と Candlepin の所有権を持つ専用ユーザーを作成します。
  3. pulp_database を所有する pulp ユーザーで MongoDB を準備します。
  4. 最初の手順に従い、Satellite をインストールし、データベースが Satellite からアクセスできることを確認します。
  5. 新しいデータベースを指すように satellite-installer のパラメーターを編集し、satellite-installer を実行します。

データベースをインストールするための Red Hat Enterprise Linux Server 7 の準備

最新の Red Hat Enterprise Linux Server 7 を搭載し、ストレージ要件を満たす新規にプロビジョニングされたシステムが必要です。「ストレージの要件とガイドライン」

Red Hat Software Collections および Red Hat Enterprise Linux のサブスクリプションでは、外部データベースと Satellite を併用する場合に、正しいサービスレベルアグリーメントが提供されません。外部データベースに使用するベースシステムに Satellite サブスクリプションを接続する必要もあります。

  1. Satellite サブスクリプションの識別とホストへの接続 の手順に従って、Satellite サブスクリプションをサーバーに接続します。
  2. MongoDB および PostgreSQL サーバーを Red Hat Enterprise Linux Server 7 にインストールするには、すべてのリポジトリーを無効にし、以下のリポジトリーのみを有効にする必要があります。

    # subscription-manager repos --disable '*'
    # subscription-manager repos --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-rpms
    Copy to Clipboard Toggle word wrap

3.9.4. MongoDB のインストール

インストール可能な MongoDB は、内部データベースのインストール中に satellite-installer ツールでインストールされたものと同じバージョンの MongoDB のみになります。MongoDB はサポート対象のバージョンであれば、Red Hat Software Collections (RHSCL) リポジトリーからまたは外部ソースからインストールすることが可能です。Satellite は MongoDB バージョン 3.4 をサポートしています。

  1. MongoDB をインストールするには、以下のコマンドを入力します。

    # yum install rh-mongodb34 rh-mongodb34-syspaths
    Copy to Clipboard Toggle word wrap
  2. rh-mongodb34 サービスを起動して有効にします。

    # systemctl start rh-mongodb34-mongod
    # systemctl enable rh-mongodb34-mongod
    Copy to Clipboard Toggle word wrap
  3. pulp_database データベース用に、MongoDB に Pulp ユーザーを作成します。

    # mongo pulp_database \
    --eval "db.createUser({user:'pulp',pwd:'pulp_password',roles:[{role:'dbOwner', db:'pulp_database'},{ role: 'readWrite', db: 'pulp_database'}]})"
    Copy to Clipboard Toggle word wrap
  4. /etc/opt/rh/rh-mongodb34/mongod.conf ファイルでバインド IP を指定します。

    bindIp: your_mongodb_server_bind_IP,::1
    Copy to Clipboard Toggle word wrap
  5. /etc/opt/rh/rh-mongodb34/mongod.conf ファイルを編集して security セクションの認証を有効にします。

    security:
      authorization: enabled
    Copy to Clipboard Toggle word wrap
  6. rh-mongodb34-mongod サービスを再起動します。

    # systemctl restart rh-mongodb34-mongod
    Copy to Clipboard Toggle word wrap
  7. MongoDB にポート 27017 を開きます。

    # firewall-cmd --add-port=27017/tcp
    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  8. Satellite Server から、データベースにアクセスできることをテストします。接続が成功すると、コマンドから 1 が返ります。

    # scl enable rh-mongodb34 " mongo --host mongo.example.com \
    -u pulp -p pulp_password --port 27017 --eval 'ping:1' pulp_database"
    Copy to Clipboard Toggle word wrap

3.9.5. PostgreSQL のインストール

インストール可能な PostgreSQL は、内部データベースのインストール中に satellite-installer ツールでインストールされたものと同じバージョンの PostgreSQL のみになります。Satellite は、Red Hat Enterprise Linux Server 7 リポジトリーを通じて利用可能な特定のバージョンの PostgreSQL のみをサポートします。バージョンがサポートされている限り、rhel-7-server-rpms リポジトリーまたは外部ソースを使用して PostgreSQL をインストールできます。サポートされているバージョンの PostgreSQL が含まれているリポジトリーと、サポートされているバージョンの詳細は、パッケージマニフェスト を参照してください。

  1. PostgreSQL をインストールするには、以下のコマンドを入力します。

    # yum install postgresql-server
    Copy to Clipboard Toggle word wrap
  2. PostgreSQL サービスを初期化して起動し、有効にするには、以下のコマンドを実行します。

    # postgresql-setup initdb
    # systemctl start postgresql
    # systemctl enable postgresql
    Copy to Clipboard Toggle word wrap
  3. /var/lib/pgsql/data/postgresql.conf ファイルで以下を行います。

    # vi /var/lib/pgsql/data/postgresql.conf
    Copy to Clipboard Toggle word wrap
  4. # を削除して、着信接続をリッスンするようにします。

    listen_addresses = '*'
    Copy to Clipboard Toggle word wrap
  5. /var/lib/pgsql/data/pg_hba.conf ファイルを編集します。

    # vi /var/lib/pgsql/data/pg_hba.conf
    Copy to Clipboard Toggle word wrap
  6. 以下の行をファイルに追加します。

      host  all   all   satellite_server_ip/24   md5
    Copy to Clipboard Toggle word wrap
  7. PostgreSQL サービスを再起動して、変更を適用します。

    # systemctl restart postgresql
    Copy to Clipboard Toggle word wrap
  8. 外部 PostgreSQL サーバーで postgresql ポートを開きます。

    # firewall-cmd --add-service=postgresql
    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  9. postgres ユーザーに切り替え、PostgreSQL クライアントを起動します。

    $ su - postgres -c psql
    Copy to Clipboard Toggle word wrap
  10. Satellite と Candlepin 用にそれぞれ、データベース、および専用ロールを作成します。

    CREATE USER "foreman" WITH PASSWORD 'Foreman_Password';
    CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password';
    CREATE DATABASE foreman OWNER foreman;
    CREATE DATABASE candlepin OWNER candlepin;
    Copy to Clipboard Toggle word wrap
  11. Satellite Server から、データベースにアクセスできることをテストします。接続に成功した場合には、コマンドは 1 を返します。

    # PGPASSWORD='Foreman_Password' psql -h postgres.example.com  -p 5432 -U foreman -d foreman -c "SELECT 1 as ping"
    # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping"
    Copy to Clipboard Toggle word wrap
  12. Satellite 用にリモートデータベースをインストールして設定するには以下のコマンドを入力します。

    satellite-installer --scenario satellite \
      --foreman-db-host postgres.example.com \
      --foreman-db-password Foreman_Password \
      --foreman-db-database foreman \
      --katello-candlepin-db-host postgres.example.com \
      --katello-candlepin-db-name candlepin \
      --katello-candlepin-db-password Candlepin_Password \
      --katello-candlepin-manage-db false \
      --katello-pulp-db-username pulp \
      --katello-pulp-db-password pulp_password \
      --katello-pulp-db-seeds mongo.example.com:27017 \
      --katello-pulp-db-name pulp_database
    Copy to Clipboard Toggle word wrap

データベースのステータスを照会できます。たとえば、--only を指定して次のコマンドを入力し、postgresql または rh-mongodb34-mongod を追加します。

PostgreSQL の場合は、以下のコマンドを実行します。

# foreman-maintain service status --only postgresql
Copy to Clipboard Toggle word wrap

MongoDB の場合は、以下のコマンドを実行します。

# foreman-maintain service status --only rh-mongodb34-mongod
Copy to Clipboard Toggle word wrap

3.10. mongod へのアクセスの制限

データ損失のリスクを軽減するには、MongoDB データベースデーモン mongod へのアクセスを apache ユーザーと root ユーザーのみに許可する必要があります。

次のコマンドを使用して、Satellite Server および Capsule Server 上の mongod へのアクセスを制限します。

  1. ファイヤーウォールを設定します。

    # firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 27017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 27017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p \
    tcp -m tcp --dport 27017 -j DROP \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p \
    tcp -m tcp --dport 27017 -j DROP \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 28017 -m owner --uid-owner apache -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 0 -o lo -p \
    tcp -m tcp --dport 28017 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd  --direct --add-rule ipv4 filter OUTPUT 1 -o lo -p \
    tcp -m tcp --dport 28017 -j DROP \
    && firewall-cmd  --direct --add-rule ipv6 filter OUTPUT 1 -o lo -p \
    tcp -m tcp --dport 28017 -j DROP
    Copy to Clipboard Toggle word wrap
  2. 変更を永続化します。

    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap

第4章 外部サービスの設定

一部の環境では、DNS、DHCP、および TFTP サービスがすでに存在するため、これらのサービスを提供するために Satellite Server を使用する必要はありません。DNS、DHCP、または TFTP を提供するために外部サーバーを使用する場合は、それらを Satellite Server で使用するように設定できます。

これらのサービスを手動で管理するために Satellite で無効にする場合は、詳細は 管理対象外ネットワークの DNS、DHCP、および TFTP の無効化を 参照してください。

4.1. 外部 DNS を使用した Satellite の設定

DNS サービスを提供するために Satellite が外部サーバーを使用するよう設定できます。

  1. Red Hat Enterprise Linux Server をデプロイし、ISC DNS サービスをインストールします。

    # yum install bind bind-utils
    Copy to Clipboard Toggle word wrap
  2. ドメインの設定ファイルを作成します。

    次の例では、ドメイン virtual.lan を 1 つのサブネット 192.168.38.0/24 として設定し、セキュリティーキーを Capsule に設定し、フォワーダーを Google のパブリック DNS アドレス (8.8.8.8 と 8.8.4.4) に設定します。192.168.38.2 は DNS サーバーの IP アドレスであり、192.168.38.1 は Satellite Server または Capsule Server の IP アドレスです。

    # cat /etc/named.conf
    include "/etc/rndc.key";
    
    controls  {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "capsule"; };
        inet 192.168.38.2 port 953 allow { 192.168.38.1; 192.168.38.2; } keys { "capsule"; };
    };
    
    options  {
        directory "/var/named";
        forwarders { 8.8.8.8; 8.8.4.4; };
    };
    
    include "/etc/named.rfc1912.zones";
    
    zone "38.168.192.in-addr.arpa" IN {
        type master;
        file "dynamic/38.168.192-rev";
        update-policy {
            grant "capsule" zonesub ANY;
        };
    };
    
    zone "virtual.lan" IN {
        type master;
        file "dynamic/virtual.lan";
        update-policy {
            grant "capsule" zonesub ANY;
        };
    };
    Copy to Clipboard Toggle word wrap

    inet 行は、設定ファイル内に 1 行として入力する必要があります。

  3. キーファイルを作成します。

    # ddns-confgen -k capsule
    Copy to Clipboard Toggle word wrap

    このコマンドが完了するまで、しばらく時間がかかることがあります。

  4. キーセクションの出力をコピーして、/etc/rndc.key という別のファイルに貼り付けます。

    # cat /etc/rndc.key
    key "capsule" {
            algorithm hmac-sha256;
            secret "GeBbgGoLedEAAwNQPtPh3zP56MJbkwM84UJDtaUS9mw=";
    };
    Copy to Clipboard Toggle word wrap
    重要

    これは、DNS サーバーの設定を変更するために使用されるキーです。読み取りと書き込みは root ユーザーのみが実行できます。

  5. ゾーンファイルを作成します。

    # cat /var/named/dynamic/virtual.lan
    $ORIGIN .
    $TTL 10800      ; 3 hours
    virtual.lan             IN SOA  service.virtual.lan. root.virtual.lan. (
                                    9          ; serial
                                    86400      ; refresh (1 day)
                                    3600       ; retry (1 hour)
                                    604800     ; expire (1 week)
                                    3600       ; minimum (1 hour)
                                    )
                            NS      service.virtual.lan.
    $ORIGIN virtual.lan.
    $TTL 86400      ; 1 day
    capsule                 A       192.168.38.1
    service                 A       192.168.38.2
    Copy to Clipboard Toggle word wrap
  6. 逆引きゾーンファイルを作成します。

    # cat /var/named/dynamic/38.168.192-rev
    $ORIGIN .
    $TTL 10800      ; 3 hours
    38.168.192.in-addr.arpa IN SOA  service.virtual.lan. root.38.168.192.in-addr.arpa. (
                                    4          ; serial
                                    86400      ; refresh (1 day)
                                    3600       ; retry (1 hour)
                                    604800     ; expire (1 week)
                                    3600       ; minimum (1 hour)
                                    )
                            NS      service.virtual.lan.
    $ORIGIN 38.168.192.in-addr.arpa.
    $TTL 86400      ; 1 day
    1                PTR     capsule.virtual.lan.
    2                PTR     service.virtual.lan.
    Copy to Clipboard Toggle word wrap

    ASCII 以外の他の文字は使用しないでください。

4.2. DNS サービスの開始と起動

  1. 構文を検証します。

    # named-checkconf -z /etc/named.conf
    Copy to Clipboard Toggle word wrap
  2. サービスを起動します。

    # systemctl restart named
    Copy to Clipboard Toggle word wrap
  3. 新しいホストを追加します。

    次の例では、ホスト 192.168.38.2 を使用します。環境に合わせてこれを変更する必要があります。

    # echo -e "server 192.168.38.2\n \
    update add aaa.virtual.lan 3600 IN A 192.168.38.10\n \
    send\n" | nsupdate -k /etc/rndc.key
    Copy to Clipboard Toggle word wrap
  4. DNS サービスが新しいホストを解決できることを確認します。

    # nslookup aaa.virtual.lan 192.168.38.2
    Copy to Clipboard Toggle word wrap
  5. 必要な場合は、新しいエントリーを削除します。

    # echo -e "server 192.168.38.2\n \
    update delete aaa.virtual.lan 3600 IN A 192.168.38.10\n \
    send\n" | nsupdate -k /etc/rndc.key
    Copy to Clipboard Toggle word wrap
  6. DNS サービスへの外部アクセスのためにファイアウォールを設定します (ポート 53 上の UDP および TCP)。

    # firewall-cmd --add-port="53/udp" --add-port="53/tcp" \
    && firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap

4.3. Satellite Server での外部 DHCP の設定

本セクションでは、 Red Hat Satellite Server が外部 DHCP サーバーをを使用する設定について説明します。

DHCP サーバーの設定、DHCP 設定およびリースファイルの共有

  1. Red Hat Enterprise Linux Server をデプロイし、ISC DHCP サービスおよび BIND (Berkeley Internet Name Domain) をインストールします。

    # yum install dhcp bind
    Copy to Clipboard Toggle word wrap
  2. 空のディレクトリーでセキュリティートークンを生成します。

    # dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
    Copy to Clipboard Toggle word wrap

    上記のコマンドが完了するまで、しばらく時間がかかることがあります。安全性が高くない概念実証のデプロイメントでは、非ブロック型乱数ジェネレーターを使用できます。

    # dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST omapi_key
    Copy to Clipboard Toggle word wrap

    これにより、キーペアが現行ディレクトリーに 2 つのファイルで作成されます。

  3. キーからシークレットハッシュをコピーします。

    # cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
    Copy to Clipboard Toggle word wrap
  4. すべてのサブネットの dhcpd 設定ファイルを編集し、例のようにキーを追加します。

    # cat /etc/dhcp/dhcpd.conf
    default-lease-time 604800;
    max-lease-time 2592000;
    log-facility local7;
    
    subnet 192.168.38.0 netmask 255.255.255.0 {
    	range 192.168.38.10 192.168.38.100;
    	option routers 192.168.38.1;
    	option subnet-mask 255.255.255.0;
    	option domain-search "virtual.lan";
    	option domain-name "virtual.lan";
    	option domain-name-servers 8.8.8.8;
    }
    
    omapi-port 7911;
    key omapi_key {
    	algorithm HMAC-MD5;
    	secret "jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw==";
    };
    omapi-key omapi_key;
    Copy to Clipboard Toggle word wrap
  5. 2 つのキーファイルを、それらを作成したディレクトリーから削除します。
  6. Satellite Server で各サブネットを定義します。

    競合を防ぐために、リース範囲と予約範囲を別々に設定することを推奨します。たとえば、リース範囲は 192.168.38.10 - 192.168.38.100 なので、予約範囲 (Satellite Web UI で定義) は 192.168.38.101 - 192.168.38.250 になります。定義済みのサブネットに DHCP Capsule は設定しないでください。

  7. ファイアウォールで DHCP サーバーへの外部アクセスを設定します。

    # firewall-cmd --add-service dhcp \
    && firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  8. Satellite Server の foreman ユーザーの UID 番号と GID 番号を確認します。

    # id -u foreman
    993
    # id -g foreman
    990
    Copy to Clipboard Toggle word wrap
  9. ユーザー ID とグループ ID が同じユーザーとグループを、DHCP サーバーに作成します。

    # groupadd -g 990 foreman
    # useradd -u 993 -g 990 -s /sbin/nologin foreman
    Copy to Clipboard Toggle word wrap
  10. 設定ファイルを読み取り可能にするために、読み取りおよび実行フラグを復元します。

    # chmod o+rx /etc/dhcp/
    # chmod o+r /etc/dhcp/dhcpd.conf
    # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
    Copy to Clipboard Toggle word wrap
  11. DHCP サービスを起動します。

    # systemctl start dhcpd
    Copy to Clipboard Toggle word wrap
  12. NFS を使用して DHCP 設定およびリースファイルをエクスポートします。

    # yum install nfs-utils
    # systemctl enable rpcbind nfs-server
    # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
    Copy to Clipboard Toggle word wrap
  13. NFS を使用して、エクスポートする DHCP 設定およびリースファイルを作成します。

    # mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
    Copy to Clipboard Toggle word wrap
  14. 新しく作成されたディレクトリーのマウントポイントを作成するには、/etc/fstab ファイルに次の行を追加します。

    /var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0
    /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
    Copy to Clipboard Toggle word wrap
  15. /etc/fstab 内のファイルシステムをマウントします。

    # mount -a
    Copy to Clipboard Toggle word wrap
  16. /etc/exports に以下の行が存在することを確認します。

    /exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
    
    /exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
    
    /exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
    Copy to Clipboard Toggle word wrap
  17. NFS サーバーをリロードします。

    # exportfs -rva
    Copy to Clipboard Toggle word wrap
  18. ファイアウォールで Satellite Server 向けの DHCP omapi ポート 7911 を設定します。

    # firewall-cmd --add-port="7911/tcp" \
    && firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap
  19. 必要な場合は、ファイアウォールで NFS への外部アクセスを設定します。

    クライアントは NFSv3 を使用して設定します。

    • ファイアウォールを設定するには、firewalld デーモンの NFS サービスを使用します。

      # firewall-cmd --zone public --add-service mountd \
      && firewall-cmd --zone public --add-service rpc-bind \
      && firewall-cmd --zone public --add-service nfs \
      && firewall-cmd --runtime-to-permanent
      Copy to Clipboard Toggle word wrap

Satellite Server の設定

  1. NFS クライアントをインストールします。

    # yum install nfs-utils
    Copy to Clipboard Toggle word wrap
  2. NFS 用の DHCP ディレクトリーを作成します。

    # mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
    Copy to Clipboard Toggle word wrap
  3. ファイルの所有者を変更します。

    # chown -R foreman-proxy /mnt/nfs
    Copy to Clipboard Toggle word wrap
  4. NFS サーバーとの通信と RPC 通信パスを検証します。

    # showmount -e your_DHCP_server_FQDN
    # rpcinfo -p your_DHCP_server_FQDN
    Copy to Clipboard Toggle word wrap
  5. /etc/fstab ファイルに以下の行を追加します。

    your_DHCP_server_FQDN:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
    
    your_DHCP_server_FQDN:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
    Copy to Clipboard Toggle word wrap
  6. /etc/fstab にファイルシステムをマウントします。

    # mount -a
    Copy to Clipboard Toggle word wrap
  7. 関連するファイルを読み取ります。

    # su foreman-proxy -s /bin/bash
    bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf
    bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases
    bash-4.2$ exit
    Copy to Clipboard Toggle word wrap
  8. satellite-installer スクリプトを実行して、/etc/foreman -proxy/settings.d/dhcp.yml ファイルに次の永続的な変更を加えます。

    # satellite-installer --foreman-proxy-dhcp=true \
    --foreman-proxy-dhcp-provider=remote_isc \
    --foreman-proxy-plugin-dhcp-remote-isc-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf \
    --foreman-proxy-plugin-dhcp-remote-isc-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases \
    --foreman-proxy-plugin-dhcp-remote-isc-key-name=omapi_key \
    --foreman-proxy-plugin-dhcp-remote-isc-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw== \
    --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911 \
    --enable-foreman-proxy-plugin-dhcp-remote-isc \
    --foreman-proxy-dhcp-server=your_DHCP_server_FQDN
    Copy to Clipboard Toggle word wrap
  9. foreman-proxy サービスを再起動します。

    # systemctl restart foreman-proxy
    Copy to Clipboard Toggle word wrap
  10. Satellite Server Web UI にログインします。
  11. インフラストラクチャー > カプセル に移動します。適切な Capsule Server を見つけて、アクション ドロップダウンリストから 更新 を選択します。DHCP 機能が表示されます。
  12. DHCP サービスに適切なサブネットとドメインを関連付けます。

4.4. 外部 TFTP での Satellite Server の設定

この手順を使用して、外部の TFTP サービスを使用して Satellite Server を設定します。

NAT 経由で TFTP サービスを使用できます。詳細は、プロビジョニング ガイドの NAT 経由の TFTP サービスの使用を 参照してください。

作業開始前の準備

Satellite Server での外部 TFTP の設定

  1. TFTP サーバーをインストールし、有効にします。

    # yum install tftp-server syslinux
    Copy to Clipboard Toggle word wrap
  2. tftp.socket ユニットを有効にしてアクティブ化します。

    # systemctl enable tftp.socket
    # systemctl start tftp.socket
    Copy to Clipboard Toggle word wrap
  3. PXELinux 環境を設定します。

    # mkdir -p /var/lib/tftpboot/{boot,pxelinux.cfg,grub2}
    # cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} \
    /var/lib/tftpboot/
    Copy to Clipboard Toggle word wrap
  4. SELinux ファイルコンテキストを復元します。

    # restorecon -RvF /var/lib/tftpboot/
    Copy to Clipboard Toggle word wrap
  5. NFS を使用してエクスポートする TFTP ディレクトリーを作成します。

    # mkdir -p /exports/var/lib/tftpboot
    Copy to Clipboard Toggle word wrap
  6. 新しく作成されたマウントポイントを /etc/fstab ファイルに追加します。

    /var/lib/tftpboot /exports/var/lib/tftpboot none bind,auto 0 0
    Copy to Clipboard Toggle word wrap
  7. /etc/fstab 内のファイルシステムをマウントします。

    # mount -a
    Copy to Clipboard Toggle word wrap
  8. /etc/exports に以下の行があることを確認します。

    /exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
    Copy to Clipboard Toggle word wrap
    /exports/var/lib/tftpboot 192.168.38.1(rw,async,no_root_squash,no_subtree_check,nohide)
    Copy to Clipboard Toggle word wrap

    最初の行は DHCP 設定に共通で、このシステムで以前の手順を完了すると作成されます。

  9. NFS サーバーをリロードします。

    # exportfs -rva
    Copy to Clipboard Toggle word wrap

4.4.1. TFTP に外部アクセスできるようにファイアウォールを設定する手順

  1. ファイアウォールを設定します (ポート 69 上の UDP)。

    # firewall-cmd --add-port="69/udp" \
    && firewall-cmd --runtime-to-permanent
    Copy to Clipboard Toggle word wrap

4.5. Satellite または Capsule での外部 IdM DNS の設定

Red Hat Satellite は、Red Hat Identity Management (IdM) サーバーを使用して DNS サービスを提供するように設定できます。ここでは、トランザクションキーを使用する、これを実現するための 2 つの方法について説明します。Red Hat Identity Management の詳細は、Linux ドメインアイデンティティー、認証、およびポリシーガイド を参照してください。

最初の方法は、RFC3645 で定義されている シークレットキートランザクションの汎用セキュリティーサービスアルゴリズム (GSS-TSIG) テクノロジーを使用してプロセスを自動化する IdM クライアントをインストールすることです。この方法では、Satellite Server または Capsule のベースシステムに IdM クライアントをインストールし、Satellite 管理者が使用するために IdM サーバー管理者によってアカウントが作成されている必要があります。見る「GSS-TSIG 認証を使用した動的 DNS 更新の設定」この方法を使用します。

2 番目の方法で ある DNS のシークレットキートランザクション認証 (TSIG) では、認証に rndc.key を使用します。バインド設定ファイルを編集し、Satellite Server のベースシステムに バインド ユーティリティーをインストールし、システム間で rndc.key を コピーするには、IdM サーバーへのルートアクセスが必要です。この技術は RFC2845 で定義されています。見る「TSIG 認証を使用した動的 DNS 更新の設定」この方法を使用します。

注記

DNS を管理するために Satellite を使用する必要はありません。プロビジョニングされたホストが IdM に自動的に登録される Satellite のレルム登録機能を使用している場合は、ipa-client-install スクリプトによってクライアントの DNS レコードが作成されます。したがって、次の手順とレルム登録は相互に排他的になります。レルム登録の設定に関する詳細は、Red Hat Satellite の管理プロビジョニングされたホストの外部認証を 参照してください。

IdM クライアントのインストール先

Satellite Server がホストの DNS レコードを追加する場合、まずどの Capsule がそのドメインに DNS を提供しているかを判断します。次に、Capsule と通信してレコードを追加します。ホスト自体はこのプロセスには関与しません。つまり、IdM サーバーを使用して管理するドメインに DNS サービスを提供するように現在設定されている Satellite または Capsule に IdM クライアントをインストールして設定する必要があります。

4.5.1. GSS-TSIG 認証を使用した動的 DNS 更新の設定

この例では、Satellite Server の設定は以下のようになります。

Expand

ホスト名

衛星.example.com

ネットワーク

192.168.55.0/24

IdM サーバーの設定は以下のようになります。

Expand

ホスト名

idm1.example.com

ドメイン名

example.com

作業開始前の準備

  1. IdM サーバーがデプロイされ、ホストベースのファイアウォールが正しく設定されていることを確認します。詳細はLinux ドメイン ID、認証、およびポリシーガイドポート要件 を参照してください。
  2. IdM サーバーに、IdM サーバーにゾーンを作成するパーミッションのあるアカウントを作成します。
  3. Satellite または外部 Capsule がドメインの DNS を管理していることを確認します。
  4. Satellite または外部 Capsule が正常に機能していることを確認します。
  5. 新しくインストールしたシステムの場合は、まずこのガイドのインストール手順を完了してください。特に、DNS と DHCP の設定が完了している必要があります。
  6. 変更を元に戻す必要がある場合に備えて、応答ファイルのバックアップを作成してください。詳細は、インストールオプションの指定を 参照してください。

IdM サーバー上で Kerberos プリンシパルの作成

  1. Kerberos チケットがあることを確認します。

    # kinit idm_user
    Copy to Clipboard Toggle word wrap

    ここで、idm_user は IdM 管理者によって作成されたアカウントです。

  2. IdM サーバーに認証する際に使用する Satellite または Capsule 用の新規 Kerberos プリンシパルを作成します。

    # ipa service-add capsule/satellite.example.com
    Copy to Clipboard Toggle word wrap

IdM クライアントのインストールと設定

以下の手順は、ドメインの DNS サービスを管理している Satellite または Capsule サーバーで行います。

  1. IdM クライアントパッケージをインストールします。

    # yum install ipa-client
    Copy to Clipboard Toggle word wrap
  2. インストールスクリプトとそれに続くプロンプトを実行して、IdM クライアントを設定します。

    # ipa-client-install
    Copy to Clipboard Toggle word wrap
  3. Kerberos チケットがあることを確認します。

    # kinit admin
    Copy to Clipboard Toggle word wrap
  4. 既存の keytab を削除します。

    # rm /etc/foreman-proxy/dns.keytab
    Copy to Clipboard Toggle word wrap
  5. このシステム用に作成された keytab を取得します。

    # ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \
    -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
    Copy to Clipboard Toggle word wrap
    注記

    サービス中の元のシステムと同じホスト名を持つスタンバイシステムに keytab を追加する際には、r オプションを追加します。これにより、新規の認証情報が生成されることを防ぎ、元のシステムの認証情報が無効になります。

  6. 次のように、keytab ファイルのグループと所有者を foreman-proxy に設定します。

    # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
    Copy to Clipboard Toggle word wrap
  7. 必要に応じて、keytab が有効か確認します。

    # kinit -kt /etc/foreman-proxy/dns.keytab \
    capsule/satellite.example.com@EXAMPLE.COM
    Copy to Clipboard Toggle word wrap

IdM Web UI での DNS ゾーンの設定

  1. 管理するゾーンを作成して、設定します。

    1. Network Services > DNS > DNS Zones に移動します。
    2. Add を選択し、ゾーン名を入力します。この例では、example.com です
    3. Add and Edit をクリックします。
    4. [設定] タブの [バインド更新ポリシー] ボックスで、セミコロンで区切られたリストに次のエントリーを追加します。

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
      Copy to Clipboard Toggle word wrap
    5. 動的更新True に設定されていることを確認します。
    6. Allow PTR sync を有効にします。
    7. 変更を保存するには、[保存] を選択します。
  2. 逆引きゾーンを作成、設定します。

    1. Network Services > DNS > DNS Zones に移動します。
    2. Add を選択します。
    3. Reverse zone IP network を選択して、CIDR 形式でネットワークアドレスを追加し、逆引き参照を有効にします。
    4. Add and Edit をクリックします。
    5. [設定] タブの [バインド更新ポリシー] ボックスで、セミコロンで区切られたリストに次のエントリーを追加します。

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
      Copy to Clipboard Toggle word wrap
    6. 動的更新True に設定されていることを確認します。
    7. 変更を保存するには、[保存] を選択します。

ドメインの DNS サービスを管理する Satellite または Capsule Server の設定

  • Satellite Server のベースシステムでは、以下を実行します。

    satellite-installer --scenario satellite \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=true \
    --foreman-proxy-dns-provider=nsupdate_gss \
    --foreman-proxy-dns-server="idm1.example.com" \
    --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \
    --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \
    --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \
    --foreman-proxy-dns-zone=example.com \
    --foreman-proxy-dns-ttl=86400
    Copy to Clipboard Toggle word wrap
  • Capsule Server のベースシステムでは、以下を実行します。

    satellite-installer --scenario capsule \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=true \
    --foreman-proxy-dns-provider=nsupdate_gss \
    --foreman-proxy-dns-server="idm1.example.com" \
    --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \
    --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \
    --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \
    --foreman-proxy-dns-zone=example.com \
    --foreman-proxy-dns-ttl=86400
    Copy to Clipboard Toggle word wrap

Satellite または Capsule のプロキシーサービスを再起動します。

# systemctl restart foreman-proxy
Copy to Clipboard Toggle word wrap

Satellite Web UI での設定更新

インストールスクリプトを実行して Capsule に変更を加えた後に、Satellite が該当する各 Capsule の設定をスキャンするようにします。

  1. Infrastructure > Capsules に移動します。
  2. 更新する各 Capsule について、アクション ドロップダウンメニューから 更新を 選択します。
  3. ドメインを設定します。

    1. インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
    2. Domain タブで、DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
  4. サブネットを設定します。

    1. [インフラストラクチャー] > [サブネット] に移動し、サブネット名を選択します。
    2. [サブネット] タブで、IPAM を[なし] に設定します。
    3. [ドメイン] タブで、IdM サーバーによって管理されるドメインが選択されていることを確認します。
    4. Capsules タブで、Reverse DNS Capsule が サブネットが接続されている Capsule に設定されていることを確認します。
    5. Submit をクリックして変更を保存します。

4.5.2. TSIG 認証を使用した動的 DNS 更新の設定

この例では、Satellite Server の設定は以下のようになります。

Expand

IP アドレス

192.168.25.1

ホスト名

衛星.example.com

IdM サーバーの設定は以下のようになります。

Expand

ホスト名

idm1.example.com

IP アドレス

192.168.25.2

ドメイン名

example.com

作業開始前の準備

  1. IdM サーバーがデプロイされ、ホストベースのファイアウォールが正しく設定されていることを確認します。詳細はLinux ドメイン ID、認証、およびポリシーガイドポート要件 を参照してください。
  2. IdM サーバー上で root ユーザー特権を取得します。
  3. Satellite または外部 Capsule がドメインの DNS を管理していることを確認します。
  4. Satellite または外部 Capsule が正常に機能していることを確認します。
  5. 新しくインストールしたシステムの場合は、まずこのガイドのインストール手順を完了してください。特に、DNS と DHCP の設定が完了している必要があります。
  6. 変更を元に戻す必要がある場合に備えて、応答ファイルのバックアップを作成してください。詳細は、インストールオプションの指定を 参照してください。

IdM サーバーの DNS ゾーンに対する外部更新の有効化

  1. IdM サーバーで、/etc/named.conf ファイルの先頭に次の行を追加します。

    // This was added to allow Satellite Server at 192.168.25.1 to make DNS updates.
    ########################################################################
    include "/etc/rndc.key";
    controls  {
    inet 192.168.25.2 port 953 allow { 192.168.25.1; } keys { "rndc-key"; };
    };
    ########################################################################
    Copy to Clipboard Toggle word wrap
  2. 変更を有効にするには、named を再ロードします。

    # systemctl reload named
    Copy to Clipboard Toggle word wrap
  3. IdM Web UI で、[ネットワークサービス] > [DNS] > [DNS ゾーン] に移動します。ゾーンの名前を選択します。[設定] タブで次の操作を行います。

    1. バインド更新ポリシー ボックスに次の内容を追加します。

      grant "rndc-key" zonesub ANY;
      Copy to Clipboard Toggle word wrap
    2. 動的更新True に設定されていることを確認します。
    3. Update をクリックして変更を保存します。
  4. 次のように 、/etc/ rndc.key ファイルを IdM サーバーから Satellite のベースシステムにコピーします。

    # scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
    Copy to Clipboard Toggle word wrap
  5. 所有者、パーミッション、SELinux コンテキストが正しいことを確認します。

    # restorecon -v /etc/rndc.key
    # chown -v root:named /etc/rndc.key
    # chmod -v 640 /etc/rndc.key
    Copy to Clipboard Toggle word wrap
  6. Satellite Server で以下のようにインストールスクリプトを実行し、外部 DNS サーバーを使用します。

    # satellite-installer --scenario satellite \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=false \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="192.168.25.2" \
    --foreman-proxy-keyfile=/etc/rndc.key \
    --foreman-proxy-dns-ttl=86400
    Copy to Clipboard Toggle word wrap

IdM サーバーの DNS ゾーンに対する外部更新のテスト

  1. nsupdate を使用してテストするために バインド -utils をインストールします。

    # yum install bind-utils
    Copy to Clipboard Toggle word wrap
  2. Satellite Server の /etc/rndc.key ファイル内のキーが IdM サーバーで使用されているキーと同じであることを確認します。

    key "rndc-key" {
            algorithm hmac-md5;
            secret "secret-key==";
    };
    Copy to Clipboard Toggle word wrap
  3. Satellite Server で、ホストのテスト DNS エントリーを作成します。(例: 192.168.25.1 の IdM サーバーに、192.168.25.20 の A レコードを指定した test.example.com ホストなど)

    # echo -e "server 192.168.25.1\n \
    update add test.example.com 3600 IN A 192.168.25.20\n \
    send\n" | nsupdate -k /etc/rndc.key
    Copy to Clipboard Toggle word wrap
  4. Satellite Server で、DNS エントリーをテストします。

    # nslookup test.example.com 192.168.25.1
    Server:		192.168.25.1
    Address:	192.168.25.1#53
    
    Name:	test.example.com
    Address: 192.168.25.20
    Copy to Clipboard Toggle word wrap
  5. IdM Web UI でエントリーを表示するには、[ネットワークサービス] > [DNS] > [DNS ゾーン] に移動します。ゾーンの名前を選択し、名前でホストを検索します。
  6. 正常に解決されたら、テスト DNS エントリーを削除します。

    # echo -e "server 192.168.25.1\n \
    update delete test.example.com 3600 IN A 192.168.25.20\n \
    send\n" | nsupdate -k /etc/rndc.key
    Copy to Clipboard Toggle word wrap
  7. DNS エントリーが削除されたことを確認します。

    # nslookup test.example.com 192.168.25.1
    Copy to Clipboard Toggle word wrap

    上記の nslookup コマンドは、レコードが正常に削除された場合は失敗し、SERVFAIL エラーメッセージを出力します。

4.5.3. 内部 DNS サービス使用への復元

Satellite Server と Capsule Server を DNS プロバイダーとして使用するように戻すには、以下の手順に従います。

ドメインの DNS を管理する Satellite または Capsule Server

  • 外部 DNS への変更前に応答ファイルをバックアップした場合は、応答ファイルを復元して、インストールスクリプトを実行します。

    # satellite-installer
    Copy to Clipboard Toggle word wrap
  • 応答ファイルのバックアップがない場合は、現行の応答ファイルでバックアップを作成し、以下にあるように Satellite および Capsules でインストールスクリプトを実行します。

    応答ファイルの詳細は、インストールオプションの指定を 参照してください。

応答ファイルを使用せずに Satellite または Capsule を DNS サーバーとして設定

# satellite-installer \
--foreman-proxy-dns=true \
--foreman-proxy-dns-managed=true \
--foreman-proxy-dns-provider=nsupdate \
--foreman-proxy-dns-server="127.0.0.1"  \
--foreman-proxy-dns-tsig-principal="foremanproxy/satellite.example.com@EXAMPLE.COM" \
--foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab
Copy to Clipboard Toggle word wrap

詳細は 、Capsule Server での DNS、DHCP、および TFTP の設定を 参照してください。

Satellite Web UI での設定更新

インストールスクリプトを実行して Capsule に変更を加えた後に、Satellite が該当する各 Capsule の設定をスキャンするようにします。

  1. Infrastructure > Capsules に移動します。
  2. 更新する各 Capsule について、アクション ドロップダウンメニューから 更新を 選択します。
  3. ドメインを設定します。

    1. インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
    2. Domain タブで、DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
  4. サブネットを設定します。

    1. [インフラストラクチャー] > [サブネット] に移動し、サブネット名を選択します。
    2. [サブネット] タブで、IPAM をDHCP または 内部 DB に設定します。
    3. ドメイン タブで、Satellite または Capsule によって管理されるドメインが選択されていることを確認します。
    4. Capsules タブで、Reverse DNS Capsule が サブネットが接続されている Capsule に設定されていることを確認します。
    5. Submit をクリックして変更を保存します。

第5章 Satellite Server のアンインストール

Satellite Server または Capsule Server は、不要になったらアンインストールできます。

Satellite Server をアンインストールすると、ターゲットシステムで使用されているすべてのアプリケーションが消去されます。Satellite Server 以外の目的でアプリケーションまたはアプリケーションデータを使用する場合は、削除プロセスの前に情報をバックアップする必要があります。

作業開始前の準備

katello-remove スクリプトは 2 つの警告を発行し、システム内のすべてのパッケージと設定ファイルを削除する前に確認を求めます。

警告

このスクリプトは、以下の重要なパッケージを含む、多くのパッケージおよび設定ファイルを削除します。

  • httpd (apache)
  • mongodb
  • tomcat
  • puppet
  • Ruby
  • rubygems
  • すべての Katello および Foreman パッケージ

Satellite Server のアンインストール

  1. Satellite Server をアンインストールします。

    # katello-remove
    Copy to Clipboard Toggle word wrap

第6章 Amazon Web Services 上での Red Hat Satellite の実行

本章では、Red Hat Satellite Server および Capsules を Amazon Web Services (AWS) Elastic Compute Cloud (Amazon EC2) にインストールする準備について説明します。

デプロイメントシナリオ セクションを使用して、AWS での Satellite および Capsule のインストールに使用できるさまざまなアーキテクチャー設定を理解します。

前提条件 セクションを使用して、Red Hat Satellite のインストール用に Red Hat および Amazon Web リソースを準備します。

サブスクリプション

すべてのサブスクリプションがパブリッククラウド環境で実行できるわけではありません。サブスクリプションの資格の詳細は、クラウドアクセスページ を参照してください。新たな組織を作成して、その組織に新たなマニフェストをインポートすることもできます。詳細は、コンテンツ管理ガイド組織の作成を 参照してください。

6.1. ユースケースにおける留意点

Amazon Web Services はイメージのみのサービスであるため、Satellite のユースケースによっては、Amazon Web Services 環境では動作しない、または追加設定が必要な場合があります。Amazon Web Services で Satellite を使用する予定がある場合は、使用するユースケースのシナリオが Amazon Web Services 環境で利用可能であることを確認してください。

6.1.1. 機能するユースケース

以下の Red Hat Satellite ユースケースは、AWS で機能することがわかっています。

マルチホームの Satellite および Capsule

Satellite で異なるホスト名を持つ複数のインターフェイスを使用する場合は、Satellite Server および Satellite Capsule Server CA 証明書の追加設定を実行する必要があります。この設定で Satellite をデプロイする場合は、Red Hat にお問い合わせください。

Satellite Server または Capsule Server の内部および外部 DNS ホスト名が異り、かつ Satellite Server と Capsule Server を配置するロケーション間にサイト間 VPN 接続がない場合は、この設定を実行する必要があります。

オンデマンドのコンテンツソース

オンデマンド ダウンロードポリシーを使用すると、Satellite を実行する Red Hat Enterprise Linux サーバーのストレージフットプリントを削減できます。ダウンロードポリシーを On Demand に設定すると、コンテンツホストが要求したときにコンテンツが Satellite Server または Capsule Server に同期されます。

詳細は、コンテンツ管理ガイドRed Hat コンテンツのインポートを 参照してください。

6.1.2. 機能しないユースケース

AWS では、DHCP を管理できません。このため、Satellite Server のキックスタートおよび PXE プロビジョニングモデルのほとんどは使用できなくなります。ここでは、以下の点を説明します。

  • PXE プロビジョニング
  • 検出および検出ルール
  • ISO プロビジョニングメソッド

    • PXE-Less Discovery (iPXE) (PXE を使用しない検出)
    • Per-host ISO
    • Generic ISO
    • Full-host ISO

6.2. デプロイメントシナリオ

Amazon Web Services では、以下の 3 つの Red Hat Satellite デプロイメントシナリオがあります。

  1. 単一領域設定
  2. オンプレミスと AWS リージョンの接続
  3. 異なるリージョンの接続

シナリオ 1: 単一領域設定

aws image1

Amazon Web Services における最もシンプルな Satellite Server 設定は、Satellite Server とコンテンツホストの両方が同一領域内でかつ仮想プライベートクラウド (VPC) 内にあるという設定です。

別のアベイラビリティーゾーンを使用することもできます。

シナリオ 2: オンプレミスと AWS リージョンの接続

この場合は、オンプレミスのロケーションと Capsule を設置する AWS 領域の間に VPN 接続を作成します。

Capsule Server を実行するインスタンスを登録すれば、Satellite Server の外部のホスト名を使用することも可能です。

オプション 1: AWS リージョンとオンプレミスデータセンターをつなぐサイト間 VPN 接続

aws image2

オプション 2: 外部 DNS ホスト名を使用した直接接続

aws image3

シナリオ 3: 異なるリージョンの接続

この場合は、別の領域をつなぐサイト間 VPN 接続を作成し、Capsule Server を実行するインスタンスを Satellite Server に登録する際に、内部 DNS ホスト名を使用できるようにします。

サイト間 VPN 接続を確立しない場合には、Capsule Server を実行するインスタンスを Satellite Server に登録する際に、外部 DNS ホスト名を使用します。

注記

ほとんどのパブリッククラウドプロバイダーでは、リージョンへのデータ転送や、単一リージョン内のアベイラビリティーゾーン間でのテータ転送には課金されませんが、リージョンからインターネットへのデータ転送には課金されます。

オプション 1: AWS 領域間をつなぐサイト間 VPN 接続

aws image4

オプション 2: 外部 DNS ホスト名を使用した直接接続

aws image5

6.3. 前提条件

Red Hat Satellite および Capsule のインストールと登録前には、Amazon Web Services (AWS) でアカウントを設定し、AWS 上で Red Hat Enterprise Linux インスタンスを作成して起動する必要がある。

6.3.1. Amazon Web Service の前提条件

このガイドを使用するには、Amazon Web Services の次の側面に関する実践的な知識が必要です。

  • AWS での Red Hat Enterprise Linux イメージの作成とアクセス。
  • AWS セキュリティーにおけるネットワークアクセスの編集。
  • EC2 インスタンスの作成と EBS ボリュームの作成。
  • インスタンスの開始。
  • AWS での仮想マシンのインポートおよびエクスポート。
  • AWS Direct Connect の使用。

AWS 環境に Satellite と Capsule をインストールするには、AWS の設定が以下の要件を満たしていることを確認する必要があります。「システム要件」Satellite および Capsule 用。

Amazon Web Services と関連用語の詳細は、Amazon Elastic Compute Cloud ドキュメント を参照してください。

Amazon Web Services Direct Connect の詳細は、What is AWS Direct Connect? を参照してください。

6.3.2. Red Hat Cloud の前提条件

このガイドを使用するには、次の手順を完了する必要があります。

  • Red Hat Cloud Access での登録。
  • 使用する Red Hat サブスクリプションの移行。
  • AWS インスタンスを作成し、Red Hat Enterprise Linux 仮想マシンをそのインスタンスにデプロイすること。
  • お使いのサブスクリプションが Red Hat Cloud に移行可能であることを確認。詳細は Red Hat Cloud Access プログラムの詳細 を参照してください。

Red Hat Enterprise Linux の AWS でのデプロイに関する情報は、How to Locate Red Hat Cloud Access Gold Images on AWS EC2 を参照してください。

6.3.3. Red Hat Satellite 固有の前提条件

  • Amazon EC2 インスタンスタイプがシステム要件とストレージ要件を満たしているか、それを超えていることを確認します。1章インストールのための環境準備。最高のパフォーマンスを得るには、AWS Storage Optimized インスタンスを使用してください。
  • 使用1章インストールのための環境準備AWS EBS ボリュームに適切なストレージを理解して割り当てます。
  • ブートボリュームとは別の EBS ボリューム上に同期コンテンツを保存する。
  • 同期した EBS ボリュームをオペレーティングシステム内で個別にマウントする。
  • オプションで、mongodb ディレクトリーなどの他のデータを別個の EBS ボリュームに保存する。
  • Satellite Server と Capsule Server が外部 DNS ホスト名を使用して通信するには、インスタンスに関連付けられた AWS セキュリティーグループで、通信用に必要なポートを開く。

6.3.4. Red Hat Satellite のインストール準備

お使いの AWS 環境で、以下の手順を実行します。

  1. Red Hat Enterprise Linux AMI の EC2 インスタンスを起動します。
  2. 新規作成のインスタンスに接続します。

Red Hat Gold Image を使用している場合は、以下のように RHUI クライアントを削除して、product-id.confenabled パラメーターを 1 に設定します。

# yum -y remove rh-amazon-rhui-client*
# yum clean all
# cat << EOF > /etc/yum/pluginconf.d/product-id.conf
> [main]
> enabled=1
> EOF
Copy to Clipboard Toggle word wrap

6.4. AWS での Satellite Server のインストール

お使いの AWS 環境で、以下の手順を実行します。

  1. 新規インスタンスに接続します。
  2. Satellite Server をインストールする には、Satellite Server のインストールを使用します。

6.5. AWS での Capsule のインストール

お使いの AWS 環境で、以下の手順を実行します。

  1. 新規インスタンスに接続します。
  2. Capsule Server をインストールします。詳細は、Capsule Server のインストールを 参照してください。

6.6. ブートストラップスクリプトを使ったホストの Satellite への登録

Satellite Server および Capsule Server をインストールしたら、ブートストラップスクリプトを使用して、EC2 インスタンス上のコンテンツホストを Satellite に登録する必要があります。

ブートストラップスクリプトの使用に関する詳細は、ユーザーガイドブートストラップスクリプトを使用した Satellite へのホストの登録を 参照してください。

Katello エージェントをインストールします。詳細は、katello エージェントのインストールを 参照してください。

付録A 大規模デプロイメントに関する考慮事項

Apache 向けファイル記述子の最大数の増加

登録されているコンテンツホストが 800 を超えると、Apache がいくつかのシステムレベルの制限に達し、新しいコンテンツホストの登録が失敗する可能性があります。これを回避するには、多数のコンテンツホストを展開する前に、ファイル記述子の制限を増やす必要があります。

  1. /etc/systemd/system/httpd.service.d/limits.conf ファイルを作成し、次のテキストを挿入します。

    [Service]
    LimitNOFILE=65536
    Copy to Clipboard Toggle word wrap
  2. 変更をユニットに適用します。

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap
  3. Satellite のサービスを再起動します。

    # foreman-maintain service restart
    Copy to Clipboard Toggle word wrap

qpid 向けファイル記述子の最大数の増加

1100 台を超えるコンテンツホストで goferd が実行され、エラータ更新が実行されると、qpid がシステムレベルの制限に達し、登録が失敗します。これを回避するには、多数のコンテンツホストを展開する前に、ファイル記述子の制限を増やす必要があります。

qpid 向けファイル記述子の最大数の増加

  1. /etc/systemd/system/qpidd.service.d/limits.conf ファイルを作成し、次のテキストを挿入します。

    [Service]
    LimitNOFILE=65536
    Copy to Clipboard Toggle word wrap
  2. 変更をユニットに適用します。

    # systemctl daemon-reload
    # systemctl restart qpidd.service
    Copy to Clipboard Toggle word wrap

共有バッファーと作業メモリーの増加

shared_bufferwork_mem を それぞれ 256M4M に増やすことができます。

  1. Red Hat Enterprise Linux 7 では、/var/lib/ pgsql/data/postgresql.conf ファイルを作成し、次のテキストを挿入します。

    work_mem = 4MB
    shared_buffers = 256MB
    Copy to Clipboard Toggle word wrap
  2. postgresql サービスを再起動します。

    # systemctl restart postgresql
    Copy to Clipboard Toggle word wrap

同時コンテンツホスト登録の増加

システムレベルの制限への到達を回避するために、最大 250 の同時コンテンツホストを処理するようグローバルパッセンジャーキュー制限を増加できます。

グローバルパッセンジャーキューの上限を増やすには、以下の手順を実行します。

  1. 最大パッセンジャープールサイズを、Satellite Server で利用可能な物理 CPU コアの 1.5 倍に調整します。

    たとえば、16 個のコアを持つ Satellite Server がある場合、最大乗客プールサイズは 24 になります。この番号は例として参照されており、ご使用の環境に該当する番号を使用する必要があります。

  2. /etc/httpd/conf.d/passenger.conf ファイルを編集し、IfModule スタンザを次のテキストと一致するように更新します。

    <IfModule mod_passenger.c>
      PassengerRoot /usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/locations.ini
      PassengerRuby /usr/bin/ruby
      PassengerMaxPoolSize 24
      PassengerMaxRequestQueueSize 200
      PassengerStatThrottleRate 120
    </IfModule>
    Copy to Clipboard Toggle word wrap
  3. Foreman Passenger アプリケーション設定ファイル /etc/httpd/conf.d/05-foreman-ssl.conf を編集し、PassengerAppRoot で始まるスタンザを次のテキストと一致するように更新します。

     PassengerAppRoot /usr/share/foreman
     PassengerRuby /usr/bin/tfm-ruby
     PassengerMinInstances 6
     PassengerStartTimeout 90
     PassengerMaxPreloaderIdleTime 0
     PassengerMaxRequests 10000
     PassengerPreStart https://example.com
    Copy to Clipboard Toggle word wrap
  4. Puppet Passenger アプリケーション設定ファイル /etc/httpd/conf.d/25-puppet.conf を編集し、仮想ホスト定義の末尾に次のテキストを追加します。

     PassengerMinInstances 6
     PassengerStartTimeout 90
     PassengerMaxPreloaderIdleTime 0
     PassengerMaxRequests 10000
     PassengerPreStart https://example.com:8140
    Copy to Clipboard Toggle word wrap
  5. /var/lib/pgsql/data/postgresql.conf ファイルで最大接続数を変更します。

    max_connections = 500
    Copy to Clipboard Toggle word wrap
  6. postgresql サービスを再起動します。

    # systemctl restart postgresql
    Copy to Clipboard Toggle word wrap

qdrouterd 向けオープンファイルの最大数の増加

登録されているコンテンツホストが 1,000 を超えると、qdrouterd は 開いているファイルのデフォルトの最大数に達する可能性があります。これを回避するには、Satellite Server およびすべての外部 Capsule Server で開いているファイルの最大数を増やします。

  1. 以下の式を使用して、オープンファイルの必要な最大数を計算します。

    (3 x number of content hosts) + 100
    Copy to Clipboard Toggle word wrap

    たとえば、1020 のコンテンツホストの場合、新しい最大数は 3160 ((3 x 1020) + 100) に設定します。

  2. ファイル /etc/systemd/system/qdrouterd.service.d/limits.conf を作成し、次のテキストを追加します。

    [Service]
    LimitNOFILE=maximum_number_of_files
    Copy to Clipboard Toggle word wrap
    1. 変更をユニットに適用します。

      # systemctl daemon-reload
      Copy to Clipboard Toggle word wrap
    2. Satellite のサービスを再起動します。

      # foreman-maintain service restart
      Copy to Clipboard Toggle word wrap

ホスト登録の遅れを減少

Satellite と各登録ホスト間の通信は、証明書の使用によって保護されます。ホストが登録されると、Satellite はアイデンティティー証明書と Puppet 証明書の 2 つの証明書を作成します。各証明書の作成に使用されるアルゴリズムには、Red Hat Enterprise Linux カーネルからのランダムデータが必要です。ホストの登録時に十分なエントロピーが利用できない場合は、適切なレベルのエントロピーが利用できるようになるまで遅延が発生します。10,000 台を超えるホストがある非常に大規模な環境では、エントロピー不足によりホスト登録の速度が低下する可能性があります。Linux カーネルへのエントロピーの可用性を向上させ、Satellite のパフォーマンスに対するリスクを軽減するために、いくつかの方法を使用できます。

デフォルトでは、Linux カーネルは乱数のソースとして /dev/random デバイスを使用します。これはブロッキングデバイスであり、適切にランダムな出力を生成するためのエントロピーの量が不十分であると判断された場合、数字の供給を停止します。この待機時間により、ホストの登録が遅れることになります。この問題を解決するには、非ブロッキングデバイスである /dev/urandom デバイスを使用します。

一部のハードウェアサーバーには、ハードウェア乱数ジェネレーターを含むプロセッサーが搭載されています。Red Hat Enterprise Linux カーネルでサポートされているものについては、それを乱数のソースとして使用できます。詳細は、ハードウェアベンダーのドキュメントを参照してください。

Satellite が仮想マシン上でホストされている場合、一部のハイパーバイザーでは、ハードウェアサーバーの乱数ジェネレーターを、ホストする仮想マシンで使用できるようにすることに注意してください。Red Hat Virtualization には、KVM 仮想マシンに Red Hat Virtualization Host からのエントロピーへのアクセスを提供する virtio RNG (乱数ジェネレーター) デバイスが搭載されています。Red Hat Enterprise Linux 7.0 を実行しているゲストでは、rngd をインストールして設定する必要があります。Red Hat Enterprise Linux 7.1 以降を実行しているゲストでは、ゲストカーネルは必要に応じてホストからエントロピーを取得します。ホストの乱数ジェネレータをゲストが共有する場合は、ハードウェア乱数ジェネレータの使用を推奨します。

ゲストの乱数ジェネレーターの詳細は、Red Hat Enterprise Linux 7 仮想化デプロイメントおよび管理ガイド乱数ジェネレーターデバイスを 参照してください。その他のハイパーバイザーについては、ベンダーのドキュメントを参照してください。

乱数ジェネレーターデーモン rngd の詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド乱数ジェネレーターの使用を 参照してください。

付録B Red Hat Satellite へのカスタム設定の適用

satellite-installer を使用して初めて Satellite をインストールし、設定する場合には、--foreman-proxy-dns-managed=false--foreman-proxy-dhcp-managed=false のインストーラーフラグを使用して、DNS および DHCP 設定ファイルが Puppet で管理されないように指定してください。これらのフラグがインストーラーの初回実行時に指定されていない場合には、アップグレードの目的で再実行する場合など、インストーラーを再実行すると、手動で変更した内容がすべて上書きされます。変更が上書きされた場合には、復元の手順を実行して手動の変更を復元する必要があります。詳細は、接続されたネットワークからの Satellite Server のインストールPuppet 実行によって上書きされた手動変更を復元する方法を 参照してください。

カスタム設定に利用可能なすべてのインストーラーフラグを表示するには、satellite-installer --scenario satellite --full-help を実行します。Puppet クラスには、Satellite インストーラーに公開されていないものもあります。これらのクラスを手動で管理して、インストーラーが値を上書きしないようにするには、設定ファイル /etc/foreman-installer/custom-hiera.yaml にエントリーを追加して設定値を指定します。この設定ファイルは YAML 形式で、<puppet class>::<parameter name>: <value> という形式を 1 行あたり 1 エントリーで記入します。このファイルで指定した設定値は、インストーラーを再起動しても維持されます。

一般的な例を示します。

  • Apache で ServerTokens ディレクティブが製品名のみを返すように設定するには、以下のようにします。

    apache::server_tokens: Prod
    Copy to Clipboard Toggle word wrap
  • Apache サーバー署名をオフにするには、以下のようにします。

    apache::server_signature: Off
    Copy to Clipboard Toggle word wrap
  • Pulp で pulp ワーカーの数を設定するには、以下のようにします。

    pulp::num_workers: 8
    Copy to Clipboard Toggle word wrap

Satellite インストーラー用の Puppet モジュールは、/usr/share/foreman-installer/modules に保存されています。クラス、パラメーター、および値を調べるには、.pp ファイル (例: moduleName/manifests/example.pp) を確認してください。別の方法では、grep コマンドでキーワード検索を実行します。

値の設定によっては、Red Hat Satellite のパフォーマンスや機能に影響が出る意図しない結果がもたらされる場合があります。設定を適用する前に変更の影響を考慮して、実稼働以外の環境で最初に変更をテストしてください。実稼働以外の Satellite 環境がない場合は、Satellite インストーラーを --noop--verbose のオプションを追加して実行します。変更によって問題が発生する場合は、該当箇所を custom-hiera.yaml から削除し、Satellite インストーラーを再実行します。特定の値を変更することが安全かどうかを確認する場合は、Red Hat サポートにお問い合わせください。

B.1. Puppet 実行で上書きされた手動変更の復元

Puppet 実行で手動による設定が上書きされた場合でも、ファイルを元の状態に戻すことができます。以下の例では、Puppet 実行で上書きされた DHCP 設定ファイルを復元します。

  1. 復元するファイルをコピーします。こうすることで、アップグレードに必要な変更があるか、ファイル間で比較できます。これは DNS や DHCP サービスでは一般的ではありません。

    # cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.backup
    Copy to Clipboard Toggle word wrap
  2. ログファイルを確認して、上書きされたファイルの md5sum をメモします。以下に例を示します。

    # journalctl -xe
    ...
    /Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1
    ...
    Copy to Clipboard Toggle word wrap
  3. 上書きされたファイルを復元します。

    # puppet filebucket restore --local --bucket \
    /var/lib/puppet/clientbucket /etc/dhcp/dhcpd.conf \ 622d9820b8e764ab124367c68f5fa3a1
    Copy to Clipboard Toggle word wrap
  4. バックアップしたファイルと復元されたファイルを比べます。復元されたファイルに、アップグレードに必要な変更を追加します。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat