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
Descrizione
Il AWSPremiumSupport-PostgreSQLWorkloadReview runbook acquisisce più istantanee delle statistiche di utilizzo del database PostgreSQL di Amazon Relational Database Service (Amazon RDS). Le statistiche acquisite sono necessarie per consentire a un esperto di Supporto Proactive Services di eseguire una revisione operativa.
Questo runbook crea automaticamente le seguenti AWS risorse nell'utilizzo di uno stack. Account AWS AWS CloudFormation È possibile monitorare la creazione dello stack utilizzando la CloudFormation console.
-
Un cloud privato virtuale (VPC) e un'istanza Amazon EC2 sono stati avviati 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) a tua scelta e, facoltativamente, su un case. Supporto
-
Una connessione peering VPC per consentire la connettività tra l'istanza DB e l'istanza temporanea di Amazon EC2.
-
Endpoint Systems Manager, Secrets Manager e Amazon S3 VPC collegati al VPC temporaneo.
-
Una finestra di manutenzione con attività registrate che avviano e arrestano 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, CloudFormation lo 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, il volume Amazon EBS principale dell'istanza temporanea di Amazon EC2 viene preservato. Puoi sovrascrivere questa opzione impostando il EbsVolumeDeleteOnTermination parametro su. true
Prerequisiti
-
Abbonamento al supporto aziendale Questo runbook e Proactive Services Workload Diagnostics and Reviews richiedono un abbonamento Enterprise Support. Prima di utilizzare questo runbook, contattate il vostro Technical Account Manager (TAM) o Specialist TAM (STAM) per istruzioni. Per ulteriori informazioni, consulta Proactive Services. Supporto
-
Account e Regione AWS quote Assicurati di non aver raggiunto il numero massimo di istanze Amazon EC2 o VPC che puoi creare nel tuo account e nella regione in cui usi questo runbook. Se devi richiedere un aumento del limite, consulta il modulo di aumento del limite di servizio.
-
Configurazione del database
-
L'
pg_stat_statementsestensione deve essere configurata nel database specificato nelDatabaseNameparametro. Se non è stata effettuata la configurazionepg_stat_statementsshared_preload_libraries, è necessario modificare il valore nel DB Parameter Group e applicare le modifiche. Le modifiche al parametroshared_preload_librariesrichiedono il riavvio dell'istanza DB. Per ulteriori informazioni, consulta la sezione Uso di gruppi di parametri. L'aggiuntapg_stat_statementsashared_preload_librariescomporterà un aumento delle prestazioni. Tuttavia, ciò è utile per tenere traccia delle prestazioni dei singoli rendiconti. Per ulteriori informazioni sull'pg_stat_statementsestensione, consulta la documentazione di PostgreSQL.Se non si configura l' pg_stat_statementsestensione 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. -
Assicurati che
track_countsitrack_activitiesparametri non siano disattivati. Se questi parametri sono disattivati nel DB Parameter Group, non sarà disponibile alcuna statistica significativa. La modifica di questi parametri richiederà il riavvio dell'istanza DB. Per ulteriori informazioni, consulta Utilizzo dei parametri sull'istanza DB di Amazon RDS for PostgreSQL. -
Se il
track_io_timingparametro è disattivato, le statistiche del I/O livello non verranno incluse nella revisione operativa. La modificatrack_io_timingrichiederà il riavvio dell'istanza DB e comporterà un ulteriore sovraccarico delle prestazioni a seconda del carico di lavoro dell'istanza DB. Nonostante il sovraccarico delle prestazioni per i carichi di lavoro critici, questo parametro fornisce informazioni utili relative al tempo impiegato per ogni query. I/O
-
Fatturazione e costi 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 dell'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 una fase e l'altra per ridurre i costi.
Sicurezza e governance dei dati Questo runbook raccoglie statistiche interrogando le visualizzazioni e le funzioni delle statistiche di PostgreSQL. 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 di prestazioni chiave 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 email 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 suyes, 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 suyes, il runbook aggiorna la tabella di route associata alla sottorete in cui è in esecuzione l'istanza DB per consentire il traffico verso l'istanza temporanea di Amazon EC2 tramite la connessione peering VPC.
Creazione utente Per consentire allo script di raccolta di connettersi al database Amazon RDS, devi configurare un utente con le autorizzazioni per leggere le visualizzazioni statistiche. Quindi devi memorizzare le credenziali in Secrets Manager. 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.
-
Crea un nuovo utente.
psql -h <database_connection_endpoint> -p <database_port> -U <admin_user> -c "CREATE USER <user_name> PASSWORD '<password>';" -
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;" -
Imposta i limiti a livello di 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;" -
Concedi
pg_monitorle autorizzazioni al nuovo utente in modo che possa accedere alle statistiche del DB. (Ilpg_monitorruolo è membro dipg_read_all_settings,pg_read_all_stats, epg_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 questo Systems Manager Automation Le seguenti autorizzazioni vengono aggiunte al ruolo IAM associato all'istanza temporanea di Amazon EC2. La policy AmazonSSMManagedInstanceCore gestita è inoltre associata al ruolo IAM per consentire la gestione dell'istanza Amazon EC2 da Systems Manager.
Autorizzazioni aggiunte alla finestra di manutenzione temporanea da questa automazione di Systems Manager Le seguenti autorizzazioni vengono aggiunte automaticamente al ruolo IAM associato alle attività di manutenzione di Windows. Le attività di manutenzione Windows avviano, interrompono e inviano comandi all'istanza temporanea di Amazon EC2.
Esegui questa automazione (console)
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 tuo segreto di Secrets Manager contenente la coppia di nome utente e password chiave-valore. Lo CloudFormation stack crea una policy IAM con le autorizzazioni per il
GetSecretValuefunzionamento di 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
yesse riconosci che questo runbook creerà risorse temporanee nel tuo account per raccogliere statistiche dalla tua 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' Supporto endpoint API. È necessario impostare il
AllowVpcInternetAccessparametro su.trueL'oggetto del caso deve contenere la fraseAWSPremiumSupport-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 ai contenuti del bucket. Consigliamo di creare un nuovo bucket Amazon S3 temporaneo ai fini di questa automazione. Il runbook fornisce le autorizzazioni per il funzionamento dell'
s3:PutObjectAPI al ruolo IAM collegato all'istanza temporanea di Amazon EC2. I file caricati si troveranno 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/16Assicurati 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 e il VPC più grande utilizza una subnet mask /16.Predefinito: 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 CloudFormation dello 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 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
Impostazione predefinita: 4320
-
UpdateRdsRouteTable
Tipo: String
Descrizione: (Facoltativo) Se impostato su
true, il runbook aggiorna la tabella di route associata alla sottorete in cui viene eseguita l'istanza DB. Viene aggiunta una route IPv4 per indirizzare il traffico all'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 l'endpoint API. Supporto Puoi lasciare questo parametro comefalsese volessi 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 principale dell'istanza Amazon EC2 temporanea viene eliminato dopo il completamento del runbook e l'eliminazione dello stack. CloudFormationValori 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
-
aws:assertAwsResourceProperty- Conferma che l'istanza DB è nelloavailablestato. -
aws:executeAwsApi- Raccoglie dettagli sull'istanza DB. -
aws:executeScript- Verifica se il bucket Amazon S3 specificato inS3BucketNameconsente autorizzazioni di accesso anonime o pubbliche in lettura o scrittura. -
aws:executeScript- Ottiene il contenuto del CloudFormation modello dall'allegato del runbook di Automation utilizzato per creare le risorse temporanee AWS nel tuo. Account AWS -
aws:createStack- Crea le risorse dello CloudFormation stack. -
aws:waitForAwsResourceProperty- Attende che l'istanza Amazon EC2 creata dal CloudFormation modello sia in esecuzione. -
aws:executeAwsApi- Ottiene gli ID per l'istanza temporanea di Amazon EC2 e la connessione peering VPC creata da. CloudFormation -
aws:executeAwsApi- Ottiene l'indirizzo IP dell'istanza temporanea di Amazon EC2 per configurare la connettività con l'istanza DB. -
aws:executeAwsApi- Contrassegna il volume Amazon EBS collegato all'istanza temporanea di Amazon EC2. -
aws:waitForAwsResourceProperty- Attende che l'istanza Amazon EC2 temporanea superi i controlli di stato. -
aws:waitForAwsResourceProperty- Attende che l'istanza Amazon EC2 temporanea sia gestita da Systems Manager. Se questo passaggio scade o fallisce, il runbook riavvia l'istanza.-
aws:executeAwsApi- Riavvia l'istanza Amazon EC2 temporanea se il passaggio precedente non è riuscito o è scaduto. -
aws:waitForAwsResourceProperty- Attende che l'istanza temporanea di Amazon EC2 venga gestita da Systems Manager dopo il riavvio.
-
-
aws:runCommand- Installa i requisiti dell'applicazione di raccolta di metadati sull'istanza temporanea di Amazon EC2. -
aws:runCommand- Configura l'accesso alla tua istanza DB creando un file di configurazione sull'istanza temporanea di Amazon EC2. -
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. -
aws:waitForAwsResourceProperty- Attende che la finestra di manutenzione creata dal CloudFormation modello sia pronta. -
aws:executeAwsApi- Ottiene gli ID per la finestra di manutenzione e il calendario delle modifiche creato da CloudFormation. -
aws:sleep- Attende fino alla data di fine della finestra di manutenzione. -
aws:executeAwsApi- Disattiva la finestra di manutenzione. -
aws:executeScript- Ottiene i risultati delle attività eseguite durante la finestra di manutenzione. -
aws:waitForAwsResourceProperty- Attende che la finestra di manutenzione termini l'ultima operazione prima di continuare. -
aws:branch- Suddivide il flusso di lavoro in base al fatto che sia stato fornito un valore per ilSupportCaseparametro.-
aws:changeInstanceState- Avvia l'istanza temporanea di Amazon EC2 e attende il superamento dei controlli di stato prima di caricare il report. -
aws:waitForAwsResourceProperty- Attende che l'istanza temporanea di Amazon EC2 sia gestita da Systems Manager. Se questo passaggio scade o fallisce, il runbook riavvia l'istanza.-
aws:executeAwsApi- Riavvia l'istanza Amazon EC2 temporanea se il passaggio precedente non è riuscito o è scaduto. -
aws:waitForAwsResourceProperty- Attende che l'istanza temporanea di Amazon EC2 venga gestita da Systems Manager dopo il riavvio.
-
-
aws:runCommand- Allega il report sui metadati al Supporto caso se hai fornito un valore per il parametro.SupportCaseLo script comprime e divide il report in file da 5 MB. Il numero massimo di file che lo script allega a un Supporto caso è 12.
-
-
aws:changeInstanceState- Interrompe l'istanza temporanea di Amazon EC2 nel caso in cui lo CloudFormation stack non venga eliminato. -
aws:executeAwsApi- Descrive gli eventi CloudFormation dello stack se i runbook non riescono a creare o aggiornare lo CloudFormation stack. -
aws:waitForAwsResourceProperty- Attende che CloudFormation lo stack raggiunga lo stato di terminale prima di eliminarlo. -
aws:executeAwsApi- Elimina lo CloudFormation stack escludendo la finestra di manutenzione. Il volume Amazon EBS principale associato all'istanza temporanea di Amazon EC2 viene preservato se il valore delEbsVolumeDeleteOnTerminationparametro è stato impostato su.false