サービスの設定

この services.yaml ファイルは、MySQL、Redis、Elasticsearchまたは OpenSearch など、クラウドインフラストラクチャー上のAdobe Commerceでサポートされ、使用されるサービスを定義します。 外部サービスプロバイダーに登録する必要はありません。 このファイルの保存先 .magento プロジェクトのディレクトリ。

デプロイスクリプトでは、の設定ファイルを使用します。 .magento 設定済みのサービスを環境にプロビジョニングするディレクトリ。 アプリケーションにサービスが含まれていると、そのサービスを使用できるようになります relationships のプロパティ .magento.app.yaml ファイル。 この services.yaml ファイルには次が含まれています タイプ および ディスク 値。 サービスタイプはサービスを定義します。 名前 および version.

サービス設定を変更すると、デプロイメントによって更新されたサービスを環境にプロビジョニングされます。これにより、次の環境が影響を受けます。

  • 実稼動を含むすべてのスターター環境 master
  • Pro 統合環境
TIP
Pro プロジェクトの場合は、次の操作が必要です Adobe Commerce サポートチケットを送信 をインストールまたは更新するには サービス 。対象: Staging および Production 環境のみ。
必要なサービス変更を示し、更新済みを含める .magento.app.yaml および services.yaml ファイルを開き、PHP のバージョンをチケットに書き込みます。 PHP のバージョン、拡張機能、または環境設定のセルフサービスの変更については、を参照してください。 PHP 設定 。対象: アプリケーション設定.
に変更を加えた場合 ライブ 実稼動環境(Pro のみ)、クラウドインフラストラクチャチームがリソースをマーシャリングし、安全なアップグレードを実施するのに十分な時間を確保するために、少なくとも 48 時間の注意事項を提供する必要があります。

デフォルトおよびサポートされているサービス

クラウドインフラストラクチャは、次のサービスをサポートおよびデプロイします。

現在ののデフォルトのバージョンとディスクの値を表示できます。 default services.yaml ファイル. 次の例に、 mysql, redis, opensearch または elasticsearch、および rabbitmq で定義されているサービス services.yaml 設定ファイル:

mysql:
    type: mysql:10.4
    disk: 5120

redis:
    type: redis:6.2

opensearch:
    type: opensearch:2  # minor version not required; uses latest
    disk: 1024

rabbitmq:
    type: rabbitmq:3.9
    disk: 1024

サービス値

サービス ID とサービスタイプを設定する必要があります type: <name>:<version>. サービスが永続的なストレージを使用する場合は、ディスク値を指定する必要があります。

次の形式を使用します。

<service-id>:
    type: <name>:<version>
    disk: <value-MB>

service-id

この service-id 値は、プロジェクト内のサービスを識別します。 使用できるのは小文字の英数字のみです。 a 対象: z および 0 対象: 9(例:) redis.

この service-id 値は relationships のプロパティ .magento.app.yaml 設定ファイル:

relationships:
    redis: "<name>:redis"

各サービスタイプの複数のインスタンスに名前を付けることができます。 例えば、複数の Redis インスタンスを使用できます。1 つはセッション用、もう 1 つはキャッシュ用です。

redis:
    type: redis:<version>

redis2:
    type: redis:<version>

でのサービス名の変更 services.yaml ファイル 完全に削除 以下を実行します。

  • 指定した新しい名前でサービスを作成する前の既存のサービス。
  • サービスの既存のデータがすべて削除されます。 Adobeでは、次のことを強くお勧めします スターター環境のバックアップ 既存のサービスの名前を変更する前に、

type

この type 値は、サービス名とバージョンを指定します。 例:

mysql:
    type: mysql:10.4

disk

この disk この値は、サービスに割り当てる永続的なディスク記憶域のサイズ (MB 単位)を指定します。 MySQL などの永続ストレージを使用するサービスでは、ディスク値を指定する必要があります。 Redis などの永続的なストレージの代わりにメモリを使用するサービスでは、ディスク値は必要ありません。

mysql:
    type: mysql:10.4
    disk: 5120

プロジェクトごとの現在のデフォルトのストレージ量は 5 GB (512 0 MB)です。 この金額は、アプリケーションと各サービスの間で配分できます。

サービスの関係

クラウドインフラストラクチャプロジェクトのAdobe Commerceでのサービス の関係 で設定 .magento.app.yaml ファイルは、アプリケーションで使用可能なサービスを決定します。

すべてのサービス関係の設定データは、 $MAGENTO_CLOUD_RELATIONSHIPS 環境変数。 設定データには、サービス名、タイプ、バージョンのほか、ポート番号やログイン資格情報など、必要な接続の詳細が含まれます。

ローカル環境で関係を検証するには:

  1. ローカル環境で、アクティブな環境の関係を表示します。

    code language-bash
    magento-cloud relationships
    
  2. 「」を確認します service および type 応答から。 応答では、IP アドレスやポート番号などの接続情報が提供されます。

    短縮されたサンプル応答

    code language-terminal
    redis:
        -
    ...
            type: 'redis:7.0'
            port: 6379
    elasticsearch:
        -
    ...
            type: 'opensearch:2'
            port: 9200
    database:
        -
    ...
            type: 'mysql:10.6'
            port: 3306
    

リモート環境で関係を検証するには:

  1. SSH を使用してリモート環境にログインします。

  2. 環境で設定されたすべてのサービスの関係設定データをリストします。

    code language-bash
    echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
    

    または、次を使用します ece-tools 関係を表示するコマンド:

    code language-bash
    php ./vendor/bin/ece-tools env:config:show services
    
  3. 「」を確認します service および type 応答から。 応答では、IP アドレスやポート番号、必要なユーザー名やパスワードの認証情報などの接続情報が提供されます。

サービスのバージョン

クラウドインフラストラクチャにおけるAdobe Commerceのサービスバージョンと互換性のサポートは、クラウドインフラストラクチャにデプロイされテストされたバージョンによって決まり、Adobe Commerceのオンプレミスデプロイメントでサポートされているバージョンとは異なる場合があります。 参照: 必要システム構成 が含まれる インストール Adobe CommerceとMagento Open Sourceの特定のリリースでAdobeがテストした、サードパーティ製ソフトウェアの依存関係のリストを示すガイド。

ソフトウェアの EOL チェック

デプロイメントプロセス中、 ece-tools パッケージは、インストールされているサービスバージョンを各サービスの提供終了(EOL)日と照合して確認します。

  • サービスのバージョンが提供終了(EOL)日から 3 か月以内の場合、デプロイログに通知が表示されます。
  • EOL 日が過去の場合は、警告通知が表示されます。

ストアのセキュリティを維持するには、インストールされているソフトウェアのバージョンを EOL になる前に更新してください。 の EOL 日を確認できます。 ece-tools' eol.yaml ファイル.

OpenSearch への移行

WARNING
Elasticsearch 7.11 以降は、クラウドインフラストラクチャー上のAdobe Commerceではサポートされていません。 Adobe Commerce バージョン 2.3.7 ~ p3、2.4.3 ~ p2、および 2.4.4 以降では、OpenSearch サービスをサポートしています。 オンプレミスのインストールでは、引き続きElasticsearchがサポートされます。

Adobe Commerce バージョン 2.4.4 以降については、を参照してください。 OpenSearch サービスの設定.

サービスバージョンの変更

インストールしたサービスバージョンは、クラウド環境にデプロイされたAdobe Commerceのバージョンと互換性を持つようにアップグレードできます。

インストールされているサービスのバージョンを直接ダウングレードすることはできません。 ただし、必要なバージョンを持つサービスを作成できます。 参照: サービス バージョンのダウングレード.

インストールされているサービスのバージョンのアップグレード

インストールされているサービスのバージョンは、でサービス設定を更新することでアップグレードできます。 services.yaml ファイル。

  1. 変更: type のサービスに対する値 .magento/services.yaml ファイル:

    元のサービス定義

    code language-yaml
    mysql:
        type: mysql:10.3
        disk: 2048
    

    更新されたサービス定義

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    
  2. コードの変更を追加、コミット、プッシュします。

    code language-bash
    git add .magento/services.yaml
    
    code language-bash
    git commit -m "Upgrade MySQL from MariaDB 10.3 to 10.4."
    
    code language-bash
    git push origin <branch-name>
    

ダウングレード版

インストールされているサービスを直接ダウングレードすることはできません。 次の 2 つのオプションがあります。

  1. 既存のサービスの名前を新しいバージョンに変更します。これにより、既存のサービスとデータが削除され、新しいサービスが追加されます。

  2. サービスを作成し、既存のサービスからデータを保存します。

サービスのバージョンを変更する場合は、でサービス設定を更新する必要があります services.yaml でファイルを作成し、関係を更新します。 .magento.app.yaml ファイル。

既存のサービスの名前を変更してサービスバージョンをダウングレードするには:

  1. の既存のサービスの名前を変更する .magento/services.yaml ファイルに入力して、バージョンを変更します。

    note warning
    WARNING
    既存のサービスの名前を変更すると、そのサービスが置き換えられ、すべてのデータが削除されます。 データを保持する必要がある場合は、既存のサービスの名前を変更する代わりに、サービスを作成します。

    例えば、の MariaDB バージョンをダウングレードするには mysql サービスをバージョン 10.4 から 10.3 に変更し、既存のを service-id および タイプ 設定。

    オリジナル services.yaml 定義

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    

    新規 services.yaml 定義

    code language-yaml
    mysql2:
         type: mysql:10.3
         disk: 5120
    
  2. での関係の更新 .magento.app.yaml ファイル。

    オリジナル .magento.app.yaml 設定

    code language-yaml
    relationships:
        database: "mysql:mysql"
    

    更新日 .magento.app.yaml 設定

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. コードの変更を追加、コミット、プッシュします。

サービスを作成してサービスをダウングレードするには:

  1. にサービス定義を追加する services.yaml ダウングレードされたバージョンの仕様を含むプロジェクトのファイル。 参照: mysql2 次の例では、

    services.yaml

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    mysql2:
        type: mysql:10.3
        disk: 5120
    
  2. での関係設定の変更 .magento.app.yaml 新しいサービスを使用するファイル。

    オリジナル .magento.app.yaml 設定

    code language-yaml
    relationships:
        database: "mysql:mysql"
    

    新規 .magento.app.yaml 設定

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. コードの変更を追加、コミット、プッシュします。

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