Azure 上の Red Hat Enterprise Linux の管理と監視に関する考慮事項
この記事では、Azure 上の Red Hat Enterprise Linux (RHEL) を管理および監視するためのさまざまなサービスとツールの使用方法について説明します。
グリーンフィールド デプロイを行う場合は、Azure の変更履歴機能を使用して変更を簡単に特定できます。 また、Azure Automation の Update Management 機能を使用して、RHEL 仮想マシン (VM) のオペレーティングシステムの更新を管理できます。
既存のブラウンフィールド デプロイの場合は、Red Hat Satellite を使用し、オンプレミス環境から Azure にサービスを拡張して、既存のスキルセットを活用できます。
コンテンツ フロー
Red Hat Satellite を使用すると、すべてのライフサイクルステージでホストにコンテンツを提供し、パッチを体系的に適用できます。 Red Hat Satellite のコンテンツフローには、外部ソースからホストへのコンテンツの管理と配布が含まれます。
Satellite のコンテンツは外部コンテンツ ソースから Satellite Server に流れます。 Capsule Server は Satellite Server からホストにコンテンツをミラーリングします。 コンテンツ フローは以下の手順で構成されています。
外部コンテンツ ソースを構成します。 Satellite で多くのコンテンツ ソースを構成できます。 サポートされているコンテンツ ソースには、Red Hat カスタマー ポータル、Git リポジトリ、Ansible コレクション、Docker Hub、Security Content Automation Protocol (SCAP) リポジトリ、または組織内の内部データ ストアが含まれます。
コンテンツのライフサイクルを管理します。 Satellite Server を使用して、コンテンツのライフサイクルを計画および管理できます。
コンテンツ ソースを定義します。 ニーズに基づいて、Capsule Server を作成して、さまざまな場所にコンテンツ ソースを配置します。 たとえば、個別の地理的場所にコンテンツソースを配置したり、複数のネットワーク セグメントで構成されたデータセンター内に複数のコンテンツ ソースを配置したりできます。
ホスト システムを割り当てます。 ホストシステムを Capsule Server または直接 Satellite Server に割り当てると、そのホストはこれらのサーバーが提供するコンテンツを受信するようになります。 物理ホストまたは仮想ホストを使用できます。
展開戦略
手動の更新プログラム インストール プロセスではなく、自動化されたソフトウェア更新管理ソリューションを使用することをお勧めします。 ブラウンフィールド インストールを使用する場合は、オンプレミス ソリューションとの統合を考慮します。 Azure にまったく新しいワークロードをデプロイする場合は、Update Management や Ansible on Azure などのクラウドネイティブ ツールを使用することで、他のパートナーのオープンソース ソフトウェアを使用する場合と比べて、価値実現までの時間を大幅に短縮できます。
考慮事項
自動化された更新管理ソリューションをデプロイする際は、Linux ソフトウェア パッケージ リポジトリの場所を考慮してください。
Microsoft は、サポートされている Linux ディストリビューションのパッケージをプログラムで更新するためのパブリック リポジトリを提供しています。 Red Hat は、登録済みシステムのソフトウェア パッケージ用の独自のリポジトリを提供しています。 Red Hat は、RHEL 9 に Red Hat コンテンツ配信ネットワークと Red Hat Subscription Manager を使用しています。
コンテンツ配信ネットワーク構造
Red Hat コンテンツ配信ネットワークは、システムが使用するコンテンツとエラータを含む、地理的に分散された一連の静的 Web サーバーです。 システムは、Red Hat Subscription Management に登録したシステムを通じて直接、または Red Hat Satellite 6 などのオンプレミス ソリューションを通じてミラーリングすることで、このコンテンツを直接使用できます。 Red Hat コンテンツ配信ネットワークには cdn.redhat.com
を通じてアクセスできます。 x.509 証明書認証により、Red Hat コンテンツ配信ネットワークは保護され、有効なユーザーのみがアクセスできるようになっています。
システムを Red Hat Subscription Management に登録する場合、アタッチされたサブスクリプションによって、システムがアクセスできるコンテンツ配信ネットワークのサブセットが決まります。 システムを Satellite 6 に登録する場合、サブスクリプション マニフェストにアタッチされたサブスクリプションによって、システムがアクセスできるコンテンツ配信システムのサブセットが決まります。
推奨事項
環境の管理と監視に役立つように、次の推奨事項を実装してください。
Azure Marketplace イメージではなくカスタム イメージを使用する
事前定義された Azure Marketplace イメージを使用して、Azure VM を構築できます。 または、カスタム Linux イメージを使用して、特定のコンプライアンスとセキュリティのニーズに対応し、管理することもできます。 RHEL などのサポートされている Linux ディストリビューションを使用する場合は、RHEL 8 ガイダンスなど、顧客イメージの構築に関する特定のガイダンスに従ってください。 カスタム Linux イメージを使用する場合は、Update Manager のベストプラクティスガイダンスに従ってください。
非運用環境で更新テストを実行する
テスト環境を運用環境から分離して、運用ワークロードへの潜在的な悪影響を最小限に抑えます。 Azure DevTest Labs を使用して、この分離を行い、クラウド サブスクリプションのコストを削減しながら、新規更新プログラムのテストをより迅速に行います。 Azure DevOps などのツールを使用して、継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインを実装します。
新規更新プログラムによって重大な問題が発生した場合に備えて、明確でテスト済みのロールバック戦略を用意します。 これらの戦略には、データベースのバックアップ、スナップショット作成、デプロイの高速取り消しメカニズムが含まれている必要があります。
スケジュールとメンテナンス期間を考慮する
Automation アカウントを使用して、クラウド環境内のソフトウェア更新のスケジュールを調整できます。
ブルーグリーン デプロイ モデルまたは Azure App Service デプロイ スロットを使用して、特定のソフトウェア更新のメンテナンス期間中に必要な全体の時間を最小限に抑えます。 Azure サービスは基盤となるインフラストラクチャを更新するため、アクティブな VM に影響を与える可能性があることに注意してください。 詳細については、Azure ポータルの「Azure Service Health」を参照してください。
セキュリティとコンプライアンスを構成する
Azure Policy を使用して、環境が組織のセキュリティとコンプライアンスの標準を満たしているようにします。 詳細については、「Azure Policy の概要」を参照してください。
Azure Policy を使用して以下ができます。
- 監査やコンプライアンス レポートなど、コンプライアンスとガバナンスの標準を適用する。
- リソースの一貫性やコストの管理など、リソースとコストの管理を行う。
- セキュリティのベースラインやロールベースのアクセス制御 (RBAC) など、セキュリティとアクセスの制御を行う。
依存関係と互換性を管理する
アプリケーションが依存するライブラリ、フレームワーク、パートナー サービスを適切にドキュメント化します。 Azure Resource Manager テンプレート (ARM テンプレート) や Terraform などの Infrastructure as Code を使用して、一貫した構成でクラウド リソースを定義および管理します。 このアプローチを使用して、環境のドリフトのリスクを軽減します。
Azure Artifacts をプライベート パッケージ リポジトリとして使用して、環境内に正しいソフトウェアが一貫してインストールされるようにします。 GitHub Dependabot などのツールを使用すると、リポジトリ内でソフトウェアの依存関係を見つけやすくなります。
バックアップと復旧を構成する
重要なアプリケーションには、アプリケーション整合性スナップショットの使用を考慮します。 複雑でないシナリオでは、ファイル整合性スナップショットを使用します。
Azure Backup が提供するスナップショットには、次のタイプがあります。
- VM スナップショット。
- 特定の VM にアタッチされているディスクのスナップショット。
スナップショットを管理するには、以下を使用します。
自動バックアップ スケジュール: 定期的にスナップショットが作成されて、手動介入なしで一貫した方法でデータ バックアップを行うことができます。
保持ポリシー: Backup を使用して、スナップショットを保持する期間について保持ポリシーを設定します。 このアプローチを使用して、データ保持要件に準拠し、ストレージ コストを効果的に管理します。
ポイントインタイム リストアを使用して、VM またはディスクをスナップショットがキャプチャした状態に戻します。 データの破損や誤削除のようなインシデントから環境が迅速に復旧できるようにします。
構成管理と変更管理
Red Hat インフラストラクチャの場合、Ansible Automation Platform を使用して構成管理を行うことができます。
Red Hat Ansible Automation Platform の概要
Red Hat Ansible Automation Platform は、エンタープライズアプリケーションインフラストラクチャのライフサイクルを管理するための自動化ワークロードの開発と運用を簡素化します。 Ansible Automation Platform は、運用、ネットワーク、セキュリティ、開発など、複数の IT ドメインにまたがり、多様なハイブリッド環境で機能します。 Ansible Automation Platform を使用すると、自動化の過程のどの段階でも、企業全体の自動化を迅速に実装できます。
Automation の Update Management 機能と Azure Update Manager を使用して、Azure 環境内での変更の追跡と管理を実装できます。 Automation の Update Management 機能は 2024 年 8 月 31 日に廃止されます。 今後は Update Manager を使用することをお勧めします。
詳細については、以下を参照してください:
- Ansible Automation Platform に含まれるもの。
- Red Hat Ansible Automation Platform アップグレードおよび移行ガイド。
- Ansible Automation Platform インストールガイド。
更新を管理するための Azure ネイティブ ツール
Automation の Update Management 機能とは異なり、Update Manager は Automation や Azure Monitor Logs に依存しません。 Update Manager は、Automation の元のバージョンよりも多くの追加機能と強化された機能を提供します。
次の図は、Update Manager のハイブリッド接続構成を示しています。
詳細については、以下を参照してください:
- Update Manager の概要
- 単一のマシンの更新プログラムを表示する
- 単一マシン用の更新プログラムを今すぐ (オンデマンドで) デプロイする
- 定期的な更新プログラムをスケジュール設定する
- ポータルで更新設定を管理する
- Update Manager を使用して複数のマシンを管理する
VM の監視とレポート
RHEL は、個々の VM 上のオペレーティング システム、実行中のプロセス、およびインフラストラクチャ コンポーネントのパフォーマンスのきめ細かいチューニングを行うための、堅牢なコマンド ライン ツール セットを提供します。
Azure Monitor を使用して、クラウドとオンプレミス環境の両方のデータを収集、分析し、レポートを作成できます。 次の図は、使用できるツールを示しています。
Azure Monitor には、次の図に示すように、お客様のデータ ソースを組み込む機能があります。
Azure Linux VM の監視
Azure Monitor は、エージェントを使用して Azure VM からブート データとパフォーマンス データを収集します。 このデータは Azure storage に保存され、Azure portal、Azure PowerShell モジュール、Azure CLI を通じてアクセスできます。 VM の高度な監視のために、Azure Monitor はパフォーマンス メトリックを収集し、VM にインストールされているアプリケーション コンポーネントを検出します。 パフォーマンス チャートと依存関係マップも使用できます。
ネイティブ Azure VM はブート診断をサポートしています。 オンプレミスの Linux VM には、包括的なハイブリッドソリューションとして Azure Arc をお勧めします。 Linux VM で Azure Arc を有効にする方法について、詳細を確認してください。
Azure Linux VM でブート診断を有効にする
Linux VM が起動すると、ブート診断拡張機能によってブート出力がキャプチャされて、Azure storage に保存されます。 このデータを使用して、VM のブートに関する問題をトラブルシューティングできます。 Azure CLI を使用して Linux VM を作成する場合、ブート診断は自動的に有効になりません。
ブート診断を有効にする前に、ブート ログを保存するためのストレージアカウントを作成します。 az storage account create コマンドを使用して、アカウントを作成します。 ストレージ アカウントの名前はグローバルに一意で、3 ~ 24 文字とし、数字と小文字のみを含むようにします。
ブート診断を有効にすると、VM を停止して起動するたびに、ブート プロセスに関する情報がログ ファイルに書き込まれます。
ホストのメトリックを表示する
Azure には、Linux VM と連動する専用のホストがあります。 ホストのメトリックは自動的に収集されて、Azure portal で表示できます。
Azure portal で [リソース グループ] を選択した後、[myResourceGroupMonitor] を選択します。次に、リソース一覧から [myVM] を選択します。
ホスト VM のパフォーマンスを確認するには、[監視] セクションで [メトリック] を選択し、[利用可能なメトリック] で [ホスト] メトリックのいずれかを選択します。
高度な監視を有効にする
Azure Monitor for VMs で詳細な監視を有効にするには:
Azure portal で [リソース グループ] を選択した後、[myResourceGroupMonitor] を選択します。次に、リソース一覧から [myVM] を選択します。
[監視] セクションで [Insights] を選択します。
有効にするを選択します。
Azure Monitor Insights のオンボードのページで、同じサブスクリプションに既存の Log Analytics ワークスペースがある場合は、ドロップダウン リストでそれを選択します。
この一覧では、サブスクリプションで VM がデプロイされている既定のワークスペースと場所が事前に選択されています。
Note
VM からの監視データを格納するための新しい Log Analytics ワークスペースを作成するには、Log Analytics ワークスペースの作成に関するページを参照してください。 ワークスペースは、サポートされているリージョンのいずれかに属している必要があります。
監視を有効にした後、VM のパフォーマンス メトリックが表示されるまでに数分かかることがあります。
VM のパフォーマンス メトリックを表示する
Azure Monitor for VMs には、VM がどの程度効果的に実行されているかを判定するのに役立ついくつかの主要業績評価指標を対象とする一連のパフォーマンス グラフが含まれています。 VM からチャートにアクセスするには、以下の手順に従います。
- Azure portal で [リソース グループ] を選択した後、[myResourceGroupMonitor] を選択します。次に、リソース一覧から [myVM] を選択します。
- [監視] セクションで [Insights] を選択します。
- [パフォーマンス] タブを選択します。このページには、パフォーマンス使用状況のチャートと、検出された各論理ディスクの容量、使用状況、各測定値の合計平均値の表も表示されます。
アラートを作成する
特定のパフォーマンス メトリックに基づいてアラートを作成することができます。 特定のイベントが発生したときに通知を受け取るには、アラートを使用します。 たとえば、平均 CPU 使用率が特定のしきい値を超えたり、空きディスク容量が特定の容量を下回ったりしたときに、アラートを受け取ることができます。 アラートは Azure portal で表示するか、電子メールで受け取ることができます。 アラートを生成するときに、Automation の Runbook や Azure Logic Apps をトリガーすることもできます。
平均 CPU 使用率のアラートを作成する例を次に示します。
- Azure portal で [リソース グループ] を選択した後、[myResourceGroupMonitor] を選択します。次に、リソース一覧から [myVM] を選択します。
- [VM] ウィンドウで [アラート規則] を選択します。 次に、[アラート] ウィンドウの上部で [メトリック アラートの追加] を選択します。
- [名前] にアラートの名前 (myAlertRule など) を入力します。
- CPU の割合が 1.0 を超えた状態が 5 分間続いたときにアラートをトリガーするために、それ以外の選択肢はすべて既定値のままにします。
- 必要に応じて、[所有者、共同作成者、閲覧者に電子メールを送信] を選択して、電子メール通知を送信します。 既定のアクションでは、ポータルに通知が表示されます。
- [OK] を選択します。