Aggiornare un ambiente - AWS Proton

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à.

Aggiornare un ambiente

Se ilAWS Protonl'ambiente è associato a una connessione con un account di ambiente,nonaggiornare o includereprotonServiceRoleArnparametro per aggiornare o connettersi a una connessione con un account di ambiente.

È possibile eseguire l'aggiornamento a una nuova connessione all'account di ambiente solo se si verificano entrambe le condizioni seguenti:

  • La connessione all'account di ambiente è stata creata nello stesso account di ambiente in cui è stata creata la connessione all'account di ambiente corrente.

  • >La connessione dell'account di ambiente è associata all'ambiente corrente.

Se l'ambientenon èassociato a una connessione con un account di ambiente,nonaggiornare o includereenvironmentAccountConnectionIdparametro.

È possibile aggiornare entrambi ienvironmentAccountConnectionIdoprotonServiceRoleArnparametro e valore. Non puoi aggiornare entrambi.

Se l'ambiente utilizza il provisioning autogestito,nonaggiornare ilprovisioning-repositoryparametro eomettonoloenvironmentAccountConnectionIdeprotonServiceRoleArnparametri.

Esistono quattro modalità per aggiornare un ambiente, come descritto nell'elenco seguente. Quando si utilizza ilAWS CLI, ildeployment-typeil campo definisce la modalità. Quando si utilizza la console, queste modalità sono associate aModifica,Aggiornamento,Aggiorna minore, eAggiornamento principaleazioni che scendono daAzioni.

NONE

In questa modalità, una distribuzionenonverificarsi. Vengono aggiornati solo i parametri dei metadati richiesti.

CURRENT_VERSION

In questa modalità, l'ambiente viene distribuito e aggiornato con le nuove specifiche fornite. Vengono aggiornati solo i parametri richiesti. Nonincludi parametri di versione secondari o principali quando lo usideployment-type.

MINOR_VERSION

In questa modalità, l'ambiente viene distribuito e aggiornato con la versione secondaria pubblicata e consigliata (più recente) della versione principale corrente in uso per impostazione predefinita. È inoltre possibile specificare una versione secondaria diversa della versione principale corrente in uso.

MAJOR_VERSION

In questa modalità, l'ambiente viene distribuito e aggiornato con la versione principale e secondaria pubblicata, consigliata (più recente) del modello corrente per impostazione predefinita. È inoltre possibile specificare una versione principale diversa superiore alla versione principale in uso e una versione secondaria (opzionale).

Aggiorna unAWSambiente di provisioning gestito

Il provisioning standard è supportato solo dagli ambienti che fornisconoAWS CloudFormation.

Usa la console oAWS CLIper aggiornare il tuo ambiente.

AWS Management Console
Aggiorna un ambiente utilizzando la console come illustrato nei passaggi seguenti.
  1. Scegli 1 dei 2 passaggi seguenti.
    1. Nell'elenco degli ambienti.
      1. NelAWS Protonplancia, scegliAmbienti.

      2. Nell'elenco degli ambienti, scegli il pulsante radio a sinistra dell'ambiente che desideri aggiornare.

    2. Nella pagina dei dettagli dell'ambiente della console.
      1. NelAWS Protonplancia, scegliAmbienti.

      2. Nell'elenco degli ambienti, scegli il nome dell'ambiente che desideri aggiornare.

  2. Scegli uno dei 4 passaggi successivi per aggiornare il tuo ambiente.
    1. Per apportare una modifica che non richieda la distribuzione dell'ambiente.
      1. Ad esempio, per modificare una descrizione.

        Scegliere Modifica.

      2. Compila il modulo e scegliProssimo.

      3. Controlla la tua modifica e scegliAggiornamento.

    2. Per aggiornare solo gli input di metadati.
      1. ScegliAzionie poiAggiornamento.

      2. Compila il modulo e scegliModifica.

      3. Compila i moduli e scegliProssimofino a raggiungere ilRevisionepagina.

      4. Controlla i tuoi aggiornamenti e scegliAggiornamento.

    3. Per effettuare un aggiornamento a una nuova versione secondaria del relativo modello di ambiente.
      1. ScegliAzionie poiAggiorna minore.

      2. Compila il modulo e scegliProssimo.

      3. Compila i moduli e scegliProssimofino a raggiungere ilRevisionepagina.

      4. Controlla i tuoi aggiornamenti e scegliAggiornamento.

    4. Per effettuare un aggiornamento a una nuova versione principale del relativo modello di ambiente.
      1. ScegliAzionie poiAggiornamento principale.

      2. Compila il modulo e scegliProssimo.

      3. Compila i moduli e scegliProssimofino a raggiungere ilRevisionepagina.

      4. Controlla i tuoi aggiornamenti e scegliAggiornamento.

AWS CLI

Usa ilAWS Proton AWS CLIper aggiornare un ambiente a una nuova versione secondaria.

Esegui il seguente comando per aggiornare il tuo ambiente:

$ aws proton update-environment \ --name "MySimpleEnv" \ --deployment-type "MINOR_VERSION" \ --template-major-version "1" \ --template-minor-version "1" \ --proton-service-role-arn arn:aws:iam::123456789012:role/service-role/ProtonServiceRole \ --spec "file:///spec.yaml"

Risposta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:29:55.472000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "simple-env" } }

Esegui il seguente comando per ottenere e confermare lo stato:

$ aws proton get-environment \ --name "MySimpleEnv"

Risposta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "MySimpleEnv", "lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }

Aggiornamento di un ambiente di provisioning autogestito

Il provisioning autogestito è supportato solo dagli ambienti che effettuano il provisioning con Terraform.

Usa la console oAWS CLIper aggiornare il tuo ambiente.

AWS Management Console
Aggiorna un ambiente utilizzando la console come illustrato nei passaggi seguenti.
  1. Scegli 1 dei 2 passaggi seguenti.
    1. Nell'elenco degli ambienti.
      1. NelAWS Protonplancia, scegliAmbienti.

      2. Nell'elenco degli ambienti, scegli il pulsante di opzione a sinistra del modello di ambiente che desideri aggiornare.

    2. Nella pagina dei dettagli dell'ambiente della console.
      1. NelAWS Protonplancia, scegliAmbienti.

      2. Nell'elenco degli ambienti, scegli il nome dell'ambiente che desideri aggiornare.

  2. Scegli uno dei 4 passaggi successivi per aggiornare il tuo ambiente.
    1. Per apportare una modifica che non richieda la distribuzione dell'ambiente.
      1. Ad esempio, per modificare una descrizione.

        Scegliere Modifica.

      2. Compila il modulo e scegliProssimo.

      3. Controlla la tua modifica e scegliAggiornamento.

    2. Per aggiornare solo gli input di metadati.
      1. ScegliAzionie poiAggiornamento.

      2. Compila il modulo e scegliModifica.

      3. Compila i moduli e scegliProssimofino a raggiungere ilRevisionepagina.

      4. Controlla i tuoi aggiornamenti e scegliAggiornamento.

    3. Per effettuare un aggiornamento a una nuova versione secondaria del relativo modello di ambiente.
      1. ScegliAzionie poiAggiorna minore.

      2. Compila il modulo e scegliProssimo.

      3. Compila i moduli e scegliProssimofino a raggiungere ilRevisionepagina.

      4. Controlla i tuoi aggiornamenti e scegliAggiornamento.

    4. Per effettuare un aggiornamento a una nuova versione principale del relativo modello di ambiente.
      1. ScegliAzionie poiAggiornamento principale.

      2. Compila il modulo e scegliProssimo.

      3. Compila i moduli e scegliProssimofino a raggiungere ilRevisionepagina.

      4. Controlla i tuoi aggiornamenti e scegliAggiornamento.

AWS CLI
Usa ilAWS CLIper aggiornare un ambiente Terraform a una nuova versione secondaria con provisioning autogestito.
  1. Esegui il seguente comando per aggiornare il tuo ambiente:

    $ aws proton update-environment \ --name "pr-environment" \ --deployment-type "MINOR_VERSION" \ --template-major-version "1" \ --template-minor-version "1" \ --provisioning-repository "branch=main,name=myrepos/env-repo,provider=GITHUB" \ --spec "file://env-spec-mod.yaml"

    Risposta:

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T21:09:15.745000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00", "lastDeploymentSucceededAt": "2021-11-18T21:09:15.745000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "pr-env-template" } }
  2. Esegui il seguente comando per ottenere e confermare lo stato:

    $ aws proton get-environment \ --name "pr-environment"

    Risposta:

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T21:09:15.745000+00:00", "deploymentStatus": "SUCCEEDED", "lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00", "lastDeploymentSucceededAt": "2021-11-18T21:25:41.998000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "spec": "proton: EnvironmentSpec\nspec:\n ssm_parameter_value: \"test\"\n ssm_another_parameter_value: \"update\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "pr-env-template" } }
  3. Rivedi la richiesta di pull inviata daAWS Proton.

    • Se approvi la richiesta, il provisioning è in corso.

    • Se si rifiuta la richiesta, la creazione dell'ambiente viene annullata.

    • Se la pull request scade, la creazione dell'ambiente non è completa.

  4. Fornisci lo stato di approvvigionamento aAWS Proton.

    $ aws proton notify-resource-deployment-status-change \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/pr-environment" \ --status "SUCCEEDED"

Annullare la distribuzione di un ambiente in corso

È possibile tentare di annullare la distribuzione di un aggiornamento dell'ambiente sedeploymentStatusè dentroIN_PROGRESS.AWS Protontenta di annullare la distribuzione. Annullamento riuscitonon ègarantito.

Quando si annulla la distribuzione di un aggiornamento,AWS Protontenta di annullare la distribuzione come indicato nei passaggi seguenti.

ConAWS-fornitura gestita,AWS Protonesegue le seguenti operazioni:
  • Imposta lo stato di distribuzione suCANCELLING.

  • Interrompe la distribuzione in corso ed elimina tutte le nuove risorse create dalla distribuzione quandoIN_PROGRESS.

  • Imposta lo stato di distribuzione suCANCELLED.

  • Riporta lo stato della risorsa a quello precedente all'avvio della distribuzione.

Con il provisioning autogestito,AWS Protonesegue le seguenti operazioni:
  • Tenta di chiudere la pull request per impedire l'unione delle modifiche al repository.

  • Imposta lo stato di distribuzione suCANCELLEDse la pull request è stata chiusa con successo.

Per istruzioni su come annullare la distribuzione di un ambiente, vedereCancelEnvironmentDeploymentnelAWS ProtonRiferimento API.

È possibile utilizzare la console o la CLI per annullare gli ambienti in corso.

AWS Management Console

Usa la console per annullare la distribuzione di un aggiornamento dell'ambiente, come illustrato nei passaggi seguenti.

  1. NelAWS Protonplancia, scegliAmbientinel riquadro di navigazione.

  2. Nell'elenco degli ambienti, scegli il nome dell'ambiente con l'aggiornamento della distribuzione che desideri annullare.

  3. Se lo stato di distribuzione degli aggiornamenti èIn corso, nella pagina dei dettagli dell'ambiente, scegliAzionie poiAnnullare la distribuzione.

  4. Una modalità richiede di confermare l'annullamento. ScegliAnnullare la distribuzione.

  5. Lo stato di distribuzione degli aggiornamenti è impostato suAnnullamentoe poiAnnullatoper completare la cancellazione.

AWS CLI

Usa ilAWS Proton AWS CLIper annullare la distribuzione di un aggiornamento dell'ambiente IN_PROGRESS a una nuova versione secondaria 2.

Nel modello utilizzato per questo esempio è inclusa una condizione di attesa in modo che l'annullamento inizi prima che la distribuzione dell'aggiornamento abbia esito positivo.

Esegui il seguente comando per annullare l'aggiornamento:

$ aws proton cancel-environment-deployment \ --environment-name "MySimpleEnv"

Risposta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "CANCELLING", "lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }

Esegui il seguente comando per ottenere e confermare lo stato:»

$ aws proton get-environment \ --name "MySimpleEnv"

Risposta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "CANCELLED", "deploymentStatusMessage": "User initiated cancellation.", "lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }