Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS endet der Support für AWS Proton. Nach dem 7. Oktober 2026 werden Sie nicht mehr auf die AWS Proton Konsole oder AWS Proton die Ressourcen zugreifen können. Ihre bereitgestellte Infrastruktur bleibt intakt. Weitere Informationen finden Sie im AWS Proton Service Deprecation and Migration Guide.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Konfigurationen für die Dienstsynchronisierung
Mit der Dienstsynchronisierung können Sie Ihre AWS Proton Dienste mithilfe von Git konfigurieren und bereitstellen. Du kannst Service Sync verwenden, um erste Bereitstellungen und Aktualisierungen deines AWS Proton Dienstes mit einer in einem Git-Repository definierten Konfiguration zu verwalten. Über Git kannst du Funktionen wie Versionsverfolgung und Pull Requests verwenden, um deine Dienste zu konfigurieren, zu verwalten und bereitzustellen. Service Sync kombiniert AWS Proton Git mit Git, um dir bei der Bereitstellung einer standardisierten Infrastruktur zu helfen, die mithilfe von AWS Proton Vorlagen definiert und verwaltet wird. Es verwaltet die Servicedefinitionen in deinem Git-Repository und reduziert den Wechsel zwischen den Tools. Im Vergleich zur alleinigen Verwendung von Git AWS Proton hilft dir die Standardisierung der Vorlagen und die Bereitstellung, weniger Zeit mit der Verwaltung deiner Infrastruktur zu verbringen. AWS Proton bietet außerdem eine höhere Transparenz und Überprüfbarkeit sowohl für Entwickler als auch für Plattformteams.
AWS Proton OPS-Datei
Die proton-ops Datei definiert, wo AWS Proton sich die Spezifikationsdatei befindet, die zum Aktualisieren Ihrer Service-Instanz verwendet wird. Außerdem wird definiert, in welcher Reihenfolge die Dienstinstanzen aktualisiert werden sollen und wann Änderungen von einer Instanz auf eine andere übertragen werden sollen.
Die proton-ops Datei unterstützt das Synchronisieren einer Dienstinstanz mithilfe der Spezifikationsdatei oder mehrerer Spezifikationsdateien, die sich in Ihrem verknüpften Repository befinden. Sie können dies tun, indem Sie einen Synchronisierungsblock in der proton-ops Datei definieren, wie im folgenden Beispiel.
Beispiel. /configuration/proton-ops.yaml:
sync: services: frontend-svc: alpha: branch: dev spec: ./frontend-svc/test/frontend-spec.yaml beta: branch: dev spec: ./frontend-svc/test/frontend-spec.yaml gamma: branch: pre-prod spec: ./frontend-svc/pre-prod/frontend-spec.yaml prod-one: branch: prod spec: ./frontend-svc/prod/frontend-spec-second.yaml prod-two: branch: prod spec: ./frontend-svc/prod/frontend-spec-second.yaml prod-three: branch: prod spec: ./frontend-svc/prod/frontend-spec-second.yaml
Im vorherigen Beispiel frontend-svc ist das der Dienstname und,,alpha, beta gamma prod-oneprod-two, und prod-three sind die Instanzen.
Bei der spec Datei kann es sich um alle Instanzen oder eine Teilmenge der Instanzen handeln, die in der proton-ops Datei definiert sind. Sie muss jedoch mindestens die Instanz innerhalb des Branches und die Spezifikation, von der aus sie synchronisiert wird, definiert haben. Wenn in der proton-ops Datei keine Instanzen mit dem spezifischen Branch und spec Dateispeicherort definiert sind, erstellt oder aktualisiert die Servicesynchronisierung diese Instanzen nicht.
Die folgenden Beispiele zeigen, wie die spec Dateien aussehen. Denken Sie daran, dass die proton-ops Datei aus diesen spec Dateien synchronisiert wird.
Beispiel: ./frontend-svc/test/frontend-spec.yaml
proton: "ServiceSpec" instances: - name: "alpha" environment: "frontend-env" spec: port: 80 desired_count: 1 task_size: "x-small" image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0" - name: "beta" environment: "frontend-env" spec: port: 80 desired_count: 1 task_size: "x-small" image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
Beispiel./frontend-svc/pre-prod/frontend-spec.yaml:
proton: "ServiceSpec" instances: - name: "gamma" environment: "frontend-env" spec: port: 80 desired_count: 1 task_size: "x-small" image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
Beispiel./frontend-svc/prod/frontend-spec-second.yaml:
proton: "ServiceSpec" instances: - name: "prod-one" environment: "frontend-env" spec: port: 80 desired_count: 1 task_size: "x-small" image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0" - name: "prod-two" environment: "frontend-env" spec: port: 80 desired_count: 1 task_size: "x-small" image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0" - name: "prod-three" environment: "frontend-env" spec: port: 80 desired_count: 1 task_size: "x-small" image: "public.ecr.aws/z9d2n7e1/nginx:1.21.0"
Wenn eine Instanz nicht synchronisiert wird und beim Versuch, sie zu synchronisieren, weiterhin ein Problem auftritt, kann der Aufruf der GetServiceInstanceSyncStatus API zur Lösung des Problems beitragen.
Anmerkung
Für Kunden, die die Servicesynchronisierung verwenden, gelten weiterhin AWS Proton Einschränkungen.
Blocker
Indem du deinen Service mithilfe der AWS Proton Service Sync synchronisierst, kannst du deine Servicespezifikation aktualisieren und Dienstinstanzen aus deinem Git-Repository erstellen und aktualisieren. Es kann jedoch vorkommen, dass du einen Dienst oder eine Instanz manuell über das AWS-Managementkonsole oder aktualisieren musst. AWS CLI
AWS Proton verhindert, dass manuelle Änderungen, die Sie über das AWS-Managementkonsole oder vornehmen, überschrieben werden AWS CLI, wie z. B. das Aktualisieren einer Dienstinstanz oder das Löschen einer Dienstinstanz. Um dies zu erreichen, erstellt es AWS Proton automatisch einen Service Sync Blocker, indem es die Service Sync deaktiviert, wenn eine manuelle Änderung erkannt wird.
Um alle mit einem Dienst verknüpften Blocker abzurufen, müssen Sie die folgenden Schritte ausführen, und zwar in der richtigen Reihenfolge für jeden, der dem Dienst serviceInstance zugeordnet ist:
-
Rufen Sie die
getServiceSyncBlockerSummaryAPI nur mit dem aufserviceName. -
Rufen Sie die
getServiceSyncBlockerSummaryAPI mit demserviceNameund aufserviceInstanceName.
Dies gibt eine Liste der neuesten Blocker und den damit verbundenen Status zurück. Wenn Blocker als AKTIV markiert sind, müssen Sie sie lösen, indem Sie die UpdateServiceSyncBlocker API mit dem blockerId und resolvedReason für jeden einzelnen aufrufen.
Wenn Sie eine Dienstinstanz manuell aktualisieren oder erstellen, AWS Proton wird ein Dienstsynchronisierungsblocker auf der Dienstinstanz erstellt. AWS Proton synchronisiert weiterhin alle anderen Dienstinstanzen, deaktiviert jedoch die Synchronisierung dieser Dienstinstanz, bis der Blocker aufgelöst ist. Wenn Sie eine Dienstinstanz aus einem Dienst löschen, AWS Proton wird ein Dienstsynchronisierungsblocker für den Dienst erstellt. Dadurch wird AWS Proton verhindert, dass eine der Dienstinstanzen synchronisiert wird, bis der Blocker aufgelöst wurde.
Nachdem Sie alle aktiven Blocker haben, müssen Sie sie lösen, indem Sie die UpdateServiceSyncBlocker API mit blockerId und resolvedReason für jeden der aktiven Blocker aufrufen.
Mithilfe von können Sie feststellen AWS-Managementkonsole, ob eine Servicesynchronisierung deaktiviert ist, indem Sie zur Registerkarte Service Sync navigieren AWS Proton und diese auswählen. Wenn der Dienst oder die Dienstinstanzen blockiert sind, wird die Schaltfläche „Aktivieren“ angezeigt. Um die Dienstsynchronisierung zu aktivieren, wählen Sie Enable.