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.
.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
Staging
- und Production
-Umgebungen zu installieren oder zu aktualisieren..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.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:
-
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 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:
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
-
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
-
Bestätigen Sie die
service
undtype
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
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.
-
Ä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
-
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:
-
Benennen Sie einen vorhandenen Dienst mit der neuen Version um, die den vorhandenen Dienst und die vorhandenen Daten entfernt und einen neuen hinzufügt.
-
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:
-
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
-
Aktualisieren Sie die Beziehungen in der Datei "
.magento.app.yaml
".Ursprüngliche
.magento.app.yaml
-Konfigurationcode language-yaml relationships: database: "mysql:mysql"
Aktualisierte
.magento.app.yaml
-Konfigurationcode language-yaml relationships: database: "mysql2:mysql"
-
Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.
So stufen Sie einen Dienst herunter, indem Sie einen Dienst erstellen:
-
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
-
Ändern Sie die Beziehungskonfiguration in der Datei
.magento.app.yaml
, um den neuen Dienst zu verwenden.Ursprüngliche
.magento.app.yaml
-Konfigurationcode language-yaml relationships: database: "mysql:mysql"
Neue
.magento.app.yaml
-Konfigurationcode language-yaml relationships: database: "mysql2:mysql"
-
Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.