Konfigurieren von Services

Die services.yaml definiert die Services, die von Adobe Commerce in Cloud-Infrastrukturen wie MySQL, Redis und Elasticsearch oder OpenSearch unterstützt und verwendet werden. Sie müssen keine externen Dienstleister abonnieren.

NOTE
Die .magento/services.yaml wird lokal im .magento des Projekts verwaltet. Die Konfiguration wird nur während des Build-Prozesses aufgerufen, um die erforderlichen Service-Versionen in der Integrationsumgebung zu definieren, und wird entfernt, sobald die Bereitstellung abgeschlossen ist. Sie finden sie daher nicht auf dem Server.

Das Bereitstellungsskript verwendet die Konfigurationsdateien im .magento, um die Umgebung mit den konfigurierten Services bereitzustellen. Ein Dienst wird für die Anwendung verfügbar, wenn er in der relationships der .magento.app.yaml enthalten ist. Die services.yaml-Datei enthält die Werte type und disk. Der Diensttyp definiert den Dienst name und version.

Wenn Sie eine Service-Konfiguration ändern, stellt eine -Bereitstellung die Umgebung mit den aktualisierten Services bereit, was sich auf die folgenden Umgebungen auswirkt:

  • Alle Starter-Umgebungen einschließlich master
  • Pro-Integrationsumgebungen
TIP
Bei Pro-Projekten müssen Sie ein Adobe Commerce-Support-Ticket einreichen um Services nur in Staging und Production zu installieren oder zu aktualisieren.
Geben Sie an, welche Service-Änderungen erforderlich sind, schließen Sie Ihre aktualisierten .magento.app.yaml- und services.yaml-Dateien ein und geben Sie die PHP-Version im Ticket an. Informationen zu Self-Service-Änderungen an PHP-Versionen, Erweiterungen oder Umgebungseinstellungen finden Sie unter PHP-Einstellungen unter Anwendungskonfiguration.
Bei Änderungen an einer Live-Produktionsumgebung nur Pro ist eine Vorankündigung von mindestens 48 Stunden erforderlich. Dadurch hat das Cloud-Infrastruktur-Team genügend Zeit, Ressourcen zu mobilisieren und ein sicheres Upgrade durchzuführen. Die Kündigungsfrist beginnt, wenn das Infrastruktur-Team die Anfrage bestätigt und das Upgrade plant, mit Ausnahme der Wochenenden. Damit beispielsweise Service-Upgrades an einem Montag abgeschlossen werden, muss bis Mittwoch eine Bestätigung des geplanten Upgrades empfangen werden. In Spitzenzeiten kann die Verarbeitung Ihrer Anfrage länger dauern.

Standard- und unterstützte Services

Die Cloud-Infrastruktur unterstützt und stellt die folgenden Services bereit:

Sie können Standardversionen und Datenträgerwerte in der aktuellen (-services.yaml). Das folgende Beispiel zeigt die mysql, redis, opensearch oder elasticsearch und rabbitmq Services, die in der services.yaml-Konfigurationsdatei definiert sind:

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

Service-Werte

Sie müssen die Service-ID und den type: <name>:<version> für den Service-Typ angeben. Wenn der Service persistenten Speicher verwendet, müssen Sie einen Datenträgerwert angeben.

Verwenden Sie das folgende Format:

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

service-id

Der service-id identifiziert den Service im Projekt. Sie können nur alphanumerische Kleinbuchstaben verwenden: a zu z und 0 zu 9, z. B. redis.

Dieser service-id-Wert wird in der relationships-Eigenschaft der .magento.app.yaml-Konfigurationsdatei verwendet:

relationships:
    redis: "<name>:redis"

Sie können mehrere Instanzen jedes Service-Typs benennen. Sie können beispielsweise mehrere Redis-Instanzen verwenden - eine für die Sitzung und eine für den Cache.

redis:
    type: redis:<version>

redis2:
    type: redis:<version>

Beim Umbenennen eines Dienstes in der services.yaml-Datei Folgendes entfernt:

  • Öffnen Sie den vorhandenen Dienst, bevor Sie einen Dienst mit dem von Ihnen angegebenen neuen Namen erstellen.
  • Alle vorhandenen Daten für den Service werden entfernt. Adobe empfiehlt dringend, Ihre Starter-Umgebung zu sichern bevor Sie den Namen eines bestehenden Services ändern.

type

Der type gibt den Namen und die Version des Services an. Beispiel:

mysql:
    type: mysql:10.4

disk

Der disk gibt die Größe des persistenten Festplattenspeichers (in MB) an, der dem Service zugewiesen werden soll. Dienste, die persistenten Speicher verwenden, wie MySQL, müssen einen Festplattenwert angeben. Dienste, die Speicher anstelle von persistentem Speicher verwenden, wie z. B. Redis, benötigen keinen Festplattenwert.

mysql:
    type: mysql:10.4
    disk: 5120

Der aktuelle standardmäßige Speicherbedarf pro Projekt beträgt 5 GB oder 512 0 MB. Sie können diesen Betrag zwischen Ihrer Anwendung und den einzelnen zugehörigen Diensten aufteilen.

Service-Beziehungen

In Adobe Commerce in Cloud-Infrastrukturprojekten bestimmen ServiceBeziehungen, die in der .magento.app.yaml-Datei konfiguriert sind, welche Services für Ihre Anwendung verfügbar sind.

Sie können die Konfigurationsdaten für alle Service-Beziehungen aus der $MAGENTO_CLOUD_RELATIONSHIPS Umgebungsvariablen abrufen. Die Konfigurationsdaten umfassen den Dienstnamen, den Typ und die Version sowie alle erforderlichen Verbindungsdetails wie Port-Nummer und Anmeldeinformationen.

So überprüfen Sie Beziehungen in der lokalen Umgebung:

  1. Zeigen Sie in Ihrer lokalen Umgebung die Beziehungen für die aktive Umgebung an.

    code language-bash
    magento-cloud relationships
    
  2. Bestätigen Sie die service und type aus der Antwort. Die Antwort enthält Verbindungsinformationen wie IP-Adresse und Port-Nummer.

    Abgekürzte Beispielantwort

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

So überprüfen Sie Beziehungen in Remote-Umgebungen:

  1. Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.

  2. Auflisten der Beziehungskonfigurationsdaten für alle in der Umgebung konfigurierten Services.

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

    Oder verwenden Sie den folgenden ece-tools-Befehl, um Beziehungen anzuzeigen:

    code language-bash
    php ./vendor/bin/ece-tools env:config:show services
    
  3. Bestätigen Sie die service und type aus der Antwort. Die Antwort enthält Verbindungsinformationen wie die IP-Adresse und Port-Nummer sowie alle erforderlichen Benutzernamen- und Kennwortberechtigungen.

Service-Versionen

Die Unterstützung der Service-Version und der Kompatibilität für Adobe Commerce in der Cloud-Infrastruktur wird durch Versionen bestimmt, die in der Cloud-Infrastruktur bereitgestellt und getestet werden, und unterscheidet sich manchmal von Versionen, die von Adobe Commerce On-Premise-Bereitstellungen unterstützt werden. Unter Systemanforderungen im Installations-Handbuch finden Sie eine Liste der Abhängigkeiten von Drittanbieterprogrammen, die Adobe mit bestimmten Adobe Commerce- und Magento Open Source-Versionen getestet hat.

Software-EOL-Prüfungen

Während des Bereitstellungsprozesses überprüft das ece-tools-Paket die installierten Service-Versionen für jeden Service mit den Ablaufdaten (End of Life, EOL).

  • Wenn eine Service-Version innerhalb von drei Monaten nach dem Ende der Nutzungsdauer veröffentlicht wird, wird im Bereitstellungsprotokoll eine Benachrichtigung angezeigt.
  • Wenn das Ende der Nutzungsdauer in der Vergangenheit liegt, wird eine Warnmeldung angezeigt.

Um die Speichersicherheit aufrechtzuerhalten, aktualisieren Sie installierte Softwareversionen, bevor sie das Ende der Nutzungsdauer erreichen. Die EOL-Daten können in der eol.yaml-Datei ece-tools“ eingesehen.

Zu OpenSearch migrieren

WARNING
Elasticsearch 7.11 und höher wird für Adobe Commerce in Cloud-Infrastrukturen nicht unterstützt. Die Adobe Commerce-Versionen 2.3.7-p3, 2.4.3-p2 und 2.4.4 und höher unterstützen den OpenSearch-Service. Die lokalen Installationen unterstützen weiterhin das Elasticsearch.

Informationen zu Adobe Commerce Version 2.4.4 und höher finden Sie unter Einrichten des OpenSearch-Service.

Service-Version ändern

Sie können die installierte Version des Services aktualisieren, um die Kompatibilität mit der Adobe Commerce-Version zu gewährleisten, die in Ihrer Cloud-Umgebung bereitgestellt wird.

Ein Downgrade der Service-Version für einen installierten Service ist nicht direkt möglich. Sie können jedoch einen Service mit der erforderlichen Version erstellen. Siehe Downgrade-Service-.

Upgrade der installierten Dienstversion

Sie können die installierte Version des Services aktualisieren, indem Sie die Service-Konfiguration in der services.yaml-Datei aktualisieren.

  1. Ändern Sie den type für den Dienst in der .magento/services.yaml:

    Ursprüngliche Service-Definition

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

    Aktualisierte Service-Definition

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    
  2. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

    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>
    

Version herunterstufen

Ein Downgrade eines installierten Services ist nicht direkt möglich. Sie haben zwei Möglichkeiten:

  1. Benennen Sie einen vorhandenen Service mit der neuen Version um. Dadurch werden der vorhandene Service und die Daten entfernt und ein neuer hinzugefügt.

  2. Erstellen Sie einen Service und speichern Sie die Daten aus dem vorhandenen Service.

Wenn Sie die Service-Version ändern, müssen Sie die Service-Konfiguration in der services.yaml-Datei aktualisieren und die Beziehungen in der .magento.app.yaml-Datei aktualisieren.

So stufen Sie eine Dienstversion durch Umbenennen eines vorhandenen Dienstes herunter:

  1. Benennen Sie den vorhandenen Service in der .magento/services.yaml um und ändern Sie die Version.

    note warning
    WARNING
    Beim Umbenennen eines vorhandenen Dienstes wird dieser ersetzt und alle Daten werden gelöscht. Wenn Sie die Daten beibehalten müssen, erstellen Sie einen Service, anstatt den vorhandenen Service umzubenennen.

    Um beispielsweise die MariaDB-Version für den Service mysql von Version 10.4 auf 10.3 herunterzustufen, ändern Sie die vorhandene Konfiguration service-id und type.

    services.yaml

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

    Neue services.yaml

    code language-yaml
    mysql2:
         type: mysql:10.3
         disk: 5120
    
  2. Aktualisieren Sie die Beziehungen in der .magento.app.yaml.

    .magento.app.yaml Originalkonfiguration

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

    Aktualisierte .magento.app.yaml

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

So stufen Sie einen Service durch Erstellen eines Service herunter:

  1. Fügen Sie der services.yaml-Datei für Ihr Projekt eine Service-Definition mit der heruntergestuften Versionsspezifikation hinzu. Siehe mysql2 im folgenden Beispiel:

    services.yaml

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    mysql2:
        type: mysql:10.3
        disk: 5120
    
  2. Ändern Sie die Beziehungskonfiguration in der .magento.app.yaml-Datei, um den neuen Service zu verwenden.

    .magento.app.yaml Originalkonfiguration

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

    Neue .magento.app.yaml

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

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