

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

# `AWSPremiumSupport-PostgreSQLWorkloadReview`
<a name="automation-aws-postgresqlworkloadreview"></a>

 **Descrizione** 

 Il `AWSPremiumSupport-PostgreSQLWorkloadReview` runbook acquisisce più istantanee delle statistiche sull'utilizzo del database PostgreSQL di Amazon Relational Database Service (Amazon RDS). Le statistiche acquisite sono necessarie a un esperto di Supporto [Proactive Services per eseguire una revisione operativa](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/). Le statistiche vengono raccolte utilizzando un set di script SQL e shell personalizzati. Questi script vengono scaricati in un'istanza temporanea di Amazon Elastic Compute Cloud (Amazon EC2) Account AWS nell'istanza temporanea creata da questo runbook. Il runbook richiede di fornire le credenziali utilizzando un Gestione dei segreti AWS segreto contenente una coppia chiave-valore nome utente e password. Il nome utente deve disporre delle autorizzazioni per interrogare le viste e le funzioni statistiche standard di PostgreSQL. 

 Questo runbook crea automaticamente le seguenti AWS risorse utilizzando uno stack. Account AWS AWS CloudFormation È possibile monitorare la creazione dello stack utilizzando la console. CloudFormation 
+ Un cloud privato virtuale (VPC) e un'istanza Amazon EC2 sono stati lanciati in una sottorete privata del VPC con connettività opzionale a Internet tramite un gateway NAT.
+ Un ruolo AWS Identity and Access Management (IAM) collegato all'istanza temporanea di Amazon EC2 con autorizzazioni per recuperare il valore segreto di Secrets Manager. Il ruolo fornisce anche le autorizzazioni per caricare file su un bucket Amazon Simple Storage Service (Amazon S3) di tua scelta e, facoltativamente, su un case. Supporto 
+ Una connessione peering VPC per consentire la connettività tra l'istanza DB e l'istanza Amazon EC2 temporanea.
+ Systems Manager, Secrets Manager e endpoint VPC Amazon S3 collegati al VPC temporaneo.
+ Una finestra di manutenzione con attività registrate che avviano e interrompono periodicamente l'istanza temporanea di Amazon EC2, eseguono script di raccolta dati e caricano file in un bucket Amazon S3. Viene inoltre creato un ruolo IAM per la finestra di manutenzione che fornisce le autorizzazioni per eseguire le attività registrate.

 Al termine del runbook, lo CloudFormation stack utilizzato per creare AWS le risorse necessarie viene eliminato e il report viene caricato nel bucket Amazon S3 di tua scelta e, facoltativamente, in un case. Supporto 

**Nota**  
Per impostazione predefinita, viene preservato il volume root Amazon EBS dell'istanza Amazon EC2 temporanea. È possibile ignorare questa opzione impostando il `EbsVolumeDeleteOnTermination` parametro su. `true`

 **Prerequisiti** 
+  **Abbonamento Enterprise Support** Questo runbook e Proactive Services Workload Diagnostics and Reviews richiedono un abbonamento Enterprise Support. Prima di utilizzare questo runbook, contattate il Technical Account Manager (TAM) o lo Specialist TAM (STAM) per istruzioni. [Per ulteriori informazioni, consulta Proactive Services.Supporto](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/)
+  **Account e Regione AWS quote** Assicurati di non aver raggiunto il numero massimo di istanze o VPC di Amazon EC2 che puoi creare nel tuo account e nella regione in cui utilizzi questo runbook. [Se devi richiedere un aumento del limite, consulta il modulo di aumento del limite di servizio.](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase/)
+  **Configurazione del database** 

  1. L'`pg_stat_statements`estensione deve essere configurata nel database specificato nel `DatabaseName` parametro. Se non è stata effettuata la configurazione `pg_stat_statements` in`shared_preload_libraries`, è necessario modificare il valore nel DB Parameter Group e applicare le modifiche. Le modifiche al parametro `shared_preload_libraries` richiedono il riavvio dell'istanza DB. Per ulteriori informazioni, consulta la sezione [Uso di gruppi di parametri](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html). L'aggiunta `pg_stat_statements` a `shared_preload_libraries` aggiungerà un sovraccarico prestazionale. Tuttavia, ciò è utile per tenere traccia delle prestazioni delle singole dichiarazioni. Per ulteriori informazioni sull'`pg_stat_statements`estensione, consulta la documentazione di [PostgreSQL](https://www.postgresql.org/docs/10/pgstatstatements.html). Se non configuri l'`pg_stat_statements`estensione o se l'estensione non è presente nel database utilizzato per la raccolta delle statistiche, l'analisi a livello di dichiarazione non verrà presentata nella revisione operativa.

  1. Assicurati che `track_counts` i `track_activities` parametri non siano disattivati. Se questi parametri sono disattivati nel DB Parameter Group, non saranno disponibili statistiche significative. La modifica di questi parametri richiederà il riavvio dell'istanza DB. Per ulteriori informazioni, consulta [Lavorare con i parametri sull'istanza database Amazon RDS for PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.Parameters.html)

  1. Se il `track_io_timing` parametro è disattivato, le statistiche I/O di livello non verranno incluse nella revisione operativa. La modifica `track_io_timing` richiederà il riavvio dell'istanza DB e comporterà un sovraccarico di prestazioni aggiuntivo a seconda del carico di lavoro dell'istanza DB. Nonostante il sovraccarico di prestazioni per i carichi di lavoro critici, questo parametro fornisce informazioni utili relative al tempo per query. I/O 

 **Fatturazione e addebiti** Ti Account AWS verranno addebitati i costi associati all'istanza temporanea di Amazon EC2, al volume Amazon EBS associato, al gateway NAT e ai dati trasferiti durante l'esecuzione di questa automazione. Per impostazione predefinita, questo runbook crea un'istanza `t3.micro` Amazon Linux 2 per raccogliere le statistiche. Il runbook avvia e arresta l'istanza tra i passaggi per ridurre i costi.

 **Sicurezza e governance dei dati** [Questo runbook raccoglie statistiche interrogando le viste e le funzioni delle statistiche di PostgreSQL.](https://www.postgresql.org/docs/current/monitoring-stats.html) Assicurati che le credenziali fornite nel `SecretId` parametro consentano solo autorizzazioni di sola lettura per le visualizzazioni e le funzioni delle statistiche. Come parte dell'automazione, gli script di raccolta vengono caricati nel bucket Amazon S3 e possono essere collocati in. `s3://{{amzn-s3-demo-bucket}}/{{automation execution id}}/queries/`

Questi script raccolgono dati che vengono utilizzati da uno AWS specialista per esaminare gli indicatori chiave di prestazione a livello di oggetto. Lo script raccoglie informazioni come il nome della tabella, il nome dello schema e il nome dell'indice. Se una di queste informazioni contiene informazioni sensibili come indicatori di fatturato, nome utente, indirizzo e-mail o qualsiasi altra informazione di identificazione personale, ti consigliamo di interrompere questa revisione del carico di lavoro. Contatta il tuo AWS TAM per discutere di un approccio alternativo per la revisione del carico di lavoro.

Assicurati di avere l'approvazione e l'autorizzazione necessarie per condividere le statistiche e i metadati raccolti da questa automazione. AWS

 **Considerazioni sulla sicurezza** Se imposti il `UpdateRdsSecurityGroup` parametro su`yes`, il runbook aggiorna il gruppo di sicurezza associato all'istanza DB per consentire il traffico in entrata dall'indirizzo IP privato dell'istanza Amazon EC2 temporanea.

Se imposti il `UpdateRdsRouteTable` parametro su`yes`, il runbook aggiorna la tabella di routing associata alla sottorete in cui è in esecuzione l'istanza DB per consentire il traffico verso l'istanza Amazon EC2 temporanea tramite la connessione peering VPC.

 **Creazione di utenti** Per consentire allo script di raccolta di connettersi al tuo database Amazon RDS, devi configurare un utente con le autorizzazioni per leggere le visualizzazioni statistiche. Quindi è necessario memorizzare le credenziali in Secrets Manager. Ti consigliamo di creare un nuovo utente dedicato per questa automazione. La creazione di un utente separato consente di controllare e tenere traccia delle attività eseguite da questa automazione. 

1. Crea un nuovo utente.

   `psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "CREATE USER <user_name> PASSWORD '<password>';"`

1. Assicurati che questo utente possa effettuare solo connessioni di sola lettura.

   `psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET default_transaction_read_only=true;"`

1. Imposta limiti a livello utente.

   `psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET work_mem=4096;"`

   `psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET statement_timeout=10000;"`

   `psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "ALTER USER <user_name> SET idle_in_transaction_session_timeout=60000;"`

1. Concedi `pg_monitor` le autorizzazioni al nuovo utente in modo che possa accedere alle statistiche del DB. (Il `pg_monitor` ruolo è membro di `pg_read_all_settings``pg_read_all_stats`, e`pg_stat_scan_table`.)

   `psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "GRANT pg_monitor to <user_name>;"`

 **Autorizzazioni aggiunte al profilo temporaneo dell'istanza Amazon EC2 da questa Systems Manager** Automation Le seguenti autorizzazioni vengono aggiunte al ruolo IAM associato all'istanza temporanea di Amazon EC2. La policy `AmazonSSMManagedInstanceCore` gestita è anche associata al ruolo IAM per consentire la gestione dell'istanza Amazon EC2 da parte di Systems Manager.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:DescribeTags"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/{{automation-execution-id}}/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333}}:secret:{{secret-id}}",
            "Effect": "Allow"
        },
        {
            "Action": [
                "support:AddAttachmentsToSet",
                "support:AddCommunicationToCase",
                "support:DescribeCases"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

 **Autorizzazioni aggiunte alla finestra di manutenzione temporanea da questa Systems Manager Automation** Le seguenti autorizzazioni vengono aggiunte automaticamente al ruolo IAM associato alle attività di manutenzione di Windows. Le attività di manutenzione di Windows vengono avviate, interrotte e inviano comandi all'istanza temporanea di Amazon EC2.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ssm:GetAutomationExecution",
                "ssm:ListCommands",
                "ssm:ListCommandInvocations",
                "ssm:GetCommandInvocation",
                "ssm:GetCalendarState",
                "ssm:CancelCommand",
                "ec2:DescribeInstanceStatus"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "ssm:SendCommand",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ssm:StartAutomationExecution"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:instance/{{temporary-instance-id}}",
                "arn:aws:ssm:*:*:document/AWS-RunShellScript",
                "arn:aws:ssm:*:*:document/AWS-StopEC2Instance",
                "arn:aws:ssm:*:*:document/AWS-StartEC2Instance",
                "arn:aws:ssm:*:{{111122223333}}:automation-execution/*"
            ],
            "Effect": "Allow"
        },
        {
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ssm.amazonaws.com"
                },
                "ArnLike": {
                    "iam:AssociatedResourceARN": "arn:aws:ssm:*:*:document/AWS-*"
                }
            },
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::{{111122223333}}:role/SSM-*",
            "Effect": "Allow"
        }
    ]
}
```

------

 [Esegui questa automazione (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSPremiumSupport-PostgreSQLWorkloadReview) 

**Tipo di documento**

Automazione

**Proprietario**

Amazon

**Piattaforme**

Database

**Parametri**
+ AutomationAssumeRole

  Tipo: String

  Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che consente a Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.
+ DBInstanceIdentifier

  Tipo: String

  Descrizione: (Obbligatorio) L'ID dell'istanza DB.
+ DatabaseName

  Tipo: String

  Descrizione: (Obbligatorio) Il nome del database ospitato sull'istanza DB.
+ SecretId

  Tipo: String

  Descrizione: (Obbligatorio) L'ARN del segreto di Secrets Manager contenente la coppia chiave-valore nome utente e password. Lo CloudFormation stack crea una policy IAM con autorizzazioni per l'`GetSecretValue`operazione su questo ARN. Le credenziali vengono utilizzate per consentire all'istanza temporanea di raccogliere le statistiche del database. Contatta il tuo TAM o STAM per discutere delle autorizzazioni minime richieste.
+ Riconosci

  Tipo: String

  Descrizione: (Obbligatorio) Inserisci **yes** se riconosci che questo runbook creerà risorse temporanee nel tuo account per raccogliere statistiche dall'istanza DB. Ti consigliamo di contattare il tuo TAM o STAM prima di eseguire questa automazione.
+ SupportCase

  Tipo: String

  Descrizione: (Facoltativo) Il numero del Supporto caso fornito dal TAM o dallo STAM. Se fornito, il runbook aggiorna il caso e allega i dati raccolti. Questa opzione richiede che l'istanza temporanea di Amazon EC2 disponga di connettività Internet per accedere all'endpoint Supporto API. È necessario impostare il `AllowVpcInternetAccess` parametro su. `true` L'oggetto del caso deve contenere la frase`AWSPremiumSupport-PostgreSQLWorkloadReview`.
+ S3BucketName

  Tipo: String

  Descrizione: (Obbligatorio) Il nome del bucket Amazon S3 nel tuo account in cui desideri caricare i dati raccolti dall'automazione. Verifica che la policy del bucket non conceda autorizzazioni di lettura o scrittura non necessarie ai principali che non hanno bisogno di accedere al contenuto del bucket. Ti consigliamo di creare un nuovo bucket Amazon S3 temporaneo ai fini di questa automazione. Il runbook fornisce le autorizzazioni per il funzionamento dell'`s3:PutObject`API per il ruolo IAM collegato all'istanza temporanea di Amazon EC2. I file caricati verranno archiviati in. `s3://{{bucket name}}/{{automation execution id}}/`
+ InstanceType

  Tipo: String

  Descrizione: (Facoltativo) Il tipo di istanza temporanea di Amazon EC2 che eseguirà gli script SQL e shell personalizzati.

  Valori validi: t2.micro \| t2.small \| t2.medium \| t2.large \| t3.micro \| t3.small \| t3.medium \| t3.large 

  Predefinito: t3.micro
+ VpcCidr

  Tipo: String

  Descrizione: (Facoltativo) L'intervallo di indirizzi IP in notazione CIDR per il nuovo VPC (ad esempio,). `172.31.0.0/16` Assicurati di selezionare un CIDR che non si sovrapponga o corrisponda a nessun VPC esistente con connettività alla tua istanza DB. Il VPC più piccolo che puoi creare utilizza una subnet mask /28, mentre il VPC più grande utilizza una subnet mask /16.

  Impostazione predefinita: 172.31.0. 0/16
+ StackResourcesNamePrefix

  Tipo: String

  Descrizione: (Facoltativo) Il prefisso e il tag del nome delle risorse CloudFormation dello stack. Il runbook crea le risorse dello CloudFormation stack utilizzando questo prefisso come parte del nome e del tag applicati alle risorse. La struttura per la coppia chiave-valore del tag è. `{{StackResourcesNamePrefix}}:{{automation:EXECUTION_ID}}`

  Predefinito: AWSPostgreSQLWorkloadReview
+ Schedule

  Tipo: String

  Descrizione: (Facoltativo) La pianificazione della finestra di manutenzione. Specifica la frequenza con cui la finestra di manutenzione esegue le attività. Il valore predefinito è every`1 hour`.

  Valori validi: 15 minuti \| 30 minuti \| 1 ora \| 2 ore \| 4 ore \| 6 ore \| 12 ore \| 1 giorno \| 2 giorni \| 4 giorni 

  Impostazione predefinita: 1 ora
+ Durata

  Tipo: numero intero

  Descrizione: (Facoltativo) La durata massima, in minuti, per cui si desidera consentire l'esecuzione dell'automazione. La durata massima supportata è di 8.640 minuti (6 giorni). Il valore predefinito è 4.320 minuti (3 giorni).

  Valori validi: 30-8640

  Valore predefinito: 4320
+ UpdateRdsRouteTable

  Tipo: String

  Descrizione: (Facoltativo) Se impostato su`true`, il runbook aggiorna la tabella di routing associata alla sottorete in cui viene eseguita l'istanza DB. Viene aggiunta una route IPv4 per instradare il traffico verso l'indirizzo IPV4 privato dell'istanza Amazon EC2 temporanea tramite la connessione peering VPC appena creata.

  Valori validi: true \| false

  Impostazione predefinita: false
+ AllowVpcInternetAccess

  Tipo: String

  Descrizione: (Facoltativo) Se impostato su`true`, il runbook crea un gateway NAT per fornire connettività Internet all'istanza temporanea di Amazon EC2 per comunicare con Supporto l'endpoint API. Puoi lasciare questo parametro come `false` se desideri solo che il runbook carichi l'output nel tuo bucket Amazon S3.

  Valori validi: true \| false 

  Impostazione predefinita: false
+ UpdateRdsSecurityGroup

  Tipo: String

  Descrizione: (Facoltativo) Se impostato su`true`, il runbook aggiorna il gruppo di sicurezza associato all'istanza DB per consentire il traffico proveniente dall'indirizzo IP privato dell'istanza temporanea.

  Valori validi: false \| true

  Impostazione predefinita: false
+ EbsVolumeDeleteOnTermination

  Tipo: String

  Descrizione: (Facoltativo) Se impostato su`true`, il volume root dell'istanza Amazon EC2 temporanea viene eliminato dopo il completamento del runbook e l'eliminazione dello stack. CloudFormation 

  Valori validi: false \| true 

  Impostazione predefinita: false

**Autorizzazioni IAM richieste**

Il `AutomationAssumeRole` parametro richiede le seguenti azioni per utilizzare correttamente il runbook.
+ `cloudformation:CreateStack`
+ `cloudformation:DeleteStack`
+ `cloudformation:DescribeStackEvents`
+ `cloudformation:DescribeStackResource`
+ `cloudformation:DescribeStacks`
+ `cloudformation:UpdateStack`
+ `ec2:AcceptVpcPeeringConnection`
+ `ec2:AllocateAddress`
+ `ec2:AssociateRouteTable`
+ `ec2:AssociateVpcCidrBlock`
+ `ec2:AttachInternetGateway`
+ `ec2:AuthorizeSecurityGroupEgress`
+ `ec2:AuthorizeSecurityGroupIngress`
+ `ec2:CreateEgressOnlyInternetGateway`
+ `ec2:CreateInternetGateway`
+ `ec2:CreateNatGateway`
+ `ec2:CreateRoute`
+ `ec2:CreateRouteTable`
+ `ec2:CreateSecurityGroup`
+ `ec2:CreateSubnet`
+ `ec2:CreateTags`
+ `ec2:CreateVpc`
+ `ec2:CreateVpcEndpoint`
+ `ec2:CreateVpcPeeringConnection`
+ `ec2:DeleteEgressOnlyInternetGateway`
+ `ec2:DeleteInternetGateway`
+ `ec2:DeleteNatGateway`
+ `ec2:DeleteRoute`
+ `ec2:DeleteRouteTable`
+ `ec2:DeleteSecurityGroup`
+ `ec2:DeleteSubnet`
+ `ec2:DeleteTags`
+ `ec2:DeleteVpc`
+ `ec2:DeleteVpcEndpoints`
+ `ec2:DescribeAddresses`
+ `ec2:DescribeEgressOnlyInternetGateways`
+ `ec2:DescribeImages`
+ `ec2:DescribeInstances`
+ `ec2:DescribeInstanceStatus`
+ `ec2:DescribeInternetGateways`
+ `ec2:DescribeNatGateways`
+ `ec2:DescribeRouteTables`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcEndpoints`
+ `ec2:DescribeVpcPeeringConnections`
+ `ec2:DescribeVpcs`
+ `ec2:DetachInternetGateway`
+ `ec2:DisassociateRouteTable`
+ `ec2:DisassociateVpcCidrBlock`
+ `ec2:ModifySubnetAttribute`
+ `ec2:ModifyVpcAttribute`
+ `ec2:RebootInstances`
+ `ec2:ReleaseAddress`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:RevokeSecurityGroupIngress`
+ `ec2:StartInstances`
+ `ec2:StopInstances`
+ `ec2:RunInstances`
+ `ec2:TerminateInstances`
+ `iam:AddRoleToInstanceProfile`
+ `iam:AttachRolePolicy`
+ `iam:CreateInstanceProfile`
+ `iam:CreateRole`
+ `iam:DeleteInstanceProfile`
+ `iam:DeleteRole`
+ `iam:DeleteRolePolicy`
+ `iam:DetachRolePolicy`
+ `iam:GetInstanceProfile`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:PassRole`
+ `iam:PutRolePolicy`
+ `iam:RemoveRoleFromInstanceProfile`
+ `iam:TagPolicy`
+ `iam:TagRole`
+ `rds:DescribeDBInstances`
+ `s3:GetAccountPublicAccessBlock`
+ `s3:GetBucketAcl`
+ `s3:GetBucketPolicyStatus`
+ `s3:GetBucketPublicAccessBlock`
+ `s3:ListBucket`
+ `ssm:AddTagsToResource`
+ `ssm:CancelMaintenanceWindowExecution`
+ `ssm:CreateDocument`
+ `ssm:CreateMaintenanceWindow`
+ `ssm:DeleteDocument`
+ `ssm:DeleteMaintenanceWindow`
+ `ssm:DeregisterTaskFromMaintenanceWindow`
+ `ssm:DescribeAutomationExecutions`
+ `ssm:DescribeDocument`
+ `ssm:DescribeInstanceInformation`
+ `ssm:DescribeMaintenanceWindowExecutions`
+ `ssm:GetCalendarState`
+ `ssm:GetDocument`
+ `ssm:GetMaintenanceWindowExecution`
+ `ssm:GetParameters`
+ `ssm:ListCommandInvocations`
+ `ssm:ListCommands`
+ `ssm:ListTagsForResource`
+ `ssm:RegisterTaskWithMaintenanceWindow`
+ `ssm:RemoveTagsFromResource`
+ `ssm:SendCommand`
+ `support:AddAttachmentsToSet`
+ `support:AddCommunicationToCase`
+ `support:DescribeCases`

 **Fasi del documento** 

1. `aws:assertAwsResourceProperty`- Conferma che l'istanza DB è nello `available` stato.

1. `aws:executeAwsApi`- Raccoglie dettagli sull'istanza DB.

1. `aws:executeScript`- Verifica se il bucket Amazon S3 specificato in `S3BucketName` consente autorizzazioni di accesso anonime o pubbliche in lettura o scrittura.

1. `aws:executeScript`- Ottiene il contenuto del CloudFormation modello dall'allegato Automation Runbook utilizzato per creare le risorse temporanee AWS nel tuo. Account AWS

1. `aws:createStack`- Crea le risorse dello CloudFormation stack.

1. `aws:waitForAwsResourceProperty`- Attende l'esecuzione dell'istanza Amazon EC2 creata CloudFormation dal modello.

1. `aws:executeAwsApi`- Ottiene gli ID per l'istanza temporanea di Amazon EC2 e la connessione peering VPC creata da. CloudFormation

1. `aws:executeAwsApi`- Ottiene l'indirizzo IP per l'istanza Amazon EC2 temporanea per configurare la connettività con l'istanza DB.

1. `aws:executeAwsApi`- Etichetta il volume Amazon EBS collegato all'istanza temporanea di Amazon EC2.

1. `aws:waitForAwsResourceProperty`- Attende che l'istanza temporanea di Amazon EC2 superi i controlli di stato.

1. `aws:waitForAwsResourceProperty`- Attende che l'istanza temporanea di Amazon EC2 venga gestita da Systems Manager. Se questo passaggio scade o fallisce, il runbook riavvia l'istanza.

   1. `aws:executeAwsApi`- Riavvia l'istanza temporanea di Amazon EC2 se il passaggio precedente non è riuscito o è scaduto.

   1. `aws:waitForAwsResourceProperty`- Attende che l'istanza temporanea di Amazon EC2 venga gestita da Systems Manager dopo il riavvio.

1. `aws:runCommand`- Installa i requisiti dell'applicazione Metadata Collector sull'istanza temporanea di Amazon EC2.

1. `aws:runCommand`- Configura l'accesso alla tua istanza DB creando un file di configurazione sull'istanza temporanea di Amazon EC2.

1. `aws:executeAwsApi`- Crea una finestra di manutenzione per eseguire periodicamente l'applicazione di raccolta dei metadati utilizzando Run Command. La finestra di manutenzione avvia e interrompe l'istanza tra i comandi.

1. `aws:waitForAwsResourceProperty`- Attende che la finestra di manutenzione creata dal CloudFormation modello sia pronta.

1. `aws:executeAwsApi`- Ottiene gli ID per la finestra di manutenzione e il calendario delle modifiche creato da CloudFormation.

1. `aws:sleep`- Attende la data di fine della finestra di manutenzione.

1. `aws:executeAwsApi`- Disattiva la finestra di manutenzione.

1. `aws:executeScript`- Ottiene i risultati delle attività eseguite durante la finestra di manutenzione.

1. `aws:waitForAwsResourceProperty`- Attende che la finestra di manutenzione termini l'ultima operazione prima di continuare.

1. `aws:branch`- Suddivide il flusso di lavoro a seconda che sia stato fornito un valore per il `SupportCase` parametro.

   1. `aws:changeInstanceState`- Avvia l'istanza temporanea di Amazon EC2 e attende il completamento dei controlli di stato prima di caricare il report.

   1. `aws:waitForAwsResourceProperty`- Attende che l'istanza temporanea di Amazon EC2 venga gestita da Systems Manager. Se questo passaggio termina il timeout o fallisce, il runbook riavvia l'istanza.

      1. `aws:executeAwsApi`- Riavvia l'istanza temporanea di Amazon EC2 se il passaggio precedente non è riuscito o è scaduto.

      1. `aws:waitForAwsResourceProperty`- Attende che l'istanza temporanea di Amazon EC2 venga gestita da Systems Manager dopo il riavvio.

   1. `aws:runCommand`- Allega il rapporto sui metadati al Supporto caso se hai fornito un valore per il parametro. `SupportCase` Lo script comprime e divide il rapporto in file da 5 MB. Il numero massimo di file che lo script allega a un Supporto caso è 12.

1. `aws:changeInstanceState`- Interrompe l'istanza temporanea di Amazon EC2 nel caso in cui lo CloudFormation stack non venga eliminato.

1. `aws:executeAwsApi`- Descrive gli eventi CloudFormation dello stack se i runbook non riescono a creare o aggiornare lo stack. CloudFormation 

1. `aws:waitForAwsResourceProperty`- Attende che lo CloudFormation stack raggiunga lo stato di terminale prima di eliminarlo.

1. `aws:executeAwsApi`- Elimina lo CloudFormation stack escludendo la finestra di manutenzione. Il volume root Amazon EBS associato all'istanza temporanea di Amazon EC2 viene preservato se `EbsVolumeDeleteOnTermination` il valore del parametro è stato impostato su. `false`