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
Staging
und Production
zu installieren oder zu aktualisieren..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.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:
-
Zeigen Sie in Ihrer lokalen Umgebung die Beziehungen für die aktive Umgebung an.
code language-bash magento-cloud relationships
-
Bestätigen Sie die
service
undtype
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:
-
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_pp
Oder 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
service
undtype
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
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
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
-
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:
-
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.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
-
Aktualisieren Sie die Beziehungen in der
.magento.app.yaml
..magento.app.yaml
Originalkonfigurationcode language-yaml relationships: database: "mysql:mysql"
Aktualisierte
.magento.app.yaml
code 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.yaml
Originalkonfigurationcode language-yaml relationships: database: "mysql:mysql"
Neue
.magento.app.yaml
code language-yaml relationships: database: "mysql2:mysql"
-
Code-Änderungen hinzufügen, übertragen und per Push übertragen.