Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWSPremiumSupport-CollectAWSGlueMetadata
Description
Das AWSPremiumSupport-CollectAWSGlueMetadata Runbook sammelt Konfigurationsmetadaten für Ihre AWS Glue Ressourcen, einschließlich Datenbanken, Crawler, ETL-Jobs, Entwicklungsendpunkte, Trigger, Workflows und Sicherheitskonfigurationen. Das Runbook schreibt diese Metadaten in einen JSON-Bericht im Amazon S3-Bucket, den Sie auswählen. Ihr Technical Account Manager (TAM) oder Specialist Technical Account Manager (STAM) überprüft den Bericht im Rahmen der AWS Glue Operational Review. Bei dieser Überprüfung handelt es sich um eine proaktive Bewertung Ihrer AWS Glue Umgebung anhand AWS bewährter Verfahren.
Funktionsweise
Eine Python-Anwendung sammelt die AWS Glue Metadaten. Die Anwendung wird auf einer temporären Amazon EC2-Instance ausgeführt. Das Runbook erstellt diese temporäre Instance in einer neuen isolierten Amazon VPC mithilfe einer eingebetteten Vorlage. AWS CloudFormation Die Amazon EC2-Instance wird in einem privaten Subnetz mit Internetzugang über ein Network Address Translation (NAT) -Gateway ausgeführt. Das Runbook greift über Amazon VPC-Endpunkte in derselben Region auf AWS Dienste wie AWS Glue Amazon EC2 Systems Manager und Amazon S3 zu. Das NAT-Gateway ruft Metadaten aus Amazon S3-Buckets ab, die Ihren Ressourcen in anderen Regionen zugeordnet sind. AWS Glue AWS
Wenn das Runbook fertig ist, löscht es den CloudFormation Stack und lädt den Bericht in den Amazon S3-Bucket Ihrer Wahl hoch. Das Runbook hängt den Bericht dann an den AWS Support-Fall für diese Betriebsüberprüfung an. Die JSON-Datei befindet sich im Stammordner Ihres Amazon S3-Buckets. Wenden Sie sich an Ihren TAM oder STAM, wenn Sie Fragen zur Operational Review und den gesammelten Metadaten haben.
Wichtig
Für die AWS Glue Operational Review ist ein AWS Enterprise Support-Abonnement erforderlich. Bevor Sie dieses Runbook ausführen, wenden Sie sich an Ihren TAM oder STAM, um Anweisungen zu erhalten. Weitere Informationen zu AWS Support-Plänen finden Sie unter AWS Support Proactive Services.
Wichtig
Stellen Sie sicher, dass Sie das Limit für Elastic IP (EIP) -Adressen, Amazon EC2-Instances oder Amazon VPCs in Ihrem Konto oder Ihrer Region nicht erreicht haben. Wenn Sie eine zusätzliche EIP oder Amazon VPC benötigen, füllen Sie das Antragsformular zur Erhöhung des Service Limit aus.
Wichtig
AWS belastet Ihr Konto mit den Kosten für die Amazon EC2-Instance, ihr Amazon EBS-Volume und die während der Ausführung dieses Runbooks übertragenen Daten. Die benötigte Zeit hängt von der Menge und Konfiguration der AWS Glue Ressourcen in Ihrem Konto ab. Dieses Runbook erstellt standardmäßig eine t2.micro Instanz. Wenn Sie über eine große Anzahl von AWS Glue Ressourcen verfügen, erhöhen Sie die temporäre Instanzgröße.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
/
Parameter des Dokuments
AutomationAssumeRole-
Geben Sie Folgendes ein: AWS: :IAM: :Role: :Arn
Beschreibung: (Optional) Der ARN der Rolle, die es dem Automatisierungs-Runbook ermöglicht, die Aktionen in Ihrem Namen auszuführen. Wenn keine Rolle angegeben ist, verwendet SSM Automation Ihren aktuellen IAM-Benutzerberechtigungskontext, um dieses Runbook auszuführen.
Zulässiges Muster:
^$|^arn:(aws|aws-cn|aws-us-gov):iam::\d{12}:role/[\w+=/,.@-]+$ Acknowledge-
Typ: Zeichenfolge
Erforderlich: Ja
Beschreibung: Schreiben Sie „Ja“, wenn Sie bestätigen, dass dieses Runbook Metadaten über Ihre AWS Glue Ressourcen in der Region sammelt, in der Sie es ausführen. Das Runbook speichert die Ausgabedatei im Amazon S3-Bucket Ihrer Wahl. Weitere Informationen finden Sie im Abschnitt Beschreibung.
Zulässiges Muster:
^[Yy][Ee][Ss]$ SupportCase-
Typ: Zeichenfolge
Beschreibung: (Optional) Von Ihrem TAM oder STAM bereitgestellte AWS Support-Fallnummer. Das Runbook aktualisiert den Fall und fügt die gesammelten Daten hinzu. Weitere Informationen erhalten Sie von Ihrem TAM oder STAM.
Erlaubtes Muster:
^[0-9]{10}$Standard: 0000000000
S3BucketName-
Typ: Zeichenfolge
Beschreibung: (Optional) Der Amazon S3-Bucket-Name in Ihrem Konto, in das Sie die gesammelten Daten hochladen möchten. Stellen Sie sicher, dass die Bucket-Richtlinie Parteien, die keinen Zugriff auf die Datei benötigen, keine unnötigen Lese- oder Schreibberechtigungen gewährt.
Zulässiges Muster:
^$|^[a-zA-Z0-9\.\-_]{1,255}$ InstanceType-
Typ: Zeichenfolge
Beschreibung: (Optional) Die Größe des temporären Amazon EC2-Instance-Typs, der die Anwendung zum Sammeln von AWS Glue Metadaten ausführt.
Gültige Werte: t2.micro | t2.small | t2.medium | t2.large
Standard: t2.micro
Module-
Typ: Zeichenfolge
Beschreibung: (Optional) AWS Glue Operational Review Module (entfernen Sie alle neuen Zeilen, Tabulatoren oder Leerzeichen, wenn Sie einen neuen Wert eingeben). Ändern Sie diesen Wert nur, wenn Sie von Ihrem Specialist Technical Account Manager (STAM) dazu aufgefordert werden.
Standard: Eine JSON-Konfigurationszeichenfolge, die die Module definiert, die für die Metadatenerfassung ausgeführt werden sollen, einschließlich Metadaten, Katalog, Crawler, ETL-Jobs, Entwicklungsendpunkte, Trigger, Workflows, Sicherheitskonfigurationen und Katalogverschlüsselung.
Erforderliche IAM-Berechtigungen zum Erfassen der AWS Glue Metadaten
Die AWS Glue Datensammler-Anwendung erfordert die folgenden Aktionen, um dieses Runbook erfolgreich auszuführen und die Datei in den privaten Amazon S3-Bucket Ihrer Wahl hochzuladen. Eine IAM-Rolle gewährt der temporären Amazon EC2-Instance automatisch diese Berechtigungen.
-
glue:List* -
glue:Query* -
glue:Get* -
glue:BatchGet* -
glue:CheckSchemaVersionValidity -
glue:SearchTables -
sts:GetCallerIdentity -
s3:PutObject -
s3:AbortMultipartUpload -
s3:ListBucket -
s3:ListAllMyBuckets -
s3:GetBucketLocation
Für die Ausführung dieses Runbooks sind IAM-Berechtigungen erforderlich
Um dieses Runbook auszuführen, benötigt der AutomationAssumeRole oder Ihr IAM-Benutzer die folgenden Aktionen. Diese Berechtigungen sind erforderlich, um eine neue temporäre Amazon VPC zu erstellen und die Amazon EC2-Instance zu verwenden. 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
Die folgende Beispielrichtlinie zeigt die Berechtigungen mit den geringsten Rechten, die für die erforderlich sind. AutomationAssumeRole Ersetzen Sie REGIONACCOUNTID, und durch Ihre S3_BUCKET_NAME eigenen Werte:
{ "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": "*" } ] }
Schritte dokumentieren
-
aws:branch — Verzweigt den Workflow je nachdem, ob Sie einen Amazon S3-Bucket-Namen angegeben oder den Parameter leer gelassen haben.
-
aws:assert AwsResourceProperty — Prüft, ob der Amazon S3-Bucket existiert.
-
aws:executeScript — Prüft, ob der Amazon S3-Bucket, in den das Runbook den Bericht hochlädt, anonyme Lese- oder Schreibzugriffsberechtigungen zulässt. Stellen Sie sicher, dass nur autorisierte Personen Zugriff auf die Datei haben.
-
aws:branch — Beendet die Automatisierung, wenn das Skript feststellt, dass der Amazon S3-Bucket öffentlich zugänglich ist. Stellen Sie sicher, dass nur autorisierte Personen Zugriff auf die Datei haben.
-
aws:executeScript — Ruft den Hauptteil des CloudFormation Vorlageninhalts aus dem Automations-Runbook-Anhang ab. Die CloudFormation Vorlage wird verwendet, um die temporäre Amazon EC2-Instance zu erstellen.
-
aws:createStack — Erstellt den CloudFormation Stack, der die Amazon VPC, das private Subnetz, die Routing-Tabelle, die Rolle und das Profil der Amazon EC2-Instance sowie die Amazon VPC-Endpunkte enthält.
-
aws:execute AwsApi — Erstellt die temporäre Amazon EC2-Instance in der neuen Amazon VPC. Die Amazon EC2-Instance wird in einem privaten Subnetz mit Internetzugang über ein NAT-Gateway ausgeführt.
-
aws:wait ForAwsResourceProperty — Wartet, bis die mit der Vorlage erstellte Amazon EC2-Instance bereit ist. CloudFormation
-
aws:execute AwsApi — Ruft die temporäre Amazon EC2-Instanz-ID ab.
-
aws:wait ForAwsResourceProperty — Wartet, bis die temporäre Amazon EC2-Instance die Statusprüfungen bestanden hat.
-
aws:wait ForAwsResourceProperty — Wartet, bis die temporäre Amazon EC2-Instance von SSM verwaltet wird. Wenn bei diesem Schritt eine Zeitüberschreitung auftritt oder ein Fehler auftritt, startet das Runbook die Instance neu.
-
aws:execute AwsApi — Startet die temporäre Amazon EC2-Instance neu, wenn sie nicht von SSM verwaltet wird.
-
aws:wait ForAwsResourceProperty — Wartet, bis die temporäre Amazon EC2-Instance nach dem Neustart von SSM verwaltet wird.
-
aws:runCommand — Installiert die Anwendung und führt sie aus, um die Metadaten zu sammeln. AWS Glue
-
aws:RunCommand — Lädt den Metadatenbericht in den Amazon S3-Bucket Ihrer Wahl hoch.
-
aws:RunCommand — Hängt den Metadatenbericht an den Support-Fall an. AWS Das Skript komprimiert den Bericht und teilt ihn in 5 MB-Teile auf. Das Skript kann maximal 12 Dateien an den AWS Support-Fall anhängen.
-
aws:execute AwsApi — Beschreibt die CloudFormation Stack-Ereignisse, wenn das Runbook den Stack nicht erstellen oder aktualisieren kann. CloudFormation
-
aws:deleteStack — Löscht den Stack. CloudFormation