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.
.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
-
Bei Pro-Projekten müssen Sie ein Adobe Commerce-Support-Ticket einreichen um Services nur in
StagingundProductionzu installieren oder zu aktualisieren. -
Geben Sie an, welche Service-Änderungen erforderlich sind, schließen Sie Ihre aktualisierten
.magento.app.yaml- undservices.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-, rabbitmq- und activemq-artemis-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
activemq-artemis:
type: activemq-artemis:2.42
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 vorhandenen 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:
-
Zeigen Sie in Ihrer lokalen Umgebung die Beziehungen für die aktive Umgebung an.
code language-bash magento-cloud relationships -
Bestätigen Sie die
serviceundtypeaus 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:
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
-
Auflisten der Beziehungskonfigurationsdaten für alle in der Umgebung konfigurierten Services.
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_ppOder verwenden Sie den folgenden
ece-tools-Befehl, um Beziehungen anzuzeigen:code language-bash php ./vendor/bin/ece-tools env:config:show services -
Bestätigen Sie die
serviceundtypeaus 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. Siehe Systemanforderungen im Installationshandbuch für 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 -Datei eol.yamlece-tools“ eingesehen .
Zu OpenSearch migrieren
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.
-
Ändern Sie den
typefür den Dienst in der.magento/services.yaml:Ursprüngliche Service-Definition
code language-yaml mysql: type: mysql:10.3 disk: 2048Aktualisierte Service-Definition
code language-yaml mysql: type: mysql:10.4 disk: 5120 -
Code-Änderungen hinzufügen, übertragen und per Push übertragen.
code language-bash git add .magento/services.yamlcode 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:
-
Benennen Sie einen vorhandenen Service mit der neuen Version um. Dadurch werden der vorhandene Service und die Daten entfernt und ein neuer hinzugefügt.
-
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:
-
Benennen Sie den vorhandenen Service in der
.magento/services.yamlum 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.yamlcode language-yaml mysql: type: mysql:10.4 disk: 5120Neue
services.yamlcode language-yaml mysql2: type: mysql:10.3 disk: 5120 -
Aktualisieren Sie die Beziehungen in der
.magento.app.yaml..magento.app.yamlOriginalkonfigurationcode language-yaml relationships: database: "mysql:mysql"Aktualisierte
.magento.app.yamlcode language-yaml relationships: database: "mysql2:mysql" -
Code-Änderungen hinzufügen, übertragen und per Push übertragen.
So stufen Sie einen Service durch Erstellen eines Service herunter:
-
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 -
Ändern Sie die Beziehungskonfiguration in der
.magento.app.yaml-Datei, um den neuen Service zu verwenden..magento.app.yamlOriginalkonfigurationcode language-yaml relationships: database: "mysql:mysql"Neue
.magento.app.yamlcode language-yaml relationships: database: "mysql2:mysql" -
Code-Änderungen hinzufügen, übertragen und per Push übertragen.