Acquia Cloud Nextの移行に関する技術的なよくある質問
本記事は Common Technical Questions when Upgrading Drupal Applications & Environments to Acquia Cloud Next の抄訳記事です。
アクイアでは2021年3月24日(水)から、Acquia Cloud Platform既存のお客様の環境を順次Acquia Cloud Nextにアップグレードしています。Acquia Cloud Nextのテクノロジーによって、高負荷時のパフォーマンス、スケーラビリティ、回復力がさらに向上しています。Acquia Cloud Nextは、現行バージョンのAcquia Cloud Platformよりも高度なサーバーレスアーキテクチャを採用しており、アプリケーションを高速にスケーリングすることで、高トラフィックのイベントやリソース集約型のプロセスに求められるパフォーマンスを提供します。
本記事では、Acquia Cloud Nextのアップグレードに関してお客様からよくいただく技術的な質問と回答をまとめました。非技術的なよくある質問はこちらの記事をご参照ください。
Acquia Cloud Nextでリソースの分離はどのように行われますか?
Acquia Cloud Nextでは、コンテナ化を活用してDrupalアプリケーションと関連サービスに優れたパフォーマンスと耐障害性を提供します。以前は同じ専用インフラで提供されていたサービスは、Acquia Cloud Nextでは分離してより効率的に動作するように再設計されています。これは非本番環境でも同様です。
Acquia Cloud Nextでは、以下のシステムプロセスごとに専用のコンテナが用意されています。
- Drupal (Apache, PHP)
- SSH sessions
- Cron jobs
- Memcached
- Cloud Hooks
このようにリソースを分離することで、Drupalアプリケーションの配信に関連する主要なサービスは、アクティビティの増加時にも互いに影響を与えることなく、必要なクラウド容量を利用することができます。その結果として、パフォーマンスを最大化するために実装したコードが不要になるかもしれません。
Acquia Cloud Nextにアップグレードする全てのお客様は、cronジョブ、スクリプト、自動化、Memcached設定、そしてインストールされているカスタムPHP拡張機能とライブラリに対して、それらが必要であるか、期待どおりに機能しているかをアップグレード後に必ず確認することをお勧めします。
Acquia Cloud Nextの主な技術的変更は何ですか?
環境をAcquia Cloud Nextにアップグレードすると、Cloud Platformの一部の機能が異なる動作をするようになります。変更される機能や一時的に利用できない機能についてはこちらの記事をご確認ください。
非本番環境がアップグレードされたらどのようにテストすれば良いですか?
アプリケーションの非本番環境のアップグレードが完了してから本番環境のアップグレードまで、14暦日設けられます。 ただし、非本番環境のアップグレードが完了してから、7暦日以内に全ての非本番環境をテストするようお客様にお願いしています。 7日間を過ぎると、以前のインフラが利用できなくなる可能性があります。また非本番環境でのテストがすべてうまくいったという前提で、1週間後に本番環境のアップグレードを正式にスケジュールすることになります。
アップグレード直後に検出された問題は、迅速に解決され、ビジネスへの影響を長引かせない可能性が高いです。一方、本番環境のアップグレード予定日近くに報告された問題は、アプリケーションのアップグレードプロセスを長引かせる可能性が高くなります。予定通りに本番環境をアップグレードできない場合、本番環境と非本番環境は2週間以上にわたって2つの異なるバージョンのAcquia Cloudで動作することになります。開発環境とステージング環境でテストしたアプリケーションコードと構成の変更が、本番環境にデプロイされた後に予期しない問題を引き起こす可能性が高くなります。
重要:非本番環境をAcquia Cloud Nextにアップグレードした後、本番のコード、データベース、ファイルを非本番環境にコピーして直ちにテストすることを全てのお客様に強く推奨します。
これにより、お客様のアプリケーションとAcquia Cloud Platform上のすべてが期待通りに動作することを確認することができます。そうでなければ、本番環境のアップグレードが開始された時に、アプリケーションに関連する固有のコードや構成によりサイトや環境の機能に悪影響が出る可能性があります。
テストの推奨事項:
- 全てのスケジュール(cron)ジョブの出力がファイルに記録されていることを確認します。このファイルがCloud Nextで利用可能な共有ディレクトリのいずれかにあることを確認してください。これらのcronジョブを通常通り実行させ、問題がないかを確認します。
- Drupalのエラーログを適切なレベルに設定し、問題を確認できるようにします。
- サイト訪問者として、Webサイトに簡単なチェックを実行することで、Webサイトの基本動作を評価します。サイトの様々なページに様々なロールでアクセスします。Drupalのステータスページ(/admin/reports/status)で、解決が必要な警告やエラーがないか確認します。パスワード回復フォームと対応するメールが機能していることを確認します。キャッシュのクリア、コンテンツの編集と保存、ユーザーの作成、検索インデックスのテスト、クエリーのテストなどを試します。その後、ログファイルをダウンロードして分析し、問題点を洗い出します。
- Cloud NextのサイトにSSHでアクセスし、drushコマンドが正しく実行できることを確認します。なお、正しく動作させるためには、Drushをcomposerプロジェクトの一部として組み込む必要がある場合があります。
- スケジュールジョブ、Cloud Hooks、およびGitリポジトリ内の他の場所(特にカスタムスクリプトとモジュール)にハードコードされたファイルシステムパスがないか調べます。これらのファイルパスがCloud Next環境に存在し、かつ読み取り可能(または書き込み可能)であることを確認して、必要があればパスを適切に調整します。
- Cloud Hooksを使用している場合、Cloud UIに表示されるタスクログを見ながら、トリガーが正しく動作していることを確認します。
- リモートのdrushエイリアスをテストします。場合によってはAcquia CLIを使用してDrushエイリアスを再ダウンロードするか、クラウドUIから手動でダウンロードする必要があります。
- Cloud Classicに存在するいくつかの機能は、テストの時点でまだAcquia Cloud Nextで利用できず、テストの一部が失敗する可能性があることに注意してください。
Acquia Cloud Nextのアップグレードリスクと推奨する変更について
Acquia Cloud Platformは、世界中のお客様によって数千の独自のコードベースと数十万のサイトを管理するために使用されています。過去12年間に渡って提供されてきたAcquia Cloud Platformの柔軟性によって、お客様はアプリケーションのコードと構成を無限に変更することができ、サイトや関連サービスにDrupalに独自の変更を加えることで組織特有のビジネスニーズに合致できることを保証しています。
アクイアは1年を費やして、数百の異なるDrupalアプリケーションに対してAcquia Cloud Nextテクノロジーのテストを行ってきましたが(その多くはプライベートアルファおよびベータ期間中にお客様の協力を得て行われました)、大幅にカスタマイズされたサイトを持つお客様は、アクイアの環境に対するアップグレードに備えて追加の手順を実行する必要があります。
このセクションでは、他のお客様のアップグレード中に繰り返し問題を引き起こすことが示されている既知の危険な設定や慣行、そしてアップグレード前(場合によってはアップグレード後)にAcquia Cloud Nextテクノロジー上でアプリケーションのパフォーマンス、回復力、長期的な持続性を最大化するために設定できる項目について説明します。
ベストプラクティスの推奨事項:
- BLT:Acquia Cloud Next環境において、BLTを使用する一部のアプリケーションでDrushエラーなどが発生することを確認しています。Acquia Cloud Nextへのアップグレードまたはプロビジョニング後、全てのBLTアプリケーションとプロセスを直ちにテストし、期待どおりに動作することを確認してください。
- /tmp またはホームディレクトリ:独自の /tmp ディレクトリを使用する一部のアプリケーションで、Acquia Cloud Nextの新しいディレクトリ構造により問題が発生することが確認されています。アプリケーションコードや自動化に /tmp またはホームディレクトリを使用している場合は、環境がAcquia Cloud Nextにアップグレードされた後、この機能を十分にテストしてください。アップグレード後に、これらのディレクトリや関連する自動化の再指定または置換が必要な場合があります。
- シンボリックリンク:非標準のディレクトリへの独自のシンボリックリンクを使用しているお客様は、アップグレード後に問題が発生する可能性があります。非本番環境へのアップグレードが完了したら、すぐにアプリケーションを徹底的にテストしてください。いくつかのシンボリックリンクは、正しく機能するために新しいファイルディレクトリへの再指定が必要な場合があります。
Memcacheやcronの専用インスタンスはどうなりますか?
Acquia Cloud Nextテクノロジーは、コンテナ化を使用してアプリケーション層のソフトウェアやサービスを分離することで、常に専用の容量を持つように設計されています。
従来のインスタンスベースの価格モデルをご利用のお客様には、購入されたcronとMemcacheの容量はCloud Capacity Unit(CCI)に変換され、次回の更新まで、ご契約の容量のエンタイトルメントに含まれることになります。
新しいViews/Visits価格モデルをご利用のお客様は、購入されたcronとMemcacheの容量はCloud Capacity Unit(CCU)に変換され、次回の更新まで、購入したViews/Visitsの階層のFair Useリソース制限を増やすために使用されます。
元記事:Common Technical Questions when Upgrading Drupal Applications & Environments to Acquia Cloud Next