Dienste konfigurieren

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

NOTE
Die Datei ".magento/services.yaml" wird lokal im Verzeichnis ".magento" Ihres Projekts verwaltet. Auf die Konfiguration wird während des Build-Prozesses zur Definition der erforderlichen Dienstversionen nur in der Integrationsumgebung zugegriffen und nach Abschluss der Bereitstellung entfernt, sodass Sie sie nicht auf dem Server finden.

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

Durch das Ändern einer Dienstkonfiguration stellt eine Bereitstellung die Umgebung mit den aktualisierten Diensten bereit, was sich auf die folgenden Umgebungen auswirkt:

  • Alle Starterumgebungen einschließlich Produktion master
  • Umgebungen für Pro-Integration
TIP
Für Pro-Projekte müssen Sie ein Adobe Commerce-Support-Ticket senden, um Dienste nur in Staging - und Production -Umgebungen zu installieren oder zu aktualisieren.
Geben Sie die erforderlichen Dienständerungen an, fügen Sie Ihre aktualisierten Dateien .magento.app.yaml und services.yaml 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 in Anwendungskonfiguration.
Für Änderungen an einer Live-Produktionsumgebung (Nur Pro) ist eine Benachrichtigung über mindestens 48 Stunden erforderlich. Dadurch kann das Cloud-Infrastruktur-Team ausreichend Zeit für die Mobilisierung von Ressourcen und die Durchführung eines sicheren Upgrades erhalten. Der Benachrichtigungszeitraum beginnt, wenn das Infrastrukturteam die Anfrage bestätigt und das Upgrade plant, mit Ausnahme der Wochenenden. Damit beispielsweise Dienstaktualisierungen am Montag abgeschlossen werden können, muss bis Mittwoch eine Bestätigung des geplanten Upgrades eingehen. In Spitzenlastzeiten kann es länger dauern, Ihre Anfrage zu verarbeiten.

Standard- und unterstützte Dienste

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

Sie können Standardversionen und Festplattenwerte in der aktuellen Datei default services.yaml file anzeigen. Das folgende Beispiel zeigt die Dienste mysql, redis, opensearch oder elasticsearch und rabbitmq, die in der Konfigurationsdatei services.yaml 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

Dienstwerte

Sie müssen die Dienstkennung und die Diensttypkonfiguration type: <name>:<version> angeben. Wenn der Dienst persistenten Speicher verwendet, müssen Sie einen Festplattenwert angeben.

Verwenden Sie das folgende Format:

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

service-id

Der Wert service-id gibt den Dienst im Projekt an. Sie können nur alphanumerische Kleinbuchstaben verwenden: a bis z und 0 bis 9, z. B. redis.

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

relationships:
    redis: "<name>:redis"

Sie können für jeden Diensttyp mehrere Instanzen 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 Datei services.yaml wird dauerhaft entfernt:

  • Der vorhandene Dienst vor der Erstellung eines Dienstes mit dem von Ihnen angegebenen neuen Namen.
  • Alle vorhandenen Daten für den Dienst werden entfernt. Adobe empfiehlt dringend, dass Sie Ihre Starterumgebung sichern, bevor Sie den Namen eines vorhandenen Dienstes ändern.

type

Der Wert type gibt den Dienstnamen und die Version an. Beispiel:

mysql:
    type: mysql:10.4

disk

Der Wert disk gibt die Größe des persistenten Festplattenspeichers (in MB) an, der dem Dienst zugewiesen werden soll. Dienste, die persistenten Speicher verwenden, wie MySQL, müssen einen Festplattenwert bereitstellen. 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 Speicherbetrag pro Projekt beträgt 5 GB oder 512 0 MB. Sie können diesen Betrag zwischen Ihrer Anwendung und den einzelnen Diensten verteilen.

Service-Beziehungen

In Adobe Commerce für Cloud-Infrastrukturprojekte bestimmen die in der Datei .magento.app.yaml konfigurierten Service beziehungen , welche Dienste für Ihre Anwendung verfügbar sind.

Sie können die Konfigurationsdaten für alle Dienstbeziehungen aus der Umgebungsvariablen $MAGENTO_CLOUD_RELATIONSHIPS abrufen. Die Konfigurationsdaten umfassen den Dienstnamen, den Typ und die Version sowie alle erforderlichen Verbindungsdetails wie die Portnummer und Anmeldedaten.

Überprüfen der 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 Informationen zur Verbindung, wie die IP-Adresse und die Portnummer.

    Abgekürzte Probenantwort

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

Überprüfen von Beziehungen in Remote-Umgebungen:

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

  2. Auflisten der Daten zur Beziehungskonfiguration für alle in der Umgebung konfigurierten Dienste.

    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 die Portnummer sowie alle erforderlichen Benutzernamen- und Kennwortberechtigungen.

Dienstversionen

Die Service-Version und die Kompatibilitätsunterstützung für Adobe Commerce in der Cloud-Infrastruktur werden durch Versionen bestimmt, die in der Cloud-Infrastruktur bereitgestellt und getestet werden. Manchmal unterscheiden sie sich von den Versionen, die von lokalen Adobe Commerce-Implementierungen unterstützt werden. Eine Liste der Softwareabhängigkeiten von Drittanbietern, die Adobe mit bestimmten Adobe Commerce- und Magento Open Source-Versionen getestet hat, finden Sie unter Systemanforderungen im Handbuch Installation .

Software-EOL-Prüfungen

Während des Bereitstellungsprozesses prüft das ece-tools -Paket installierte Dienstversionen anhand des Enddatums (End of Life, EOL) für jeden Dienst.

  • Wenn eine Dienstversion innerhalb von drei Monaten nach dem Datum der Einstellung der Bereitstellung verfügbar ist, wird eine Benachrichtigung im Bereitstellungsprotokoll angezeigt.
  • Wenn das Datum der Einstellung "Ende"in der Vergangenheit liegt, wird eine Warnmeldung angezeigt.

Um die Speichersicherheit zu gewährleisten, aktualisieren Sie installierte Softwareversionen, bevor sie EOL erreichen. Sie können die EOL-Daten in der Datei eol.yaml 🔗 der ece-tools' überprüfen.

Zu OpenSearch migrieren

WARNING
Elasticsearch 7.11 und höher wird für Adobe Commerce in der Cloud-Infrastruktur nicht unterstützt. Adobe Commerce-Versionen 2.3.7-p3, 2.4.3-p2, 2.4.4 und höher unterstützen den OpenSearch-Dienst. Die Vor-Ort-Anlagen unterstützen weiterhin Elasticsearch.

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

Dienstversion ändern

Sie können die installierte Dienstversion aktualisieren, um die Kompatibilität mit der in Ihrer Cloud-Umgebung bereitgestellten Adobe Commerce-Version sicherzustellen.

Sie können die Dienstversion für einen installierten Dienst nicht direkt herunterstufen. Sie können jedoch einen Dienst mit der erforderlichen Version erstellen. Siehe Dienstversion herunterladen.

Upgrade der installierten Dienstversion

Sie können die installierte Dienstversion aktualisieren, indem Sie die Dienstkonfiguration in der Datei services.yaml aktualisieren.

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

    Definition des ursprünglichen Dienstes

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

    Aktualisierte Dienstdefinition

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    
  2. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

    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>
    

Downgrade-Version

Sie können einen installierten Dienst nicht direkt herunterladen. Sie haben zwei Optionen:

  1. Benennen Sie einen vorhandenen Dienst mit der neuen Version um, die den vorhandenen Dienst und die vorhandenen Daten entfernt und einen neuen hinzufügt.

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

Wenn Sie die Dienstversion ändern, müssen Sie die Dienstkonfiguration in der Datei services.yaml aktualisieren und die Beziehungen in der Datei .magento.app.yaml aktualisieren.

So stufen Sie eine Dienstversion herunter, indem Sie einen vorhandenen Dienst umbenennen:

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

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

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

    Originaldefinition services.yaml

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

    Neue Definition services.yaml

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

    Ursprüngliche .magento.app.yaml -Konfiguration

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

    Aktualisierte .magento.app.yaml -Konfiguration

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

So stufen Sie einen Dienst herunter, indem Sie einen Dienst erstellen:

  1. Fügen Sie der Datei services.yaml für Ihr Projekt eine Dienstdefinition 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 Datei .magento.app.yaml , um den neuen Dienst zu verwenden.

    Ursprüngliche .magento.app.yaml -Konfiguration

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

    Neue .magento.app.yaml-Konfiguration

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

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