Pro アーキテクチャ

Adobe Commerce on cloud infrastructure Pro アーキテクチャは、ストアの開発、テスト、ローンチに使用できる複数の環境をサポートしています。

  • マスター – を提供する master サービスとしてのプラットフォーム(PaaS)コンテナにデプロイされたブランチ。
  • 統合 – 単一の integration 開発用に分岐しますが、追加で 1 つの分岐を作成できます。 これにより、最大 2 つまで指定できます アクティブ サービスとしてのプラットフォーム(PaaS)コンテナにデプロイされたブランチ。
  • ステージング – 単一の staging サービスとしての専用インフラストラクチャ(IaaS)コンテナにデプロイされたブランチ。
  • 実稼動 – 単一の production サービスとしての専用インフラストラクチャ(IaaS)コンテナにデプロイされたブランチ。

次の表に、環境の違いの概要を示します。

統合
ステージング
実稼動
での設定管理をサポートします Cloud Console
はい
制限付き
制限付き
複数のブランチをサポート
はい
いいえ(ステージングのみ)
いいえ(実稼動のみ)
設定に YAML ファイルを使用
はい
不可
不可
専用の IaaS ハードウェアで実行
不可
はい
はい
Fastly CDN を含む
不可
はい
はい
New Relic サービスを含む
不可
APM
APM + NRI
自動バックアップ
不可
はい
はい
NOTE
Adobeでは、ローカルの Cloud Docker 環境にデプロイしてAdobe Commerce プロジェクトの開発とテストを行うための Cloud Docker for Commerce ツールを提供しています。 参照: Docker 開発.

環境アーキテクチャ

プロジェクトは、次の 3 つの主な環境ブランチを持つ 1 つの Git リポジトリーです。 integration, staging、および production. 次の図は、Pro 環境の階層関係を示しています。

Pro 環境アーキテクチャの概要

マスター環境

Pro プロジェクトでは、 master ブランチは、実稼動環境にアクティブな PaaS 環境を提供します。 常に実稼動コードのコピーを master 環境:サービスを中断することなく実稼動環境をデバッグできます。

注意事項:

  • 実行 ではない に基づいてブランチを作成します。 master 分岐。 統合環境を使用して、開発用のアクティブなブランチを作成します。

  • を使用しないでください。 master 開発、UAT またはパフォーマンステストの環境

統合環境

統合環境は、PaaS と呼ばれるサーバーのグリッド上の Linux コンテナ(LXC)で動作します。 各環境には、サイトをテストするための web サーバーとデータベースが含まれます。 参照: 地域の IP アドレス AWSおよび Azure の IP アドレスのリストについては、を参照してください。

推奨されるユースケース:

統合環境は、変更をステージング環境と実稼動環境に移行する前に、限定的なテストと開発のために設計されています。 例えば、統合環境を使用して、次のタスクを実行できます。

  • 継続的統合(CI)プロセスへの変更がクラウドと互換性があることを確認します

  • ホーム、カテゴリ、製品詳細ページ(PDP)、チェックアウト、管理者などの主要なページでの重要なワークフローのテスト

統合環境で最高のパフォーマンスを得るには、次のベストプラクティスに従います。

  • カタログサイズを制限

  • 使用を 1 人または 2 人の同時ユーザーに制限する

  • cron ジョブを無効にし、必要に応じて手動で実行する

注意事項:

  • Fastly CDN およびNew Relic サービスは、統合環境ではアクセスできません

  • 統合環境のアーキテクチャがステージングおよび実稼動のアーキテクチャと一致しません

  • を使用しないでください。 integration 開発テスト、パフォーマンステストまたはユーザー受け入れテスト(UAT)の環境

  • を使用しないでください。 integration Adobe Commerce機能に関する B2B のテスト環境

  • 統合環境のデータベースを、実稼動環境またはステージング環境のデータベースから復元することはできません

NOTE
2020 年 6 月 5 日(PT)より前にプロビジョニングされたプロジェクトには、複数の小規模な統合環境がありました。 テストおよび開発に大規模な統合環境が必要な場合は、拡張統合環境へのアップグレードをリクエストします。 を参照してください。 統合環境リクエスト の記事 Adobe Commerceヘルプセンター を参照してください。

ステージング環境

ステージング環境は、サイトをテストするための実稼動環境に近い環境を提供します。 専用の IaaS ハードウェアでホストされるこの環境には、Fastly CDN、New Relic APM、検索などのすべてのサービスが含まれます。

推奨されるユースケース:

この環境は実稼動アーキテクチャと一致し、機能をにプッシュする前の UAT、コンテンツのステージングおよび最終レビュー用に設計されています production 環境。 例えば、 staging 環境:次のタスクを実行します。

  • 実稼動データに対する回帰テスト

  • Fastly キャッシュを有効にしたパフォーマンステスト

  • 実稼動環境でパッチを適用する代わりに新しいビルドをテスト

  • 新しいビルドの UAT テスト

  • Adobe Commerceのテスト B2B

  • cron 設定のカスタマイズと cron ジョブのテスト

参照: デプロイメントワークフロー および デプロイメントをテスト.

注意事項:

  • 実稼動サイトの立ち上げ後、主にステージング環境を使用して、実稼動に不可欠なバグ修正のためのパッチをテストします。

  • から分岐を作成することはできません staging 分岐。 代わりに、からコードの変更をプッシュします integration の分岐 staging 分岐。

実稼動環境

実稼動環境は、公開されている単一サイトおよびマルチサイトのストアフロントを実行します。 この環境は、冗長な高可用性ノードを備えた専用の IaaS ハードウェア上で動作し、継続的なアクセスとフェイルオーバー保護をお客様に提供します。 実稼動環境には、ステージング環境のすべてのサービスに加えて、 New Relicインフラストラクチャ(NRI) サービス。アプリケーションデータおよび performance analytics と自動的に接続され、動的なサーバー監視を提供します。

注意事項:

から分岐を作成することはできません production 分岐。 代わりに、からコードの変更をプッシュします staging の分岐 production 分岐。

生産テクノロジースタック

実稼動環境には、Elastic Load Balancer の背後にある 3 つの仮想マシン(VM)があり、VM ごとに HAProxy によって管理されます。 各 VM には次のテクノロジーが含まれます。

  • Fastly CDN—HTTP キャッシュと CDN

  • NGINX—PHP-FPM を使用する Web サーバ、複数のワーカーを持つ 1 つのインスタンス

  • GlusterFS – すべての静的ファイル展開と 4 つのディレクトリ・マウントによる同期を管理するファイル・サーバ:

    • var
    • pub/media
    • pub/static
    • app/etc
  • Redis— 1 つのアクティブな VM ごとに 1 台のサーバ、他の 2 台をレプリカとして使用

  • Elasticsearch—cloud infrastructure 2.2 から 2.4.3-p2 のAdobe Commerceを検索します。

  • OpenSearch—cloud infrastructure 2.3.7-p3、2.4.3-p2、2.4.4 以降のAdobe Commerceを検索します。

  • ガレラ – ノードごとに 1 つの MariaDB MySQL データベースを持つデータベース・クラスタ。各データベースの一意の ID に対する自動インクリメント設定は 3 です。

次の図は、実稼動環境で使用されるテクノロジーを示しています。

生産テクノロジースタック

冗長ハードウェア

従来のアクティブ/パッシブを実行するのではなく、 master または、プライマリー/セカンダリ設定として、クラウドインフラストラクチャー上のAdobe Commerceでは次を実行します 冗長アーキテクチャ 3 つのインスタンスすべてが読み取りと書き込みを受け入れる場所。 このアーキテクチャにより、スケーリング時のダウンタイムがなくなり、トランザクションの整合性が保証されます。

Adobeでは、独自の冗長ハードウェアを使用することで、3 台のゲートウェイ・サーバを提供できます。 ほとんどの外部サービスでは、1 つの許可リストに複数の IP アドレスを割り当てることができるので、複数の固定 IP アドレスを持っていても問題ありません。 3 つのゲートウェイは、実稼動環境クラスター内の 3 つのサーバーにマッピングされ、静的 IP アドレスを保持します。 これは完全な冗長性を備え、あらゆるレベルで高可用性を実現します。

  • DNS
  • コンテンツ配信ネットワーク(CDN)
  • 弾性ロードバランサー(ELB)
  • データベースと web サーバーを含むすべてのAdobe Commerce サービスで構成される 3 サーバークラスター

バックアップと障害回復

クラウドインフラストラクチャー上のAdobe Commerceでは、3 つの個別のAWSまたは Azure 可用性ゾーン(各ゾーンには個別のデータセンターがある)に各 Pro プロジェクトをレプリケートする高可用性アーキテクチャを使用します。 この冗長性に加えて、ステージング環境と実稼動環境は、以下の場合に使用するように設計された、定期的なライブバックアップを受け取ります。 壊滅的な失敗.

自動バックアップ mysql データベースや、マウントされたボリュームに格納されたファイルなど、実行中のすべてのサービスからの永続的なデータを含めます。 バックアップは、実稼働環境と同じリージョン内の暗号化された EBS (Elastic Block Storage)に保存されます。 自動バックアップは、別のシステムに保存されているので、公開ではアクセスできません。

TIP
ステージング環境および実稼動環境では、次の操作が必要です Adobe Commerce サポートチケットを送信 チケット内の日付、時刻、タイムゾーンを記録する特定のバックアップを取得します。
Adobeが実行 ではない 自動バックアップから環境を復元します。 参照: ステージング環境または実稼動環境から DB スナップショットを復元 ステージングスナップショットまたは実稼動スナップショットを復元する方法を選択する際に役立ちます。

以下を作成できます 手動バックアップ CLI コマンドを使用したステージング環境および実稼動環境用のデータベースの。 参照: データベースのバックアップ. の場合 integration Adobeでは、クラウドインフラストラクチャプロジェクト上のAdobe Commerceにアクセスした後、大きな変更を加える前に、最初の手順としてバックアップを作成することをお勧めします。 参照: バックアップ管理.

RPO (目標復旧時点)

RPO (目標復旧時点)は、最後のバックアップまで最大 6 時間です(たとえば、06:00、12:00、18:00)。 バックアップの頻度は、計画のバックアップスケジュールと、ストレージサービスに書き込む変更のボリュームによって異なります。

保持ポリシー

Adobeは、次のデータ・リテンション・ポリシーに従って自動バックアップを保持します。

期間
バックアップ保持ポリシー
1 日目から 3 日目
1 時間に 1 回のバックアップ
4 日目から 7 日目
1 日に 1 回のバックアップ
第 2~6 週
1 週間に 1 回のバックアップ
第 8~12 週
2 週間に 1 回のバックアップ
月 3 ~ 5
月に 1 回のバックアップ

このポリシーは、クラウドインフラストラクチャプランによって異なる場合があります。

目標リカバリ時間

RTO はストレージのサイズによって異なります。 大規模な EBS ボリュームのリストアには、より多くの時間がかかります。 復元時間は、データベースのサイズによって異なる場合があります。

  • 大規模なデータベース(200 GB 以上)の場合、5 時間かかる場合があります
  • 中程度のデータベース(150 GB)の場合、2 1/2 時間かかる場合があります
  • 小規模なデータベース(60 GB)の場合、1 時間かかる場合があります

Pro クラスタのスケーリング

Pro クラスターのサイジングと compute 設定は、選択したクラウドプロバイダー(AWS、Azure)、地域、サービスの依存関係によって異なります。 Adobeクラウドインフラストラクチャは、トラフィックの期待値とサービス要件の変化に合わせて Pro クラスタを拡張できます。

冗長アーキテクチャにより、Adobeのクラウドインフラストラクチャをダウンタイムなしでアップスケールできます。 アップグレード時には、3 つのインスタンスが回転して、サイトの運用に影響を与えることなく容量をアップグレードします。 例えば、データベース階層ではなく PHP 階層の制約を受ける場合、既存のクラスタに Web サーバを追加できます。 これが提供する機能 水平スケーリング データベースレベルで追加の CPU によって提供される垂直方向のスケーリングを補完します。 参照: 拡張されたアーキテクチャ.

イベントやその他の理由でトラフィックが大幅に増加すると予想される場合は、一時的な容量増加をリクエストできます。 参照: 一時的なアップサイズをリクエストする方法 が含まれる Commerceヘルプセンター.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26