Avviso di fine del supporto: il 7 ottobre 2026, AWS terminerà il supporto per AWS Proton. Dopo il 7 ottobre 2026, non potrai più accedere alla AWS Proton console o AWS Proton alle risorse. L'infrastruttura implementata rimarrà intatta. Per ulteriori informazioni, consulta la AWS Proton Service Deprecation and Migration Guide.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazioni di sincronizzazione del servizio
Con la sincronizzazione dei servizi, puoi configurare e distribuire i tuoi AWS Proton servizi usando Git. Puoi utilizzare Service Sync per gestire le distribuzioni iniziali e gli aggiornamenti del AWS Proton servizio con una configurazione definita in un repository Git. Tramite Git, puoi utilizzare funzionalità come il monitoraggio delle versioni e le pull request per configurare, gestire e distribuire i tuoi servizi. Service Sync si combina AWS Proton con Git per aiutarti a fornire un'infrastruttura standardizzata definita e gestita tramite AWS Proton modelli. Gestisce le definizioni dei servizi nel tuo repository Git e riduce il cambio di strumento. Rispetto all'utilizzo del solo Git, la standardizzazione dei modelli e la distribuzione in AWS Proton aiuta a dedicare meno tempo alla gestione dell'infrastruttura. AWS Proton offre inoltre una maggiore trasparenza e verificabilità sia per gli sviluppatori che per i team della piattaforma.
AWS Proton File OPS
Il proton-ops file definisce dove AWS Proton trova il file delle specifiche utilizzato per aggiornare l'istanza del servizio. Definisce inoltre in quale ordine aggiornare le istanze del servizio e quando promuovere le modifiche da un'istanza all'altra.
Il proton-ops file supporta la sincronizzazione di un'istanza del servizio utilizzando il file spec, o più file di specifiche, presenti nel repository collegato. Puoi farlo definendo un blocco di sincronizzazione nel proton-ops file, come nell'esempio seguente.
Esempio /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
Nell'esempio precedente, frontend-svc è il nome del servizio e,,, alpha beta gammaprod-one, prod-two e sono le istanze. prod-three
Il spec file può essere costituito da tutte le istanze o da un sottoinsieme delle istanze definite all'interno del file. proton-ops Tuttavia, come minimo, deve avere l'istanza definita all'interno del ramo e la specifica da cui si esegue la sincronizzazione. Se le istanze non sono definite nel proton-ops file, con il ramo e la posizione del spec file specifici, Service Sync non creerà o aggiornerà tali istanze.
Gli esempi seguenti mostrano l'aspetto dei spec file. Ricorda che il proton-ops file viene sincronizzato da questi spec file.
Esempio./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"
Esempio./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"
Esempio./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"
Se un'istanza non si sincronizza e il problema persiste durante il tentativo di sincronizzazione, chiamare l'GetServiceInstanceSyncStatusAPI può aiutare a risolvere il problema.
Nota
I clienti che utilizzano il servizio di sincronizzazione sono ancora soggetti a AWS Proton limitazioni.
Bloccanti
Sincronizzando il servizio tramite AWS Proton Service Sync, puoi aggiornare le specifiche del servizio e creare e aggiornare le istanze del servizio dal tuo repository Git. Tuttavia, ci possono essere momenti in cui è necessario aggiornare un servizio o un'istanza manualmente tramite o. Console di gestione AWS AWS CLI
AWS Proton consente di evitare di sovrascrivere eventuali modifiche manuali apportate tramite Console di gestione AWS or AWS CLI, ad esempio l'aggiornamento di un'istanza del servizio o l'eliminazione di un'istanza del servizio. A tale scopo, crea AWS Proton automaticamente un blocco della sincronizzazione del servizio disattivando la sincronizzazione del servizio quando rileva una modifica manuale.
Per ottenere tutti i blocchi associati a un servizio, è necessario eseguire le seguenti operazioni nell'ordine di ciascun elemento serviceInstance associato al servizio:
-
Chiama l'
getServiceSyncBlockerSummaryAPI con solo il.serviceName -
Chiama l'
getServiceSyncBlockerSummaryAPI conserviceNameeserviceInstanceName.
Ciò restituisce un elenco dei blocchi più recenti e lo stato ad essi associato. Se alcuni blocchi sono contrassegnati come ATTIVI, è necessario risolverli chiamando l'UpdateServiceSyncBlockerAPI con la blockerId e resolvedReason per ognuno di essi.
Se aggiorni o crei manualmente un'istanza del servizio, AWS Proton crea un blocco di sincronizzazione del servizio sull'istanza del servizio. AWS Proton continua a sincronizzare tutte le altre istanze del servizio, ma disabilita la sincronizzazione di questa istanza del servizio finché il blocco non viene risolto. Se si elimina un'istanza del servizio da un servizio, AWS Proton crea un blocco di sincronizzazione del servizio sul servizio. Ciò AWS Proton impedisce la sincronizzazione di qualsiasi istanza del servizio finché il blocco non viene risolto.
Dopo aver ottenuto tutti i bloccanti attivi, è necessario risolverli chiamando l'UpdateServiceSyncBlockerAPI con la blockerId e resolvedReason per ciascuno dei bloccanti attivi.
Utilizzando il Console di gestione AWS, puoi determinare se la sincronizzazione di un servizio è disabilitata accedendo alla scheda Service Sync AWS Proton e scegliendo la scheda Service Sync. Se il servizio o le istanze del servizio sono bloccati, viene visualizzato il pulsante Abilita. Per abilitare la sincronizzazione del servizio, scegli Abilita.