

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

# Risoluzione dei problemi CloudFormation StackSets
<a name="stacksets-troubleshooting"></a>

Questo argomento contiene alcuni StackSets problemi comuni e le relative soluzioni suggerite.

**Topics**
+ [Motivi comuni per operazioni di stack non riuscite](#common-reasons-for-stack-operation-failure)
+ [Nuovo tentativo di operazioni di creazione o aggiornamento d stack non riuscite](#retrying-failed-stack-creation-or-update-operations)
+ [L'eliminazione dell'istanza di stack non riesce](#stack-instance-delete-fails)
+ [L'operazione di importazione di stack ha esito negativo](#stack-import-fails)
+ [Numero di errori delle istanze dello stack per le operazioni StackSets](#stack-instance-failure-count-for-stackset-operations)

## Motivi comuni per operazioni di stack non riuscite
<a name="common-reasons-for-stack-operation-failure"></a>

**Problema:** un'operazione di stack non è riuscita e lo stato dell'istanza di stack è `OUTDATED`.

**Causa:** esistono diverse cause comuni per le operazioni di stack non riuscite.
+ Autorizzazioni insufficienti in un account target per la creazione delle risorse specificate nel modello.
+ Il CloudFormation modello potrebbe contenere errori. Convalida il modello CloudFormation e correggi gli errori prima di provare a creare il tuo StackSet.
+ È possibile che il modello stia provando a creare le risorse globali che devono essere univoche, ma non lo sono, ad esempio i bucket S3.
+ Non esiste un numero di account target specificato. Controlla i numeri di account target specificati nella pagina **Set deployment options (Imposta opzioni di distribuzione)** della procedura guidata.
+ L'account amministratore non ha una relazione di trust con l'account target.
+ Nell'account target è già presente il numero massimo di una risorsa specificato nel modello. Ad esempio, è possibile che sia stato raggiunto il limite di ruoli IAM consentiti in un account target, ma il modello crea un numero maggiore di ruoli IAM.
+ Hai raggiunto il numero massimo di pile consentite in a. StackSet Per il numero massimo di pile per pila StackSet, vedi. [Comprendi le CloudFormation quote](cloudformation-limits.md)

**Soluzione:** per ulteriori informazioni sulle autorizzazioni richieste agli account di destinazione e amministratore prima di poter creare StackSets, consulta. [Concedere a tutti gli utenti dell’account amministratore le autorizzazioni per gestire gli stack in tutti gli account di destinazione](stacksets-prereqs-self-managed.md#stacksets-prereqs-accountsetup)

## Nuovo tentativo di operazioni di creazione o aggiornamento d stack non riuscite
<a name="retrying-failed-stack-creation-or-update-operations"></a>

**Problema:** un'operazione di creazione o aggiornamento di stack non è riuscita e lo stato dell'istanza di stack è `OUTDATED`. Per risolvere il motivo per cui la creazione o l'aggiornamento di uno stack non sono riusciti, apri la CloudFormation console e visualizza gli eventi dello stack, che avrà lo stato di (in caso di operazioni di creazione non riuscite) o `DELETED` `FAILED` (in caso di operazioni di aggiornamento non riuscite). Sfogliare gli eventi di stack e individuare la colonna **Status reason (Motivo dello stato)**. Il valore di **Status reason (Motivo dello stato)** spiega perché l'operazione dello stack non è riuscita.

Dopo aver corretto la causa alla base dell'errore di creazione dello stack e si è pronti per riprovare, eseguire la procedura riportata di seguito.

**Soluzione:** eseguire la procedura seguente per riprovare l'operazione di stack.

1. Nella console, seleziona StackSet quello che contiene lo stack in cui l'operazione non è riuscita.

1. Nel menu **Azioni**, scegli **Modifica StackSet dettagli** per riprovare a creare o aggiornare gli stack.

1. Nella pagina **Specify template (Specifica modello)**, per utilizzare lo stesso modello CloudFormation, mantenere l'opzione predefinita **Use current template (Utilizza modello corrente)**. Se l'operazione di stack non è riuscita perché il modello richiedeva modifiche e si desidera caricare un modello aggiornato, scegliere invece **Upload a template to Amazon S3 (Carica un modello in Amazon S3)**, quindi selezionare **Browse (Sfoglia)** per selezionare il modello aggiornato. Dopo aver caricato il modello aggiornato, scegliere **Next (Avanti)**.

1. Nella pagina **Specifica i dettagli**, se non intendi modificare parametri specifici del modello, scegli **Avanti**.

1. Nella pagina **Set deployment options (Imposta opzioni di distribuzione)**, se si desidera, modificare le impostazioni predefinite per **Maximum concurrent accounts (Numero massimo di account simultanei)** e **Failure tolerance (Tolleranza ai guasti)**. Per ulteriori informazioni su queste impostazioni, consultare [StackSet opzioni operative](stacksets-concepts.md#stackset-ops-options).

1. Nella pagina **Review (Revisione)** rivedere le selezioni e indicare con un segno di spunta di aver preso visione delle funzionalità IAM richieste. Seleziona **Invia**.

1. Se lo stack non viene aggiornato, ripetere questa procedura dopo aver risolto eventuali problemi sottostanti che impediscono di creare lo stack.

## L'eliminazione dell'istanza di stack non riesce
<a name="stack-instance-delete-fails"></a>

**Problema:** non è stato possibile eliminare uno stack.

**Causa:** non è possibile eliminare gli stack per cui è stata abilitata la protezione da cessazione.

**Soluzione:** verificare se per lo stack è stata abilitata la protezione da cessazione. In caso affermativo, disabilitare la protezione da cessazione, quindi eseguire nuovamente l'eliminazione dell'istanza dello stack.

## L'operazione di importazione di stack ha esito negativo
<a name="stack-import-fails"></a>

**Problema:** un'operazione di importazione di stack non riesce a importare gli stack esistenti in pile nuove o esistenti. StackSets L'istanza di stack si trova in uno stato `INOPERABLE`.

**Soluzione:** ripristinare l'operazione di importazione di stack, completando le seguenti attività.

1. Usa l' StackSetsopzione **Delete Stacks from** e abilitala **RetainStacks**durante la configurazione, quindi procedi con l'eliminazione delle istanze dello stack dal tuo. StackSet Per ulteriori informazioni, consulta [Elimina pile da CloudFormation StackSets](stackinstances-delete.md).

1. Vedrai che le istanze dello stack StackSet vengono aggiornate per rimuovere l'istanza dello stack. `INOPERABLE`

1. Correggi le istanze dello stack in base all'errore di importazione non riuscita e riprova l'operazione di importazione dello stack.

## Numero di errori delle istanze dello stack per le operazioni StackSets
<a name="stack-instance-failure-count-for-stackset-operations"></a>

Il numero degli errori delle istanze di stack ti avvisa se le istanze di stack non vengono fornite o aggiornate. Queste istanze di stack non sono state implementate a causa di uno o più motivi di seguito indicati:
+ Risorse esistenti con una configurazione simile
+ Dipendenze mancanti, come i ruoli AWS Identity and Access Management (IAM)
+ Altri fattori in conflitto

Per l'implementazione con la massima simultaneità, il numero massimo di simultaneità è maggiore di almeno un'unità rispetto al numero di tolleranze di errori. Ad esempio, se il numero di tolleranze di errori è 9, il numero massimo di simultaneità non può essere superiore a 10. In tal modo, l'operazione restituisce `SUCCEEDED` anche se alcune istanze di stack non vengono aggiornate. Il nuovo numero degli errori delle istanze di stack consente di determinare se l'operazione è riuscita solo in maniera condizionale poiché il numero di tolleranze di errori è impostato per consentire tutti gli errori.

Puoi utilizzare l' Console di gestione AWS AWS SDK o ottenere il conteggio degli errori e AWS CLI filtrare le istanze dello stack per determinare quali istanze devono essere ridistribuite.

### Utilizzo della console
<a name="stack-instance-failure-count-for-stackset-operations-console-examples"></a>

**Per visualizzare il numero di istanze di stack non riuscite:**

1. [Apri la console e scegli. CloudFormation **StackSets**](https://console.aws.amazon.com/cloudformation)

1. Scegli il tuo StackSet, quindi scegli la scheda **Operazioni**.

1. Scegli uno stato nella colonna **Stato** per visualizzare i dettagli dello stato. Troverai il numero di istanze di stack non riuscite per un'operazione particolare nei dettagli dello stato.

**Per visualizzare l'account, la regione e lo stato delle istanze di stack per l'operazione:**

1. Nei dettagli dello stato, scegli il numero di istanze di stack non riuscite. *Esempio:* **Istanze di stack: `<number of failed stack instances>`**.

1. Espandi il pannello laterale scegliendo l'intestazione del pannello. I risultati nel pannello laterale sono gli stati delle istanze di stack dopo il completamento dell'operazione selezionata.

**Per visualizzare i dettagli dell'istanza di stack corrente per un'operazione:**

1. Scegli la scheda **Istanze stack**.

1. Filtra per **ID ultima operazione**. I risultati sono gli stati correnti e i relativi motivi dall'ultima operazione di modifica dell'istanza. Puoi utilizzare questo filtro in combinazione con **Account AWS **, **Regione AWS **, **Stato dettagliato** e **Stato deviazione** per restringere ulteriormente i risultati della ricerca.

### Usando il AWS CLI
<a name="stack-instance-failure-count-for-stackset-operations-cli-examples"></a>

Per ottenere il numero di istanze di stack non riuscite, richiama `describe-stack-set-operation` o `list-stack-set-operations` e consulta `StatusDetails`.

```
aws cloudformation describe-stack-set-operation --stack-set-name ss1 \
    --operation-id 5550e62f-c822-4331-88fa-21c1d7bafc60
```

```
{
    "StackSetOperation": {
        "OperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60",
        "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
        "Action": "CREATE",
        "Status": "SUCCEEDED",
        "OperationPreferences": {
            "RegionOrder": [],
            "FailureToleranceCount": 10,
            "MaxConcurrentCount": 10
        },
        "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
        "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
        "CreationTimestamp": "2022-10-26T17:18:53.947000+00:00",
        "EndTimestamp": "2022-10-26T17:19:35.304000+00:00",
        "StatusDetails": {
            "FailedStackInstancesCount": 3
        }
    }
}
```

```
aws cloudformation list-stack-set-operations --stack-set-name ss1
```

```
{
    "Summaries": [
        {
            "OperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60",
            "Action": "CREATE",
            "Status": "SUCCEEDED",
            "CreationTimestamp": "2022-10-26T17:18:53.947000+00:00",
            "EndTimestamp": "2022-10-26T17:19:35.304000+00:00",
            "StatusDetails": {
                "FailedStackInstancesCount": 3
            },
            "OperationPreferences": {
                "RegionOrder": [],
                "FailureToleranceCount": 10,
                "MaxConcurrentCount": 10
            }
        }
    ]
}
```

Per ottenere una panoramica cronologica di una particolare operazione, usa `list-stack-set-operation-results` per visualizzare lo stato e il relativo motivo per ogni istanza di stack dopo il completamento dell'operazione. Consulta l'esempio seguente per trovare `Status` e `StatusReason`.

```
aws cloudformation list-stack-set-operation-results --stack-set-name ss1 \
  --operation-id 5550e62f-c822-4331-88fa-21c1d7bafc60 --filters Name=OPERATION_RESULT_STATUS,Values=FAILED
```

```
{
    "Summaries": [
        {
            "Account": "123456789012",
            "Region": "us-west-2",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        },
        {
            "Account": "123456789012",
            "Region": "us-west-1",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        },
        {
            "Account": "123456789012",
            "Region": "us-east-1",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        }
    ]
}
```

Usa `list-stack-instances` con i filtri `DETAILED_STATUS` e `LAST_OPERATION_ID` per ottenere un elenco di istanze di stack non riuscite nell'ultima operazione che ha tentato l'implementazione dell'istanza di stack. Consulta il contrassegno `--filters` nell'esempio con `DETAILED_STATUS` e `LAST_OPERATION_ID`:

```
aws cloudformation list-stack-instances --stack-set-name ss1 \
  --filters Name=DETAILED_STATUS,Values=FAILED Name=LAST_OPERATION_ID,Values=5550e62f-c822-4331-88fa-21c1d7bafc60
```

```
{
    "Summaries": [
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-east-1",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        },
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-west-1",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        },
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-west-2",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        }
    ]
}
```

Per individuare l'ID dell'ultima operazione per modificare un'istanza di stack, usa `list-stack-instances` o `describe-stack-instance` per ottenere `LastOperationId`:

```
aws cloudformation describe-stack-instance --stack-set-name ss1 \
  --stack-instance-account 123456789012 --stack-instance-region us-east-2
```

```
{
    "StackInstance": {
        "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
        "Region": "us-west-2",
        "Account": "123456789012",
        "ParameterOverrides": [],
        "Status": "OUTDATED",
        "StackInstanceStatus": {
            "DetailedStatus": "FAILED"
        },
        "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
        "OrganizationalUnitId": "",
        "DriftStatus": "NOT_CHECKED",
        "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
    }
}
```