Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

更新を安全にデプロイするためのベストプラクティス - Amazon Linux 2023

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

更新を安全にデプロイするためのベストプラクティス

Amazon Linux 2023 (AL2023) には、オペレーティングシステムに更新を安全にデプロイし、更新間で何が変更されたかを把握し、必要に応じて古いバージョンに簡単に戻るのに役立つように設計されたいくつかの機能があります。このセクションでは、Amazon Linux の 10 年以上の内部および外部使用 AWS から学んだ教訓について説明します。

警告

を実行するdnf --releasever=latest updateことはベストプラクティスではなく、OS 更新が本番環境で最初にテストされる可能性が高いです。

を使用する代わりにlatest、特定の AL2023 リリースバージョンを使用します。これにより、以前にテストしたのと同じ変更を本稼働インスタンスにデプロイできます。例えば、 dnf --releasever=2023.6.20250203 updateは常に 2023.6.20250203 リリースに更新されます。

詳細については、AL2023 ユーザーガイドのAL2023 の更新」セクションを参照してください。

OS 更新のデプロイの安全性を計画しないと、アプリケーション/サービスと OS 更新の間の予期しない負の相互作用の影響が大幅に大きくなり、完全に停止する可能性があります。他のソフトウェアの問題と同様に、問題が検出される前ほど、エンドユーザーへの影響が少なくなります。

基本的には当てはまらない 2 つのことを信じる罠に陥らないことが重要です。

  1. OS ベンダーが OS の更新を間違えることはありません。

  2. 依存する OS の特定の動作またはインターフェイスは、OS ベンダーが依存すると見なす動作とインターフェイスと一致します。

    つまり、OS ベンダーとお客様は、更新に問題があることに同意します。

良い意図に頼らず、デプロイの安全性に OS の更新が含まれるようにシステムを配置します。

本番環境にデプロイして新しい OS 更新をテストすることはお勧めしません。OS をデプロイの別の部分と見なし、本番環境への他の変更に適していると考えるのと同じデプロイ安全メカニズムを適用することを検討することをお勧めします。

本番環境システムにデプロイする前に、すべての OS 更新をテストすることをお勧めします。デプロイする場合は、適切なモニタリングと組み合わせたステージングされたロールアウトが推奨されます。段階的なロールアウトにより、問題が発生した場合でも、即時ではないにしても、影響がフリートのサブセットに制限され、さらなる調査と緩和が起こり得る間、更新のさらなるデプロイを停止できます。

OS の更新による悪影響の軽減が、多くの場合、最優先事項であり、その後に、問題が解決されます。OS 更新の導入が悪影響と相関する場合、OS の以前の既知の正常なバージョンに戻す機能は強力なツールです。

Amazon Linux 2023 ではバージョニングされたリポジトリによる確定的なアップグレード、OS (または個々のパッケージ) のバージョンへの変更が繰り返し可能になるようにする強力な新機能である が導入されています。したがって、ある OS バージョンから次の OS バージョンに移行するときに問題が発生した場合、問題を解決する方法を試しながら、既知の動作する OS バージョンにとどまるために使用できる簡単なメカニズムがあります。

AL2023 では、新しいパッケージの更新をリリースするたびに、ロックする新しいバージョンと、そのバージョンにロックする新しい AMIs があります。AL2023 リリースノートでは、各リリースの変更と、パッケージの更新で対処されたセキュリティの問題AL2023 の Amazon Linux セキュリティアドバイザリについて説明しています。

例えば、2023.6.20241028「」リリースで発生した問題の影響を受けた場合、すぐに以前のリリースの AMIs「」の使用に戻すことができます。 20241010 この場合、後続の 2023.6.20241031 リリースで修正されたパッケージにバグがありましたが、影響を受けるバージョニングされたリポジトリによる確定的なアップグレードすべてのユーザーがすぐに軽減のための簡単なアクションを実行できます。前のイメージを使用してください。

バージョニングされたリポジトリによる確定的なアップグレード また、 は、OS 更新の進行中のデプロイが、導入されているか、新しい AMIsまたはコンテナイメージを起動することによって、後続にリリースされた OS 更新の影響を受けないことを保証します。

最初の例では、フリート A は大規模なフリートであり、2023.5. 20241001から 2023.6. 20241010がリリースされた時点で、2023.6. 20241028に更新をデプロイする途中です。 は、フリート A のデプロイが適用している更新に変更を加えることなく継続するバージョニングされたリポジトリによる確定的なアップグレードことを意味します。

最初にフリートの 1% にデプロイし、次に 5%、10%、20%、40% を 100% に達するまでデプロイするなどのウェーブベースまたはフェーズベースのデプロイ戦略の目的は、より広範囲に展開する前に、限定的な方法で変更をテストできることです。このタイプのデプロイ戦略は、本番環境の変更をデプロイするためのベストプラクティスとして一般的に考えられています。

ウェーブベースのデプロイ戦略とフリート 2023.6 への更新。20241010多くのホストにデプロイされる段階にある 2023.6. 20241028リリースされたという事実は、 を使用して進行中のデプロイには影響しませんバージョニングされたリポジトリによる確定的なアップグレード

フリート B が古いバージョンを実行していた場合、たとえば 2023.5.20240708「」、「2023.6.20241028」への更新のデプロイを開始し、フリート B がそのバージョンの問題の影響を受けた場合、これはデプロイの早い段階で気付くでしょう。その時点で、問題の修正が利用可能になるまでロールアウトを一時停止するか、または同じバージョンのフリート A のデプロイを開始する間に 2023.6.20241010 が実行された場合に、フリート B が 2023.5." と 2023.6.20240708 の間のすべての更新を取得するかどうかを決定できます。 20241010

OS の更新をすぐに実行しないと問題が発生する可能性があることに注意してください。新しい更新には、環境に関連するバグやセキュリティの修正が含まれている可能性があります。詳細については、Amazon Linux 2023 でのセキュリティおよびコンプライアンスおよびAL2023 でパッケージとオペレーティングシステムの更新を管理するを参照してください。

デプロイシステムを設定して、新しい OS 更新を簡単に取得し、本番環境にデプロイする前にテストし、ウェーブベースのデプロイなどのメカニズムを使用して悪影響を最小限に抑えることが重要です。OS 更新による悪影響を軽減するためには、デプロイシステムに OS の以前の既知の正常なバージョンをポイントさせる方法を知っておくことが重要です。問題が解決されると、古い既知の正常なバージョンにロックされるのではなく、新しい既知の正常なバージョンに移行します。

マイナーアップデートの準備

AL2023 の新しいポイントリリースなど、OS への小規模な更新の準備は、労力ゼロに制限されることを意図しています。今後の変更については、AL2023 リリースノートを必ずお読みください。

パッケージのサポート期間が終了すると、言語ランタイムの新しいバージョン ( など) への移行が必要になる場合がありますAL2023 での PHP。サポート期間が終了する前に、新しい言語ランタイムバージョンに快適に移行して、事前に準備することをお勧めします。

などのパッケージの場合pcre バージョン 1、事前に計画し、コードのいずれかを置き換えに移行する機会もあります。この場合、コードはpcreバージョン 2 です。挫折に備えて、できるだけ早く行うことをお勧めします。

など、直接置き換えられない場合はバークレー DB (libdb)、ユースケースに基づいて選択する必要がある場合があります。

メジャーアップデートの準備

オペレーティングシステムの新しいメジャーバージョンへの更新は、ほぼ普遍的に、計画、変更または廃止された機能への適応、デプロイ前のテストを必要とするものとして見なされます。次のメジャーバージョンへの移行に進む前に、廃止または削除された機能の使用に対処するなど、Amazon Linux 2023 の次のメジャーバージョンをより段階的に準備できることは珍しくありません。

例えば、AL2 から AL2023 に移行する場合、 AL2 で非推奨になり、AL2023 で削除された機能セクションを読むと、AL2 を使用して AL2023 の準備をしている間に、安全で小さなステップが多数発生する可能性があります。例えば、 Python 2.7 は Python 3 に置き換えられました を使用する準備として、 (yumパッケージマネージャーの などの OS の使用以外で) 使用を Python 3 に移行できますAL2023 での PythonPHP を使用している場合、AL2 (PHP 8.2 AL2 Extra 経由) と AL2023 の両方に PHP 8.2 が付属しているため、PHP バージョン移行と OS 移行の両方を同時に行う必要はありません。

AL2023 の使用中に、AL2023 の使用中に、現在 Amazon Linux 2AL2023 の次のメジャーバージョンを準備することもできます。このセクションでは、AL2023 で廃止され、削除される予定の機能とパッケージAL2023 で廃止について説明します。

例えば、initスクリプトをsystemd同等のものに移行するなど、残りのSystem V init (sysvinit)使用を移行すると、将来の準備が整うだけでなく、すべてのsystemd機能を使用してサービス、サービスを再起動する方法と、再起動するかどうか、必要な他のサービス、リソースやアクセス許可の制約を適用する必要があるかどうかを監視できます。

32 ビットサポートなどの機能の場合、非推奨は複数のメジャーバージョンの OS にまたがる可能性があります。32 ビット版の場合、Amazon Linux 1 (AL1) は を廃止32 ビット x86 (i686) AMIsし、Amazon Linux 2 は を廃止し32 ビット x86 (i686) パッケージ、Amazon Linux 2023 は を廃止します32 ビット x86 (i686) ランタイムのサポート。からの移行は、OS の複数のメジャーバージョンIMDSv1にまたがります。これらのタイプの変更では、一部のお客様はそれに対応するために長い時間を必要とするため、Amazon Linux 2023 でこの機能が利用できなくなるまでに大量の余裕があることが理解されています。

廃止された機能のリストは OS の存続期間にわたって更新されるため、その変更を最新の状態に保つことをお勧めします。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.