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

Aggiorna un ambiente

Se l' AWS Proton ambiente è associato a una connessione con un account di ambiente, non aggiornare né includere il protonServiceRoleArn parametro per aggiornare o connettersi a una connessione a un account di ambiente.

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

  • 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 all'account di ambiente è associata all'ambiente corrente.

Se l'ambiente non è associato a una connessione all'account di ambiente, non aggiornare o includere il environmentAccountConnectionId parametro.

È possibile aggiornare il protonServiceRoleArn parametro e il valore environmentAccountConnectionId o. Non puoi aggiornare entrambi.

Se il tuo ambiente utilizza il provisioning autogestito, non aggiornare il provisioning-repository parametro e ometti i environmentAccountConnectionId parametri and. protonServiceRoleArn

Esistono quattro modalità per aggiornare un ambiente, come descritto nell'elenco seguente. Quando si utilizza AWS CLI, il deployment-type campo definisce la modalità. Quando si utilizza la console, queste modalità sono mappate alle azioni Modifica, Aggiorna, Aggiorna secondarie e Aggiorna principali che si trovano in Azioni.

NONE

In questa modalità, non si verifica una distribuzione. Vengono aggiornati solo i parametri dei metadati richiesti.

CURRENT_VERSION

In questa modalità, l'ambiente viene distribuito e aggiornato con le nuove specifiche fornite dall'utente. Vengono aggiornati solo i parametri richiesti. Non includere i parametri della versione minore o principale quando lo usideployment-type.

MINOR_VERSION

In questa modalità, l'ambiente viene distribuito e aggiornato con la versione secondaria pubblicata, 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 che sia superiore alla versione principale in uso e una versione secondaria (opzionale).

Aggiornare un ambiente di provisioning AWS gestito

Il provisioning standard è supportato solo dagli ambienti che forniscono con. AWS CloudFormation

Usa la console o AWS CLI per aggiornare il tuo ambiente.

AWS Management Console
Aggiorna un ambiente utilizzando la console come illustrato nei passaggi seguenti.
  1. Scegli uno dei 2 passaggi seguenti.
    1. Nell'elenco degli ambienti.
      1. Nella AWS Proton console, scegli Ambienti.

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

    2. Nella pagina dei dettagli dell'ambiente della console.
      1. Nella AWS Proton console, scegli Ambienti.

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

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

        Scegli Modifica.

      2. Compila il modulo e scegli Avanti.

      3. Controlla la modifica e scegli Aggiorna.

    2. Per aggiornare solo gli input dei metadati.
      1. Scegli Azioni e poi Aggiorna.

      2. Compila il modulo e scegli Modifica.

      3. Compila i moduli e scegli Avanti fino a raggiungere la pagina di revisione.

      4. Controlla gli aggiornamenti e scegli Aggiorna.

    3. Per effettuare un aggiornamento a una nuova versione secondaria del relativo modello di ambiente.
      1. Scegli Azioni e poi Aggiorna secondario.

      2. Compila il modulo e scegli Avanti.

      3. Compila i moduli e scegli Avanti fino a raggiungere la pagina di revisione.

      4. Controlla gli aggiornamenti e scegli Aggiorna.

    4. Per effettuare un aggiornamento a una nuova versione principale del relativo modello di ambiente.
      1. Scegli Azioni e poi Aggiorna principale.

      2. Compila il modulo e scegli Avanti.

      3. Compila i moduli e scegli Avanti fino a raggiungere la pagina di revisione.

      4. Controlla gli aggiornamenti e scegli Aggiorna.

AWS CLI

Usa il AWS Proton AWS CLI per aggiornare un ambiente a una nuova versione secondaria.

Esegui il comando seguente per aggiornare l'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 comando seguente 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" } }

Aggiornare un ambiente di provisioning autogestito

Il provisioning autogestito è supportato solo dagli ambienti che utilizzano Terraform.

Usa la console o AWS CLI per aggiornare il tuo ambiente.

AWS Management Console
Aggiorna un ambiente utilizzando la console come illustrato nei passaggi seguenti.
  1. Scegli uno dei 2 passaggi seguenti.
    1. Nell'elenco degli ambienti.
      1. Nella AWS Proton console, scegli Ambienti.

      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. Nella AWS Proton console, scegli Ambienti.

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

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

        Scegli Modifica.

      2. Compila il modulo e scegli Avanti.

      3. Controlla la modifica e scegli Aggiorna.

    2. Per aggiornare solo gli input dei metadati.
      1. Scegli Azioni e poi Aggiorna.

      2. Compila il modulo e scegli Modifica.

      3. Compila i moduli e scegli Avanti fino a raggiungere la pagina di revisione.

      4. Controlla gli aggiornamenti e scegli Aggiorna.

    3. Per effettuare un aggiornamento a una nuova versione secondaria del relativo modello di ambiente.
      1. Scegli Azioni e poi Aggiorna secondario.

      2. Compila il modulo e scegli Avanti.

      3. Compila i moduli e scegli Avanti fino a raggiungere la pagina di revisione.

      4. Controlla gli aggiornamenti e scegli Aggiorna.

    4. Per effettuare un aggiornamento a una nuova versione principale del relativo modello di ambiente.
      1. Scegli Azioni e poi Aggiorna principale.

      2. Compila il modulo e scegli Avanti.

      3. Compila i moduli e scegli Avanti fino a raggiungere la pagina di revisione.

      4. Controlla gli aggiornamenti e scegli Aggiorna.

AWS CLI
Usa il AWS CLI per aggiornare un ambiente Terraform a una nuova versione minore 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 comando seguente 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. Controlla la pull request che è stata inviata da AWS Proton.

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

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

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

  4. Fornisci lo stato di approvvigionamento a. AWS Proton

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

Annullare l'implementazione di un ambiente in corso

È possibile tentare di annullare la distribuzione di un aggiornamento dell'ambiente se deploymentStatus è attivaIN_PROGRESS. AWS Proton tenta di annullare la distribuzione. L'annullamento riuscito non è garantito.

Quando annulli la distribuzione di un aggiornamento, AWS Proton tenta di annullare la distribuzione come indicato nei passaggi seguenti.

Con AWS-managed provisioning, AWS Proton effettua le seguenti operazioni:
  • Imposta lo stato di distribuzione su. CANCELLING

  • 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 allo stato precedente all'avvio della distribuzione.

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

  • Imposta lo stato di distribuzione CANCELLED se la pull request è stata chiusa correttamente.

Per istruzioni su come annullare la distribuzione di un ambiente, consulta la CancelEnvironmentDeploymentsezione AWS Proton APIReference.

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

AWS Management Console

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

  1. Nella AWS Proton console, scegli Ambienti nel riquadro di navigazione.

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

  3. Se lo stato di distribuzione dell'aggiornamento è In corso, nella pagina dei dettagli dell'ambiente, scegli Azioni e quindi Annulla distribuzione.

  4. Una finestra modale richiede di confermare l'annullamento. Scegli Annulla distribuzione.

  5. Lo stato di distribuzione degli aggiornamenti è impostato su Annullamento e quindi su Annullato per completare l'annullamento.

AWS CLI

Utilizza AWS Proton AWS CLI per annullare la distribuzione di un aggiornamento PROGRESS dell'ambiente IN_ a una nuova versione secondaria 2.

Nel modello utilizzato per questo esempio è inclusa una condizione di attesa in modo che l'annullamento inizi prima del completamento della distribuzione dell'aggiornamento.

Esegui il comando seguente 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 comando seguente 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" } }