Red Hat Enterprise Linux (RHEL) のインプレースアップグレードの自動化について記載してから 2年以上が経過しました。その間、数十社のお客様が、当社の規範的で自動化されたアプローチを導入して RHEL のアップグレードを大規模に実行し、数十万のシステムをアップグレードしました。この記事では、RHEL アップグレード自動化のロールアウトを加速するのに役立つ主な機能を簡単に確認します。またここでは、効果的に機能したものだけでなく、いくつかの課題や得られた教訓についても説明します。
結論を先に言うと、「素早く失敗し、繰り返し、再挑戦する」ことの重要性を学習しました。このアプローチで達成できる最も重要な点として、アップグレードのプロセスに関する懸念がなくなり、すぐに機能しない場合でも、元の状態に迅速に戻せることがあります。
課題
Red Hat の大企業のお客様の多くは、2000 年代初頭に Linux の導入が始まってから、数十年にわたって成長と進化を続けてきた大規模な RHEL 環境を有しています。組織はアプリケーションのワークロードのデプロイと管理の方法のモダナイズを最大の目的として仮想化とコンテナ化を試みてきましたが、膨大な数の RHEL ホストがこの動きに追いついていないという企業もあります。これらのアプリケーションは「ペット」サーバーで実行されていますが、これらのサーバーには、長年にわたる手作業での変更により、追跡されていないドリフトが大幅に蓄積されています。
これらのアプリケーション環境に変更を加えるのが難しいため、古いバージョンの RHEL で行き詰まっている組織が存在します。一般に、新しい RHEL バージョンでプラットフォームを再構築することは、インフラストラクチャ担当および運用担当のチームにとっては簡単ですが、「ペット」アプリケーションの再デプロイは、アプリケーション担当チームにとって負担の高いタスクです。技術的な負債すべてを掘り起こし、ワークロードを安全に再デプロイする方法を見つけ出すことには、非常に多くのコストがかかり、リスクが伴います。そのため、素早く失敗して学ぶことは、成功における重要な要素となります。
重要なポイントとして、アプリケーションに手を加えることなく、環境を新しい RHEL バージョンへと簡単に移行する方法があります。大規模に実装すると、組織全体でコスト削減効果を短期間で実現できます。
ソリューション
RHEL のアップグレードを拡張するための Red Hat のアプローチは、Red Hat Ansible Automation Platform と Ansible の検証済みコンテンツを使用して自動化することです。これらの自動化では、RHEL 6 から 7 へのアップグレードのような古いものから、最新の RHEL 9 から 10 へのアップグレード、およびその間のすべてのアップグレードを処理できます。RHEL 7 から RHEL 9 へのアップグレードのようなマルチホップ・アップグレードの自動化を単一のメンテナンス期間で実行しているお客様もいます。
このソリューションは 4 つの重要な要素に依存しています。
1.すべてを自動化する
RHEL のアップグレードをエンドツーエンドで自動化することで、運用チームとアプリケーションチームの両方にとって、使いやすいプッシュボタン式サービスとしてプロセスが利用可能かつ反復可能になります。
2.ロールバックによるスナップショット
アプリケーションへの影響リスクを最小限に抑えるための鍵であり、本アプローチにおける最も重要な機能です。この機能を利用できるのが分かると、アップグレードをしない理由を見つけることはできなくなります。スナップショットは、環境に応じて論理ボリュームマネージャー (LVM)、VMware スナップショット、または relax-and-recover (ReaR) バックアップを使用して自動化できます。ロールバックにより、フェイルファストですばやく再試行することができます。
3.カスタムモジュール
RHEL Leapp フレームワークはオペレーティングシステム自体をアップグレードしますが、標準のサードパーティツールやエージェントなどの、環境固有の要件に対応するにはカスタム自動化の開発が必要です。
4.レポートダッシュボード (任意だが非常に便利な機能)
レポートダッシュボードでは、RHEL 資産全体に対するアップグレードを追跡できます。Leapp によって生成されたアップグレード前のレポートを可視化し、調査結果の分析や、完了したアップグレードのボリュームと進捗状況に関する指標の集計を容易にします。
100 万件相当の RHEL のインプレース・アップグレードの自動化から学んだ教訓
このアプローチの導入におけるお客様への支援を通して Red Hat が得た教訓は、最初から完璧に機能するものなど存在しないという点です。すべての「スノーフレーク」構成や、下位のサードパーティ製品の影響、外部環境要因などを予測する方法はありません。下位のラボおよび開発環境から始めて、アップグレードを試してみるのが最善であるとわかりました。
私たちはこれを「フェイルファスト」アプローチと呼んでいます。このアプローチは、最終的には組織の環境固有のバリエーションに対応できるように、ソリューションを迅速に開発するための鍵です。これは、失敗することを想定して意図的にアップグレードを試し、その失敗を確認し、迅速に元に戻して、学んだことを活かして自動化を失敗させないようにすることで、迅速な学習と反復を可能にする方法です。
RHEL のインプレース・アップグレードの自動化にフェイルファスト・アプローチが重要である理由を以下に示します。
- リスクの軽減と信頼の構築
- 最も重要なリスク軽減要素は、スナップショットのロールバック機能です。これにより、アプリケーションチームにとってアップグレードのリスクが大きくなりすぎるという懸念が軽減されます。何らかの問題が発生しても、長時間の停止を引き起こすことなく、システムを迅速に以前の状態に戻すことができます。この迅速なリカバリー機能により、アプリケーションチームは迅速にアップグレードし、銀行業界などの業界におけるコンプライアンスや規制要件に関する大きな課題に対処することができます。
- ある有名なお客様の組織では、アプリケーションチームはスナップショット・プロセスの信頼性を確保するために、ホストのアップグレードとロールバックを数回テストしました。ある点を証明するために、ロールバック前に意図的に壊してみることもありました。
- また同様に、ある大手銀行のお客様の場合では、ロールバックが機能したことでフェイルファスト手法の有効性が実証されたため、初めてのベアメタルアップグレード時の「一時的な障害」を成功と見なしました。
- 小規模な不動産を扱う別のお客様は、「迅速に実行し、壊すことを恐れない」という精神に基づき、自動化とロールバックを活用して、わずか 2 週間で 60 の RHEL ホストすべてのアップグレードに成功しました。
- 開発の迅速化と自動化の改善
- フェイルファストはチームによる迅速な反復を可能にするため、カスタム自動化の開発が加速されます。このアプローチでは、考えられるすべての問題を予測しようとするのではなく、アップグレードを実行して何が破損しているかを確認し、ロールバックして修正を自動化し、プロセスを繰り返すことを奨励します。
- これは、新しい RHEL バージョンと互換性がないサードパーティツール、エージェント、ミドルウェアの処理など、複雑なカスタム要件に対するソリューションを特定し、改良するのに役立ちます。たとえば、別の銀行業のお客様はこれを使用して、アップグレードで削除されたサードパーティベンダーのパッケージを特定し、再インストールを自動化しました。
- このアプローチにより、「現実のリスク」(予期せぬドリフトや環境全体のばらつき) を発見し、それらに対処するために自動化を改良することが可能になります。
- 組織の壁を克服する
- 失敗には偏見が伴うことがあり、それが過度なリスク回避行動につながることもあります。堅牢なロールバック機能がサポートするフェイルファストのアプローチは、障害を迅速かつ安全に修正できるだけでなく、迅速な学習アプローチでもあることを実証し、この課題を克服するのに役立ちます。
- Red Hat が懐疑的な中央の IT チームや運用チームから躊躇された場合、フェイルファスト・アプローチとそのアプリケーションチームにとってのメリットを強調することは有効です。これにより、コストのかかるプラットフォームの再構築を余儀なくされることなく、このソリューションがどのようにお客様を支援するのかが明確になります。
- スケーリングの有効化
- 反復的なテストによって問題を迅速に特定し、解決することで、組織はアップグレードの速度を上げることができます。たとえば、10 万インスタンスを超える RHEL 資産をお持ちのあるお客様は、迅速な反復とロールバックを可能にするセルフサービスの自動化により、グローバルで月 8,000 件のアップグレードを実現しました。
- プロダクションに移行する前に、下位の環境 (ラボや開発) で自動化を簡単にテストして改良することは、サービス停止を回避し、大量のアップグレードを実現するためのベストプラクティスです。
フェイルファストをサポートする主要コンポーネントの詳細には、以下が含まれます。
- 自動化されたスナップショットとロールバック機能: これは、フェイルファスト・アプローチの基盤です。オプションとしては、LVM スナップショットや VMware スナップショットがあります。ReaR のバックアップは、スナップショットのロールバックが機能しない場合に備えて、「二重の安全策」として活用することも可能です。
- カスタムモジュールと自動化: Leapp の公式システム・アップグレード・リポジトリとそのアクターは、オペレーティングシステムのアップグレードを処理します。ただし、お客様の環境に固有のサードパーティのツール、エージェント、ミドルウェアを管理するためには、カスタムの Ansible タスクまたは追加のカスタム Leapp アクターが必要です。これらのカスタム自動化は、フェイルファストの反復を通じて改良されます。
- レポート・ダッシュボード: Elastic や Splunk などのツールは、アップグレード前の結果を可視化し、アップグレードの進捗を追跡できるため、チームが共通する問題を特定し、自動化を改善できるよう支援します。
RHEL のアップグレードの詳細
フェイルファスト・アプローチを採用することで、大規模な RHEL アップグレードという一見困難なタスクは、学習と安全性を優先する反復的なプロセスに変換され、最終的に速度が向上し、コンプライアンスが迅速に向上します。
- RHEL 7 のメンテナンス終了前にアップグレードを自動化する方法
- Red Hat Enterprise Linux 7 のメンテナンス終了が間近に迫る
- infra.leapp Git リポジトリ:RHEL のインプレース・アップグレードを自動化するための Ansible ロールのコレクションです。活発なアップストリーム・コミュニティによってサポートされています。これらのロールは、Leapp フレームワークを使用してアップグレード前の分析と RHEL のアップグレード自体を実行するための標準化された方法を提供します。組織のアップグレードを実行するための独自のカスタム Playbook を開発する準備が整ったら、この Ansible コレクションのロールを使用して作業を容易にすることをぜひご検討ください。
- infra.lvm_snapshots Ansible コレクション:RHEL のインプレース・アップグレードの自動化向けの主要なビルディングブロックであり、LVM スナップショット管理専用のロールを提供します。このコレクションは、定義済みの LVM スナップショットボリュームのセットを作成する snapshot_create、それらを削除する snapshot_remove、システムを以前にキャプチャした状態に即座に戻せる snapshot_revert などの重要な機能を提供します。また、論理ボリュームのサイズを安全に縮小してスナップショット用のスペースを解放するための shrink_lv や、ブートパーティションを増やすための bigboot などのロールも含まれています。
- ripu-splunk リポジトリ:RHEL アップグレード自動化ソリューションを強化するために設計されたレポート・ダッシュボードのリファレンス実装を提供します。このオープンソースコレクションは、アップグレード前のサマリー、アップグレード前の詳細レポート、アップグレードの進捗タイムラインなど、Splunk Dashboard Studio にインポートできるサンプルを提供します。
Red Hat のサポート
過去数年間で自動アップグレードが進化する中で、Red Hat コンサルティングサービスは、多くのお客様のソリューションのロールアウトを支援してきました。大規模な環境のアップグレードを検討しても、圧倒されてどこから手をつけていいかわからない場合は、Red Hat コンサルティングサービスが専門知識とガイダンスをお客様と共有し、アップグレードだけでなく、プロセスにかかる時間とコストの節約を支援します。
執筆者紹介
Bob is an industry veteran with a lifetime of experience in IT dating back to the 1980s. Before coming to Red Hat in 2022, he held software consulting roles at DEC/HP and later moved to the banking industry as a pioneer leading Wall Street's early adoption of Linux. Today as a member of Red Hat's Customer-led Open Innovation team, he is committed to growing the community that's developing automation to make RHEL in-place upgrades successful at enterprise scale.
Bob Handlin has helped build and promote products in various parts of the tech industry for more than 20 years. He currently focuses on RHEL migrations and upgrades, but also assists with storage technologies and live patching.
類似検索
AI insights with actionable automation accelerate the journey to autonomous networks
IT automation with agentic AI: Introducing the MCP server for Red Hat Ansible Automation Platform
Technically Speaking | Taming AI agents with observability
Transforming Your Identity Management | Code Comments
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
仮想化
オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください