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-CollectAWSGlueMetadata
Description
Il AWSPremiumSupport-CollectAWSGlueMetadata runbook raccoglie i metadati di configurazione per AWS Glue le tue risorse, inclusi database, crawler, job ETL, endpoint di sviluppo, trigger, flussi di lavoro e configurazioni di sicurezza. Il runbook scrive questi metadati in un report JSON nel bucket Amazon S3 che scegli. Il tuo Technical Account Manager (TAM) o Specialist Technical Account Manager (STAM) esamina il report come parte della revisione operativa. AWS Glue Questa revisione è una valutazione proattiva del vostro AWS Glue ambiente rispetto AWS alle migliori pratiche.
Come funziona
Un'applicazione Python raccoglie i metadati. AWS Glue L'applicazione viene eseguita su un'istanza Amazon EC2 temporanea. Il runbook crea questa istanza temporanea in un nuovo Amazon VPC isolato utilizzando un modello incorporato. AWS CloudFormation L'istanza Amazon EC2 viene eseguita su una sottorete privata con accesso a Internet tramite un gateway NAT (Network Address Translation). Il runbook accede AWS ai servizi AWS Glue, tra cui Amazon EC2 Systems Manager e Amazon S3, tramite endpoint Amazon VPC nella stessa regione. Il gateway NAT recupera i metadati dai bucket Amazon S3 associati alle tue risorse in altre regioni. AWS Glue AWS
Al termine del runbook, elimina lo CloudFormation stack e carica il report nel bucket Amazon S3 di tua scelta. Il runbook allega quindi il report al caso di supporto per questa revisione operativa. AWS Il file JSON si trova nella cartella principale del bucket Amazon S3. Contatta il tuo TAM o STAM se hai domande sulla revisione operativa e sui metadati raccolti.
Importante
L' AWS Glue Operational Review richiede un AWS abbonamento Enterprise Support. Prima di eseguire questo runbook, contattate il vostro TAM o STAM per ricevere istruzioni. Per ulteriori informazioni sui piani di AWS supporto, consulta AWS Support Proactive Services.
Importante
Assicurati di non aver raggiunto il limite di indirizzi IP elastici (EIP), istanze Amazon EC2 o Amazon VPC nel tuo account o nella tua regione. Se hai bisogno di un EIP o Amazon VPC aggiuntivo, completa il modulo di richiesta di aumento del limite di servizio.
Importante
AWS addebita al tuo account i costi dell'istanza Amazon EC2, del relativo volume Amazon EBS e dei dati trasferiti durante l'esecuzione di questo runbook. Il tempo richiesto dipende dalla quantità e dalla configurazione delle AWS Glue risorse del tuo account. Per impostazione predefinita, questo runbook crea un't2.microistanza. Se disponi di un numero elevato di AWS Glue risorse, aumenta la dimensione dell'istanza temporanea.
Esegui questa automazione (console)
Tipo di documento
Automazione
Proprietario
Amazon
Piattaforme
/
Parametri del documento
AutomationAssumeRole-
Tipo: AWS: :IAM: :Role: :Arn
Descrizione: (Facoltativo) L'ARN del ruolo che consente al runbook di Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, SSM Automation utilizza il contesto corrente delle autorizzazioni utente IAM per eseguire questo runbook.
Schema consentito:
^$|^arn:(aws|aws-cn|aws-us-gov):iam::\d{12}:role/[\w+=/,.@-]+$ Acknowledge-
Tipo: stringa
Obbligatorio: sì
Descrizione: scrivi «Sì» se riconosci che questo runbook raccoglie metadati sulle tue AWS Glue risorse nella regione in cui lo esegui. Il runbook memorizza il file di output nel bucket Amazon S3 di tua scelta. Per ulteriori informazioni, consulta la sezione Descrizione.
Schema consentito:
^[Yy][Ee][Ss]$ SupportCase-
Tipo: stringa
Descrizione: (Facoltativo) Numero del caso di AWS assistenza fornito dal TAM o dallo STAM. Il runbook aggiorna il caso e allega i dati raccolti. Contatta il tuo TAM o STAM per ulteriori informazioni.
Schema consentito:
^[0-9]{10}$Predefinito: 0000000000
S3BucketName-
Tipo: stringa
Descrizione: (Facoltativo) Il nome del bucket Amazon S3 nel tuo account in cui desideri caricare i dati raccolti. Assicurati che la policy del bucket non conceda autorizzazioni di lettura o scrittura non necessarie a parti che non hanno bisogno di accedere al file.
Schema consentito:
^$|^[a-zA-Z0-9\.\-_]{1,255}$ InstanceType-
Tipo: stringa
Descrizione: (Facoltativo) La dimensione del tipo di istanza Amazon EC2 temporanea che esegue l'applicazione di raccolta dei AWS Glue metadati.
Valori validi: t2.micro | t2.small | t2.medium | t2.large
Predefinito: t2.micro
Module-
Tipo: stringa
Descrizione: (opzionale) Modulo di revisione AWS Glue operativa (rimuove eventuali nuove righe, schede o spazi bianchi quando si inserisce un nuovo valore). Modificate questo valore solo se richiesto dal vostro Specialist Technical Account Manager (STAM).
Predefinito: una stringa di configurazione JSON che definisce i moduli da eseguire per la raccolta dei metadati, tra cui metadati, catalogo, crawler, job ETL, endpoint di sviluppo, trigger, flussi di lavoro, configurazioni di sicurezza e crittografia del catalogo.
Autorizzazioni IAM richieste per raccogliere AWS Glue metadati
L'applicazione di raccolta AWS Glue dati richiede le seguenti azioni per eseguire correttamente questo runbook e caricare il file nel bucket privato Amazon S3 di tua scelta. Un ruolo IAM concede automaticamente queste autorizzazioni all'istanza temporanea di Amazon EC2.
-
glue:List* -
glue:Query* -
glue:Get* -
glue:BatchGet* -
glue:CheckSchemaVersionValidity -
glue:SearchTables -
sts:GetCallerIdentity -
s3:PutObject -
s3:AbortMultipartUpload -
s3:ListBucket -
s3:ListAllMyBuckets -
s3:GetBucketLocation
Autorizzazioni IAM richieste per eseguire questo runbook
Per eseguire questo runbook, l'utente IAM AutomationAssumeRole o il tuo utente IAM richiede le seguenti azioni. Queste autorizzazioni sono necessarie per creare un nuovo Amazon VPC temporaneo e l'istanza Amazon EC2 utilizzando. CloudFormation
-
cloudformation:CreateStack -
cloudformation:DeleteStack -
cloudformation:DescribeStackEvents -
cloudformation:DescribeStacks -
cloudformation:UpdateStack -
ec2:AllocateAddress -
ec2:AssociateRouteTable -
ec2:AttachInternetGateway -
ec2:AuthorizeSecurityGroupEgress -
ec2:AuthorizeSecurityGroupIngress -
ec2:CreateInternetGateway -
ec2:CreateNatGateway -
ec2:CreateRoute -
ec2:CreateRouteTable -
ec2:CreateSecurityGroup -
ec2:CreateSubnet -
ec2:CreateTags -
ec2:CreateVpc -
ec2:CreateVpcEndpoint -
ec2:DeleteInternetGateway -
ec2:DeleteNatGateway -
ec2:DeleteRoute -
ec2:DeleteRouteTable -
ec2:DeleteSecurityGroup -
ec2:DeleteSubnet -
ec2:DeleteTags -
ec2:DeleteVpc -
ec2:DeleteVpcEndpoints -
ec2:DescribeAddresses -
ec2:DescribeImages -
ec2:DescribeInstances -
ec2:DescribeInstanceStatus -
ec2:DescribeInternetGateways -
ec2:DescribeNatGateways -
ec2:DescribeRouteTables -
ec2:DescribeSecurityGroups -
ec2:DescribeSubnets -
ec2:DescribeVpcEndpoints -
ec2:DescribeVpcs -
ec2:DetachInternetGateway -
ec2:DisassociateRouteTable -
ec2:ModifySubnetAttribute -
ec2:ModifyVpcAttribute -
ec2:RebootInstances -
ec2:ReleaseAddress -
ec2:RevokeSecurityGroupEgress -
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 -
s3:GetAccountPublicAccessBlock -
s3:GetBucketAcl -
s3:GetBucketPolicyStatus -
s3:GetBucketPublicAccessBlock -
s3:ListBucket -
ssm:DescribeAutomationExecutions -
ssm:DescribeInstanceInformation -
ssm:GetDocument -
ssm:GetParameters -
ssm:ListCommandInvocations -
ssm:ListCommands -
ssm:SendCommand -
support:AddAttachmentsToSet -
support:AddCommunicationToCase -
support:DescribeCases
La seguente politica di esempio mostra le autorizzazioni con privilegi minimi richieste per. AutomationAssumeRole SostituisciREGION, e con ACCOUNTID i tuoi valoriS3_BUCKET_NAME:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudFormationStackAccess", "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:REGION:ACCOUNTID:stack/AWSPremiumSupport-CollectAWSGlueMetadata-*/*" }, { "Sid": "EC2NetworkingAccess", "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateInternetGateway", "ec2:CreateNatGateway", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateTags", "ec2:CreateVpc", "ec2:CreateVpcEndpoint", "ec2:DeleteInternetGateway", "ec2:DeleteNatGateway", "ec2:DeleteRoute", "ec2:DeleteRouteTable", "ec2:DeleteSecurityGroup", "ec2:DeleteSubnet", "ec2:DeleteTags", "ec2:DeleteVpc", "ec2:DeleteVpcEndpoints", "ec2:DescribeAddresses", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInternetGateways", "ec2:DescribeNatGateways", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcs", "ec2:DetachInternetGateway", "ec2:DisassociateRouteTable", "ec2:ModifySubnetAttribute", "ec2:ModifyVpcAttribute", "ec2:RebootInstances", "ec2:ReleaseAddress", "ec2:RevokeSecurityGroupEgress", "ec2:RunInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "REGION" } } }, { "Sid": "IAMRoleAccess", "Effect": "Allow", "Action": [ "iam:AddRoleToInstanceProfile", "iam:AttachRolePolicy", "iam:CreateInstanceProfile", "iam:CreateRole", "iam:DeleteInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:PutRolePolicy", "iam:RemoveRoleFromInstanceProfile" ], "Resource": [ "arn:aws:iam::ACCOUNTID:role/AWSPremiumSupport-CollectAWSGlueMetadata-*", "arn:aws:iam::ACCOUNTID:instance-profile/AWSPremiumSupport-CollectAWSGlueMetadata-*" ] }, { "Sid": "PassRoleToEC2", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::ACCOUNTID:role/AWSPremiumSupport-CollectAWSGlueMetadata-*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Sid": "S3BucketAccess", "Effect": "Allow", "Action": [ "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListBucket" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME" }, { "Sid": "SSMAutomationAccess", "Effect": "Allow", "Action": [ "ssm:DescribeAutomationExecutions", "ssm:DescribeInstanceInformation", "ssm:GetDocument", "ssm:GetParameters", "ssm:ListCommandInvocations", "ssm:ListCommands", "ssm:SendCommand" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "REGION" } } }, { "Sid": "SupportCaseAccess", "Effect": "Allow", "Action": [ "support:AddAttachmentsToSet", "support:AddCommunicationToCase", "support:DescribeCases" ], "Resource": "*" } ] }
Fasi del documento
-
aws:branch - Suddivide il flusso di lavoro in base al fatto che tu abbia fornito il nome di un bucket Amazon S3 o lasciato il parametro vuoto.
-
aws:assert AwsResourceProperty - Verifica se il bucket Amazon S3 esiste.
-
aws:executeScript - Verifica se il bucket Amazon S3 in cui il runbook carica il report consente autorizzazioni di accesso anonime in lettura o scrittura. Assicurati che solo le persone autorizzate abbiano accesso al file.
-
aws:branch - Termina l'automazione se lo script rileva che il bucket Amazon S3 è accessibile pubblicamente. Assicurati che solo le persone autorizzate abbiano accesso al file.
-
AWS:ExecuteScript: ottiene il corpo del contenuto del CloudFormation modello dall'allegato del runbook di Automation. Il CloudFormation modello viene utilizzato per creare l'istanza temporanea di Amazon EC2.
-
AWS:CreateStack: crea CloudFormation lo stack contenente Amazon VPC, la sottorete privata, la tabella di routing, il ruolo e il profilo dell'istanza Amazon EC2 e gli endpoint Amazon VPC.
-
aws:execute AwsApi - Crea l'istanza Amazon EC2 temporanea nel nuovo Amazon VPC. L'istanza Amazon EC2 viene eseguita su una sottorete privata con accesso a Internet tramite un gateway NAT.
-
aws:wait ForAwsResourceProperty - Attende che l'istanza Amazon EC2 creata dal modello sia pronta. CloudFormation
-
aws:execute AwsApi - Ottiene l'ID temporaneo dell'istanza Amazon EC2.
-
aws:wait ForAwsResourceProperty - Attende che l'istanza Amazon EC2 temporanea superi i controlli di stato.
-
aws:wait ForAwsResourceProperty - Attende che l'istanza Amazon EC2 temporanea sia gestita da SSM. Se questo passaggio scade o fallisce, il runbook riavvia l'istanza.
-
aws:execute AwsApi - Riavvia l'istanza temporanea di Amazon EC2 se non è gestita da SSM.
-
aws:wait ForAwsResourceProperty - Attende che l'istanza Amazon EC2 temporanea sia gestita da SSM dopo il riavvio.
-
aws:runCommand: installa ed esegue l'applicazione per raccogliere i metadati. AWS Glue
-
AWS:RunCommand: carica il report sui metadati nel bucket Amazon S3 di tua scelta.
-
AWS:RunCommand: allega il report sui metadati al case di supporto. AWS Lo script comprime e divide il report in parti da 5 MB. Lo script può allegare un massimo di 12 file al caso di AWS supporto.
-
aws:execute AwsApi - Descrive gli eventi CloudFormation dello Stack se il runbook non riesce a creare o aggiornare lo Stack. CloudFormation
-
aws:deleteStack - Elimina lo stack. CloudFormation