Integrieren von Active Directory - AWS ParallelCluster

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.

Integrieren von Active Directory

In diesem Tutorial erstellen Sie eine Umgebung mit mehreren Benutzern. Diese Umgebung umfasst eineAWS ParallelCluster, die in ein AWS Managed Microsoft AD (Active Directory-) AT integriert istcorp.example.com. Sie konfigurieren einen Admin Benutzer für die Verwaltung des Verzeichnisses, einen ReadOnly Benutzer für das Lesen des Verzeichnisses und einen user000 Benutzer für die Anmeldung am Cluster. Sie können entweder den automatisierten Pfad oder den manuellen Pfad verwenden, um die Netzwerkressourcen, ein Active Directory (AD) und die EC2-Instance zu erstellen, die Sie zur Konfiguration des AD verwenden. Unabhängig vom Pfad ist die Infrastruktur, die Sie erstellen, für die Integration AWS ParallelCluster mit einer der folgenden Methoden vorkonfiguriert:

  • LDAPS mit Zertifikatsüberprüfung (als sicherste Option empfohlen)

  • LDAPS ohne Zertifikatsverifizierung

  • LDAP

LDAP selbst bietet keine Verschlüsselung. Um eine sichere Übertragung potenziell sensibler Informationen zu gewährleisten, empfehlen wir dringend, LDAPS (LDAP über TLS/SSL) für Cluster zu verwenden, die in ADs integriert sind. Weitere Informationen finden Sie unter Aktivieren serverseitiger LDAPS im Administratorhandbuch. AWS Managed Microsoft AD AWS Directory Service

Nachdem Sie diese Ressourcen erstellt haben, fahren Sie mit der Konfiguration und Erstellung Ihres Clusters fort, der in Ihr Active Directory (AD) integriert ist. Melden Sie sich nach der Erstellung des Clusters als der Benutzer an, den Sie erstellt haben. Weitere Informationen zu der Konfiguration, die Sie in diesem Tutorial erstellen, finden Sie unter Zugriff mehrerer Benutzer auf Cluster und im Abschnitt DirectoryServiceKonfiguration.

In diesem Tutorial wird beschrieben, wie Sie eine Umgebung erstellen, die den Zugriff mehrerer Benutzer auf Cluster unterstützt. In diesem Tutorial wird nicht behandelt, wie Sie ein AWS Directory Service AD erstellen und verwenden. Die Schritte, die Sie AWS Managed Microsoft AD in diesem Tutorial zum Einrichten eines ausführen, dienen nur zu Testzwecken. Sie ersetzen nicht die offizielle Dokumentation und die Best Practices, die Sie unter AWS Managed Microsoft ADSimple AD im AWS Directory ServiceAdministrationshandbuch finden.

Anmerkung

Kennwörter von Verzeichnisbenutzern laufen gemäß den Eigenschaftsdefinitionen der Verzeichniskennwortrichtlinie ab. Weitere Informationen finden Sie unter Unterstützte Richtlinieneinstellungen. Informationen zum Zurücksetzen von Verzeichnispasswörtern mit AWS ParallelCluster finden Sie unterWie setze ich ein Benutzerpasswort und abgelaufene Passwörter zurück.

Anmerkung

Die IP-Adressen der Verzeichnisdomänencontroller können sich aufgrund von Änderungen an den Domänencontrollern und der Verzeichnisverwaltung ändern. Wenn Sie die automatische Schnellerstellungsmethode zum Erstellen der Verzeichnisinfrastruktur gewählt haben, müssen Sie den Load Balancer manuell vor den Verzeichniscontrollern ausrichten, wenn sich die Verzeichnis-IP-Adressen ändern. Wenn Sie die Schnellerstellungsmethode verwenden, werden die Verzeichnis-IP-Adressen nicht automatisch an die Load Balancer angepasst.

Wenn Sie die AWS ParallelCluster Befehlszeilenschnittstelle (CLI) oder API verwenden, zahlen Sie nur für die AWS Ressourcen, die beim Erstellen oder Aktualisieren von AWS ParallelCluster Images und Clustern erstellt werden. Weitere Informationen finden Sie unter AWSDienste verwendet von AWS ParallelCluster.

Die AWS ParallelCluster Benutzeroberfläche basiert auf einer serverlosen Architektur und Sie können sie in den meisten Fällen innerhalb der Kategorie „AWSKostenloses Kontingent“ verwenden. Weitere Informationen finden Sie unter AWS ParallelClusterDie Benutzeroberfläche kostet.

Voraussetzungen

Ersetzen Sie beim Durcharbeiten des Tutorials inputs highlighted in red d-abcdef01234567890 beispielsweise region-id und durch Ihre eigenen Namen und IDs. Ersetze es 0123456789012 durch deine AWS-Konto Nummer.

Wählen Sie die Registerkarte Automatisiert, um die Active Directory (AD) -Infrastruktur mit einer AWS CloudFormation Schnellerstellungsvorlage zu erstellen.

Wählen Sie die Registerkarte Manuell, um die AD-Infrastruktur manuell zu erstellen.

  1. Melden Sie sich an der AWS Management Console an.

  2. Öffnen Sie CloudFormation Quick Create (Region US-East-1), um die folgenden Ressourcen in der CloudFormation Konsole zu erstellen:

    • Eine VPC mit zwei Subnetzen und Routing für den öffentlichen Zugriff, wenn keine VPC angegeben ist.

    • Eine AWS Managed Microsoft AD

    • Eine EC2-Instance, die mit dem AD verknüpft ist und mit der Sie das Verzeichnis verwalten können.

  3. Geben Sie im Abschnitt Parameter für die Schnellerstellungs-Stack-Seite Kennwörter für die folgenden Parameter ein:

    • AdminPassword

    • ReadOnlyPassword

    • UserPassword

    Notieren Sie sich die Passwörter. Sie verwenden sie später in diesem Tutorial.

  4. Geben Sie für DomainName den Wert corp.example.com ein.

  5. Geben Sie für Keypair den Namen eines EC2-Schlüsselpaars ein.

  6. Markieren Sie die Kästchen, um die einzelnen Zugriffsmöglichkeiten unten auf der Seite zu bestätigen.

  7. Wählen Sie Stack erstellen aus.

  8. Nachdem der CloudFormation Stapel den CREATE_COMPLETE Status erreicht hat, wählen Sie die Registerkarte Ausgaben des Stapels aus. Notieren Sie sich die Namen und IDs der Ausgaberessourcen, da Sie sie in späteren Schritten verwenden müssen. Die Ausgaben enthalten die Informationen, die für die Erstellung des Clusters benötigt werden.

    Ein Diagramm, das die erstellten Stack-Ausgaben in der zeigtAWS Management Console.
  9. Um die Übungen durchführen zu können(Optional) Schritt 2: AD-Benutzer und -Gruppen verwalten, benötigen Sie die Verzeichnis-ID. Wählen Sie Ressourcen und scrollen Sie nach unten, um sich die Verzeichnis-ID zu notieren.

  10. Fahren Sie mit (Optional) Schritt 2: AD-Benutzer und -Gruppen verwalten oder fortSchritt 3: Erstellen Sie den Cluster.

Erstellen Sie eine VPC für den Verzeichnisdienst mit zwei Subnetzen in verschiedenen Availability Zones und einem. AWS Managed Microsoft AD

Anmerkung
  • Das Verzeichnis und der Domainname sindcorp.example.com. Der Kurzname istCORP.

  • Ändern Sie das Admin Passwort im Skript.

  • Die Erstellung des Active Directory (AD) dauert mindestens 15 Minuten.

Verwenden Sie das folgende Python-Skript, um die VPC, Subnetze und AD-Ressourcen in Ihrem lokalen System zu erstellen. AWS-Region Speichern Sie diese Datei unter ad.py und führen Sie sie aus.

import boto3 import time from pprint import pprint vpc_name = "PclusterVPC" ad_domain = "corp.example.com" admin_password = "asdfASDF1234" ec2 = boto3.client("ec2") ds = boto3.client("ds") region = boto3.Session().region_name # Create the VPC, Subnets, IGW, Routes vpc = ec2.create_vpc(CidrBlock="10.0.0.0/16")["Vpc"] vpc_id = vpc["VpcId"] time.sleep(30) ec2.create_tags(Resources=[vpc_id], Tags=[{"Key": "Name", "Value": vpc_name}]) subnet1 = ec2.create_subnet(VpcId=vpc_id, CidrBlock="10.0.0.0/17", AvailabilityZone=f"{region}a")["Subnet"] subnet1_id = subnet1["SubnetId"] time.sleep(30) ec2.create_tags(Resources=[subnet1_id], Tags=[{"Key": "Name", "Value": f"{vpc_name}/subnet1"}]) ec2.modify_subnet_attribute(SubnetId=subnet1_id, MapPublicIpOnLaunch={"Value": True}) subnet2 = ec2.create_subnet(VpcId=vpc_id, CidrBlock="10.0.128.0/17", AvailabilityZone=f"{region}b")["Subnet"] subnet2_id = subnet2["SubnetId"] time.sleep(30) ec2.create_tags(Resources=[subnet2_id], Tags=[{"Key": "Name", "Value": f"{vpc_name}/subnet2"}]) ec2.modify_subnet_attribute(SubnetId=subnet2_id, MapPublicIpOnLaunch={"Value": True}) igw = ec2.create_internet_gateway()["InternetGateway"] ec2.attach_internet_gateway(InternetGatewayId=igw["InternetGatewayId"], VpcId=vpc_id) route_table = ec2.describe_route_tables(Filters=[{"Name": "vpc-id", "Values": [vpc_id]}])["RouteTables"][0] ec2.create_route(RouteTableId=route_table["RouteTableId"], DestinationCidrBlock="0.0.0.0/0", GatewayId=igw["InternetGatewayId"]) ec2.modify_vpc_attribute(VpcId=vpc_id, EnableDnsSupport={"Value": True}) ec2.modify_vpc_attribute(VpcId=vpc_id, EnableDnsHostnames={"Value": True}) # Create the Active Directory ad = ds.create_microsoft_ad( Name=ad_domain, Password=admin_password, Description="ParallelCluster AD", VpcSettings={"VpcId": vpc_id, "SubnetIds": [subnet1_id, subnet2_id]}, Edition="Standard", ) directory_id = ad["DirectoryId"] # Wait for completion print("Waiting for the directory to be created...") directories = ds.describe_directories(DirectoryIds=[directory_id])["DirectoryDescriptions"] directory = directories[0] while directory["Stage"] in {"Requested", "Creating"}: time.sleep(3) directories = ds.describe_directories(DirectoryIds=[directory_id])["DirectoryDescriptions"] directory = directories[0] dns_ip_addrs = directory["DnsIpAddrs"] pprint({"directory_id": directory_id, "vpc_id": vpc_id, "subnet1_id": subnet1_id, "subnet2_id": subnet2_id, "dns_ip_addrs": dns_ip_addrs})

Das Folgende ist eine Beispielausgabe aus dem Python-Skript.

{ "directory_id": "d-abcdef01234567890", "dns_ip_addrs": ["192.0.2.254", "203.0.113.237"], "subnet1_id": "subnet-021345abcdef6789", "subnet2_id": "subnet-1234567890abcdef0", "vpc_id": "vpc-021345abcdef6789" }

Notieren Sie sich die Namen und IDs der Ausgaberessourcen. Sie verwenden sie in späteren Schritten.

Fahren Sie nach Abschluss des Skripts mit dem nächsten Schritt fort.

New EC2 console
  1. Melden Sie sich an der AWS Management Console an.

  2. Wenn Sie keine Rolle haben, der die in Schritt 4 aufgeführten Richtlinien zugeordnet sind, öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/. Fahren Sie andernfalls mit Schritt 5 fort.

  3. Erstellen Sie die ResetUserPassword Richtlinie und ersetzen Sie den rot hervorgehobenen Inhalt durch Ihre AWS-Region ID, Konto-ID und die Verzeichnis-ID aus der Ausgabe des Skripts, das Sie zur Erstellung des AD ausgeführt haben.

    ResetUserPassword

    { "Statement": [ { "Action": [ "ds:ResetUserPassword" ], "Resource": "arn:aws:ds:region-id:123456789012:directory/d-abcdef01234567890", "Effect": "Allow" } ] }
  4. Erstellen Sie eine IAM-Rolle mit den folgenden angehängten Richtlinien.

  5. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  6. Wählen Sie im EC2-Dashboard Launch Instance aus.

  7. Wählen Sie unter Anwendungs- und Betriebssystemimages ein aktuelles Amazon Linux 2-AMI aus.

  8. Wählen Sie als Instance-Typ t2.micro aus.

  9. Wählen Sie für key pair ein Schlüsselpaar aus.

  10. Wählen Sie für Netzwerkeinstellungen die Option Bearbeiten aus.

  11. Wählen Sie für VPC das Verzeichnis VPC aus.

  12. Scrollen Sie nach unten und wählen Sie Erweiterte Details aus.

  13. Wählen Sie unter Erweiterte Details unter Verzeichnis für Domänenbeitritt die Option auscorp.example.com.

  14. Wählen Sie für das IAM-Instanzprofil die Rolle aus, die Sie in Schritt 1 erstellt haben, oder eine Rolle, der die in Schritt 4 aufgeführten Richtlinien beigefügt sind.

  15. Wählen Sie unter Zusammenfassung die Option Launch instance aus.

  16. Notieren Sie sich die Instanz-ID (z. B. i-1234567890abcdef0) und warten Sie, bis der Start der Instance abgeschlossen ist.

  17. Fahren Sie nach dem Start der Instance mit dem nächsten Schritt fort.

Old EC2 console
  1. Melden Sie sich an der AWS Management Console an.

  2. Wenn Sie keine Rolle haben, der die in Schritt 4 aufgeführten Richtlinien zugeordnet sind, öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/. Fahren Sie andernfalls mit Schritt 5 fort.

  3. Erstellen Sie die ResetUserPassword Richtlinie. Ersetzen Sie den rot hervorgehobenen Inhalt durch Ihre AWS-Region AWS-Konto ID, ID und die Verzeichnis-ID aus der Ausgabe des Skripts, das Sie zur Erstellung des Active Directory (AD) ausgeführt haben.

    ResetUserPassword

    { "Statement": [ { "Action": [ "ds:ResetUserPassword" ], "Resource": "arn:aws:ds:region-id:123456789012:directory/d-abcdef01234567890", "Effect": "Allow" } ] }
  4. Erstellen Sie eine IAM-Rolle mit den folgenden angehängten Richtlinien.

  5. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  6. Wählen Sie im EC2-Dashboard Launch Instance aus.

  7. Wählen Sie unter Anwendungs- und Betriebssystemimages ein aktuelles Amazon Linux 2-AMI aus.

  8. Wählen Sie für Instance type die Option t2.micro aus.

  9. Wählen Sie für key pair ein Schlüsselpaar aus.

  10. Wählen Sie für Netzwerkeinstellungen die Option Bearbeiten aus.

  11. Wählen Sie unter Netzwerkeinstellungen, VPC, das Verzeichnis VPC aus.

  12. Scrollen Sie nach unten und wählen Sie Erweiterte Details aus.

  13. Wählen Sie unter Erweiterte Details unter Verzeichnis für Domänenbeitritt die Option auscorp.example.com.

  14. Wählen Sie unter Erweiterte Details, Instanzprofil, die Rolle aus, die Sie in Schritt 1 erstellt haben, oder eine Rolle, der die in Schritt 4 aufgeführten Richtlinien beigefügt sind.

  15. Wählen Sie unter Zusammenfassung die Option Instanz starten aus.

  16. Notieren Sie sich die Instanz-ID (z. B.i-1234567890abcdef0) und warten Sie, bis der Start der Instance abgeschlossen ist.

  17. Fahren Sie nach dem Start der Instance mit dem nächsten Schritt fort.

  1. Connect zu Ihrer Instance her und treten Sie dem AD-Realm als beiadmin.

    Führen Sie die folgenden Befehle aus, um eine Verbindung mit der Instanz herzustellen.

    $ INSTANCE_ID="i-1234567890abcdef0"
    $ PUBLIC_IP=$(aws ec2 describe-instances \ --instance-ids $INSTANCE_ID \ --query "Reservations[0].Instances[0].PublicIpAddress" \ --output text)
    $ ssh -i ~/.ssh/keys/keypair.pem ec2-user@$PUBLIC_IP
  2. Installieren Sie die erforderliche Software und treten Sie dem Realm bei.
    $ sudo yum -y install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python
  3. Ersetzen Sie das Admin-Passwort durch Ihr admin Passwort.
    $ ADMIN_PW="asdfASDF1234"
    $ echo $ADMIN_PW | sudo realm join -U Admin corp.example.com Password for Admin:

    Wenn der vorherige Vorgang erfolgreich war, sind Sie dem Realm beigetreten und können mit dem nächsten Schritt fortfahren.

  1. Erstellen Sie den ReadOnlyUser und einen weiteren Benutzer.

    In diesem Schritt verwenden Sie die Tools adcli und openldap-Clients, die Sie in einem vorherigen Schritt installiert haben.

    $ echo $ADMIN_PW | adcli create-user -x -U Admin --domain=corp.example.com --display-name=ReadOnlyUser ReadOnlyUser
    $ echo $ADMIN_PW | adcli create-user -x -U Admin --domain=corp.example.com --display-name=user000 user000
  2. Stellen Sie sicher, dass die Benutzer erstellt wurden:

    Die Verzeichnis-DNS-IP-Adressen sind Ausgaben des Python-Skripts.

    $ DIRECTORY_IP="192.0.2.254"
    $ ldapsearch -x -h $DIRECTORY_IP -D Admin -w $ADMIN_PW -b "cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com"
    $ ldapsearch -x -h $DIRECTORY_IP -D Admin -w $ADMIN_PW -b "cn=user000,ou=Users,ou=CORP,dc=corp,dc=example,dc=com"

    Wenn Sie einen Benutzer mit dem erstellenad-cli, ist der Benutzer standardmäßig deaktiviert.

  3. Setzen Sie die Benutzerkennwörter von Ihrem lokalen Computer aus zurück und aktivieren Sie sie:

    Melden Sie sich von Ihrer EC2-Instance ab.

    Anmerkung
    • ro-p@ssw0rdist das Passwort vonReadOnlyUser, abgerufen vonAWS Secrets Manager.

    • user-p@ssw0rdist das Passwort eines Cluster-Benutzers, das angegeben wird, wenn Sie eine Verbindung (ssh) mit dem Cluster herstellen.

    Das directory-id ist eine Ausgabe des Python-Skripts.

    $ DIRECTORY_ID="d-abcdef01234567890"
    $ aws ds reset-user-password \ --directory-id $DIRECTORY_ID \ --user-name "ReadOnlyUser" \ --new-password "ro-p@ssw0rd" \ --region "region-id"
    $ aws ds reset-user-password \ --directory-id $DIRECTORY_ID \ --user-name "user000" \ --new-password "user-p@ssw0rd" \ --region "region-id"
  4. Fügen Sie das Passwort zu einem Secrets Manager Manager-Geheimnis hinzu.

    Nachdem Sie nun ein Passwort erstellt ReadOnlyUser und festgelegt haben, speichern Sie es in einem geheimen Ordner, der für die Validierung von Anmeldungen AWS ParallelCluster verwendet wird.

    Verwenden Sie Secrets Manager, um ein neues Geheimnis zu erstellen, das das Passwort für ReadOnlyUser als Wert enthält. Das geheime Wertformat darf nur Klartext sein (kein JSON-Format). Notieren Sie sich den geheimen ARN für future Schritte.

    $ aws secretsmanager create-secret --name "ADSecretPassword" \ --region region_id \ --secret-string "ro-p@ssw0rd" \ --query ARN \ --output text arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234

Notieren Sie sich die Ressourcen-IDs. Sie verwenden sie später schrittweise.

  1. Generieren Sie lokal ein Domänenzertifikat.
    $ PRIVATE_KEY="corp-example-com.key" CERTIFICATE="corp-example-com.crt" printf ".\n.\n.\n.\n.\ncorp.example.com\n.\n" | openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout $PRIVATE_KEY -days 365 -out $CERTIFICATE
  2. Speichern Sie das Zertifikat in Secrets Manager, damit es später innerhalb des Clusters abgerufen werden kann.
    $ aws secretsmanager create-secret --name example-cert \ --secret-string file://$CERTIFICATE \ --region region-id { "ARN": "arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-123abc", "Name": "example-cert", "VersionId": "14866070-092a-4d5a-bcdd-9219d0566b9c" }
  3. Fügen Sie der IAM-Rolle, die Sie erstellt haben, um die EC2-Instance mit der AD-Domäne zu verbinden, die folgende Richtlinie hinzu.

    PutDomainCertificateSecrets

    { "Statement": [ { "Action": [ "secretsmanager:PutSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-123abc", ], "Effect": "Allow" } ] }
  4. Importieren Sie das Zertifikat in AWS Certificate Manager (ACM).
    $ aws acm import-certificate --certificate fileb://$CERTIFICATE \ --private-key fileb://$PRIVATE_KEY \ --region region-id { "CertificateArn": "arn:aws:acm:region-id:123456789012:certificate/343db133-490f-4077-b8d4-3da5bfd89e72" }
  5. Erstellen Sie und den Load Balancer, der vor den Active Directory-Endpunkten platziert wird.
    $ aws elbv2 create-load-balancer --name CorpExampleCom-NLB \ --type network \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-021345abcdef6789 \ --region region-id { "LoadBalancers": [ { "LoadBalancerArn": "arn:aws:elasticloadbalancing:region-id:123456789012:loadbalancer/net/CorpExampleCom-NLB/3afe296bf4ba80d4", "DNSName": "CorpExampleCom-NLB-3afe296bf4ba80d4.elb.region-id.amazonaws.com", "CanonicalHostedZoneId": "Z2IFOLAFXWLO4F", "CreatedTime": "2022-05-05T12:56:55.988000+00:00", "LoadBalancerName": "CorpExampleCom-NLB", "Scheme": "internal", "VpcId": "vpc-021345abcdef6789", "State": { "Code": "provisioning" }, "Type": "network", "AvailabilityZones": [ { "ZoneName": "region-idb", "SubnetId": "subnet-021345abcdef6789", "LoadBalancerAddresses": [] }, { "ZoneName": "region-ida", "SubnetId": "subnet-1234567890abcdef0", "LoadBalancerAddresses": [] } ], "IpAddressType": "ipv4" } ] }
  6. Erstellen Sie die Zielgruppe, die auf die Active Directory-Endpunkte abzielt.
    $ aws elbv2 create-target-group --name CorpExampleCom-Targets --protocol TCP \ --port 389 \ --target-type ip \ --vpc-id vpc-021345abcdef6789 \ --region region-id { "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:region-id:123456789012:targetgroup/CorpExampleCom-Targets/44577c583b695e81", "TargetGroupName": "CorpExampleCom-Targets", "Protocol": "TCP", "Port": 389, "VpcId": "vpc-021345abcdef6789", "HealthCheckProtocol": "TCP", "HealthCheckPort": "traffic-port", "HealthCheckEnabled": true, "HealthCheckIntervalSeconds": 30, "HealthCheckTimeoutSeconds": 10, "HealthyThresholdCount": 3, "UnhealthyThresholdCount": 3, "TargetType": "ip", "IpAddressType": "ipv4" } ] }
  7. Registrieren Sie die Active Directory (AD) -Endpunkte in der Zielgruppe.
    $ aws elbv2 register-targets --target-group-arn arn:aws:elasticloadbalancing:region-id:123456789012:targetgroup/CorpExampleCom-Targets/44577c583b695e81 \ --targets Id=192.0.2.254,Port=389 Id=203.0.113.237,Port=389 \ --region region-id
  8. Erstellen Sie den LB-Listener mit dem Zertifikat.
    $ aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region-id:123456789012:loadbalancer/net/CorpExampleCom-NLB/3afe296bf4ba80d4 \ --protocol TLS \ --port 636 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region-id:123456789012:targetgroup/CorpExampleCom-Targets/44577c583b695e81 \ --ssl-policy ELBSecurityPolicy-TLS-1-2-2017-01 \ --certificates CertificateArn=arn:aws:acm:region-id:123456789012:certificate/343db133-490f-4077-b8d4-3da5bfd89e72 \ --region region-id "Listeners": [ { "ListenerArn": "arn:aws:elasticloadbalancing:region-id:123456789012:listener/net/CorpExampleCom-NLB/3afe296bf4ba80d4/a8f9d97318743d4b", "LoadBalancerArn": "arn:aws:elasticloadbalancing:region-id:123456789012:loadbalancer/net/CorpExampleCom-NLB/3afe296bf4ba80d4", "Port": 636, "Protocol": "TLS", "Certificates": [ { "CertificateArn": "arn:aws:acm:region-id:123456789012:certificate/343db133-490f-4077-b8d4-3da5bfd89e72" } ], "SslPolicy": "ELBSecurityPolicy-TLS-1-2-2017-01", "DefaultActions": [ { "Type": "forward", "TargetGroupArn": "arn:aws:elasticloadbalancing:region-id:123456789012:targetgroup/CorpExampleCom-Targets/44577c583b695e81", "ForwardConfig": { "TargetGroups": [ { "TargetGroupArn": "arn:aws:elasticloadbalancing:region-id:123456789012:targetgroup/CorpExampleCom-Targets/44577c583b695e81" } ] } } ] } ] }
  9. Erstellen Sie die Hosting-Zone, damit die Domain innerhalb der Cluster-VPC auffindbar ist.
    $ aws route53 create-hosted-zone --name corp.example.com \ --vpc VPCRegion=region-id,VPCId=vpc-021345abcdef6789 \ --caller-reference "ParallelCluster AD Tutorial" { "Location": "https://route53.amazonaws.com/2013-04-01/hostedzone/Z09020002B5MZQNXMSJUB", "HostedZone": { "Id": "/hostedzone/Z09020002B5MZQNXMSJUB", "Name": "corp.example.com.", "CallerReference": "ParallelCluster AD Tutorial", "Config": { "PrivateZone": true }, "ResourceRecordSetCount": 2 }, "ChangeInfo": { "Id": "/change/C05533343BF3IKSORW1TQ", "Status": "PENDING", "SubmittedAt": "2022-05-05T13:21:53.863000+00:00" }, "VPC": { "VPCRegion": "region-id", "VPCId": "vpc-021345abcdef6789" } }
  10. Erstellen Sie eine Datei, die recordset-change.json den folgenden Inhalt hat. HostedZoneIdist die kanonische Hosting-Zonen-ID des Load Balancers.
    { "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "corp.example.com", "Type": "A", "Region": "region-id", "SetIdentifier": "example-active-directory", "AliasTarget": { "HostedZoneId": "Z2IFOLAFXWLO4F", "DNSName": "CorpExampleCom-NLB-3afe296bf4ba80d4.elb.region-id.amazonaws.com", "EvaluateTargetHealth": true } } } ] }
  11. Sendet die Änderung der Datensatzgruppe an die Hosting-Zone, diesmal unter Verwendung der Hosting-Zonen-ID.
    $ aws route53 change-resource-record-sets --hosted-zone-id Z09020002B5MZQNXMSJUB \ --change-batch file://recordset-change.json { "ChangeInfo": { "Id": "/change/C0137926I56R3GC7XW2Y", "Status": "PENDING", "SubmittedAt": "2022-05-05T13:40:36.553000+00:00" } }
  12. Erstellen Sie ein Richtliniendokument policy.json mit dem folgenden Inhalt.
    { "Version": "2012-10-17", "Statement": [ { "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-abc123" ], "Effect": "Allow" } ] }
  13. Erstellen Sie ein Richtliniendokument, das policy.json den folgenden Inhalt hat.
    $ aws iam create-policy --policy-name ReadCertExample \ --policy-document file://policy.json { "Policy": { "PolicyName": "ReadCertExample", "PolicyId": "ANPAUUXUVBC42VZSI4LDY", "Arn": "arn:aws:iam::123456789012:policy/ReadCertExample-efg456", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 0, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "CreateDate": "2022-05-05T13:42:18+00:00", "UpdateDate": "2022-05-05T13:42:18+00:00" } }
  14. Folgen Sie weiterhin den Schritten unter (Optional) Schritt 2: AD-Benutzer und -Gruppen verwalten oderSchritt 3: Erstellen Sie den Cluster.

In diesem Schritt verwalten Sie Benutzer und Gruppen von einer EC2 Amazon Linux 2-Instance aus, die mit der Active Delivery (AD) -Domäne verbunden ist.

Wenn Sie dem automatisierten Pfad gefolgt sind, starten Sie die AD-verbundene Instance neu und melden Sie sich bei ihr an, die im Rahmen der Automatisierung erstellt wurde.

Wenn Sie dem manuellen Pfad gefolgt sind, starten Sie die Instanz neu und melden Sie sich bei der Instanz an, die Sie in den vorherigen Schritten erstellt und dem AD hinzugefügt haben.

In diesen Schritten verwenden Sie die Tools adcli und openldap-clients, die im Rahmen eines vorherigen Schritts in der Instanz installiert wurden.

Melden Sie sich bei einer EC2-Instance an, die mit der AD-Domäne verbunden ist
  1. Wählen Sie in der EC2-Konsole die unbenannte EC2-Instance aus, die in den vorherigen Schritten erstellt wurde. Der Instanzstatus könnte „Gestoppt“ lauten.

  2. Wenn der Instanzstatus Gestoppt lautet, wählen Sie Instanzstatus und dann Instanz starten aus.

  3. Nachdem die Statusprüfungen bestanden wurden, wählen Sie die Instance aus und klicken Sie auf Connect and SSH in the instance.

Benutzer und Gruppen verwalten, wenn Sie bei einer EC2 Amazon Linux 2-Instance angemeldet sind, die dem AD beigetreten ist

Wenn Sie die adcli Befehle mit der -U "Admin" Option ausführen, werden Sie aufgefordert, das Admin AD-Passwort einzugeben. Sie geben das Admin AD-Passwort als Teil der ldapsearch Befehle an.

  1. Erstellen eines Benutzers.
    $ adcli create-user "clusteruser" --domain "corp.example.com" -U "Admin"
  2. Legen Sie ein Benutzerkennwort fest.
    $ aws --region "region-id" ds reset-user-password --directory-id "d-abcdef01234567890" --user-name "clusteruser" --new-password "new-p@ssw0rd"
  3. Erstellen Sie eine Gruppe.
    $ adcli create-group "clusterteam" --domain "corp.example.com" -U "Admin"
  4. Fügt einen Benutzer zu einer Gruppe hinzu.
    $ adcli add-member "clusterteam" "clusteruser" --domain "corp.example.com" -U "Admin"
  5. Beschreiben Sie Benutzer und Gruppen.

    Beschreiben Sie alle Benutzer.

    $ ldapsearch "(&(objectClass=user))" -x -h "192.0.2.254" -b "DC=corp,DC=example,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=example,DC=com" -w "p@ssw0rd"

    Beschreiben Sie einen bestimmten Benutzer.

    $ ldapsearch "(&(objectClass=user)(cn=clusteruser))" -x -h "192.0.2.254" -b "DC=corp,DC=example,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=example,DC=com" -w "p@ssw0rd"

    Beschreiben Sie alle Benutzer mit einem Namensmuster.

    $ ldapsearch "(&(objectClass=user)(cn=user*))" -x -h "192.0.2.254" -b "DC=corp,DC=example,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=example,DC=com" -w "p@ssw0rd"

    Beschreiben Sie alle Benutzer, die Teil einer bestimmten Gruppe sind.

    $ ldapsearch "(&(objectClass=user)(memberOf=CN=clusterteam,OU=Users,OU=CORP,DC=corp,DC=example,DC=com))" -x -h "192.0.2.254" -b "DC=corp,DC=example,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=example,DC=com" -w "p@ssw0rd"

    Beschreiben Sie alle Gruppen

    $ ldapsearch "objectClass=group" -x -h "192.0.2.254" -b "DC=corp,DC=example,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=example,DC=com" -w "p@ssw0rd"

    Beschreiben Sie eine bestimmte Gruppe

    $ ldapsearch "(&(objectClass=group)(cn=clusterteam))" -x -h "192.0.2.254" -b "DC=corp,DC=example,DC=com" -D "CN=Admin,OU=Users,OU=CORP,DC=corp,DC=example,DC=com" -w "p@ssw0rd"
  6. Einen Benutzer aus einer Gruppe entfernen.
    $ adcli remove-member "clusterteam" "clusteruser" --domain "corp.example.com" -U "Admin"
  7. Einen Benutzer löschen.
    $ adcli delete-user "clusteruser" --domain "corp.example.com" -U "Admin"
  8. Löscht eine Gruppe.
    $ adcli delete-group "clusterteam" --domain "corp.example.com" -U "Admin"

Wenn Sie die EC2-Instance nicht verlassen haben, tun Sie dies jetzt.

Die Umgebung ist so eingerichtet, dass ein Cluster erstellt wird, der Benutzer anhand des Active Directory (AD) authentifizieren kann.

Erstellen Sie eine einfache Clusterkonfiguration und geben Sie die Einstellungen an, die für die Verbindung mit dem AD relevant sind. Weitere Informationen finden Sie im Abschnitt DirectoryService.

Wählen Sie eine der folgenden Clusterkonfigurationen aus und kopieren Sie sie in eine Datei mit dem Namenldaps_config.yaml,ldaps_nocert_config.yaml, oderldap_config.yaml.

Wir empfehlen Ihnen, die LDAPS-Konfiguration mit Zertifikatüberprüfung zu wählen. Wenn Sie diese Konfiguration wählen, müssen Sie auch das Bootstrap-Skript in eine Datei mit dem Namen kopieren. active-directory.head.post.sh Und Sie müssen es in einem Amazon S3 S3-Bucket speichern, wie in der Konfigurationsdatei angegeben.

Anmerkung
Die folgenden Komponenten müssen geändert werden.
  • KeyName: Eines Ihrer EC2-Tastenpaare.

  • SubnetId / SubnetIds: Eine der Subnetz-IDs, die in der Ausgabe des CloudFormation Quick Create Stacks (automatisiertes Tutorial) oder des Python-Skripts (manuelles Tutorial) angegeben wurden.

  • Region: Die Region, in der Sie die AD-Infrastruktur erstellt haben.

  • DomainAddr: Diese IP-Adresse ist eine der DNS-Adressen Ihres AD-Dienstes.

  • PasswordSecretArn: Der Amazon-Ressourcenname (ARN) des Geheimnisses, das das Passwort für den enthältDomainReadOnlyUser.

  • BucketName: Der Name des Buckets, der das Bootstrap-Skript enthält.

  • AdditionalPolicies/Policy: Der Amazon-Ressourcenname (ARN) der gelesenen Domain-Zertifizierungsrichtlinie ReadCertExample.

  • CustomActions/OnNodeConfigured/Args: Der geheime Amazon-Ressourcenname (ARN), der die Domain-Zertifizierungsrichtlinie enthält.

Aus Sicherheitsgründen empfehlen wir, die AllowedIps KonfigurationHeadNode/Ssh/zu verwenden, um den SSH-Zugriff auf den Hauptknoten zu beschränken.

Region: region-id Image: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-abcdef01234567890 Ssh: KeyName: keypair Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::123456789012:policy/ReadCertExample S3Access: - BucketName: my-bucket EnableWriteAccess: false KeyName: bootstrap/active-directory/active-directory.head.post.sh CustomActions: OnNodeConfigured: Script: s3://my-bucket/bootstrap/active-directory/active-directory.head.post.sh Args: - arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-123abc - /opt/parallelcluster/shared/directory_service/domain-certificate.crt Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 DirectoryService: DomainName: corp.example.com DomainAddr: ldaps://corp.example.com PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234 DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com LdapTlsCaCert: /opt/parallelcluster/shared/directory_service/domain-certificate.crt LdapTlsReqCert: hard

Bootstrap-Skript

Nachdem Sie die Bootstrap-Datei erstellt haben und bevor Sie sie in Ihren S3-Bucket hochladen, führen Sie den Befehl aus, chmod +x active-directory.head.post.sh um die Ausführungsberechtigung zu erteilenAWS ParallelCluster.

#!/bin/bash set -e CERTIFICATE_SECRET_ARN="$1" CERTIFICATE_PATH="$2" [[ -z $CERTIFICATE_SECRET_ARN ]] && echo "[ERROR] Missing CERTIFICATE_SECRET_ARN" && exit 1 [[ -z $CERTIFICATE_PATH ]] && echo "[ERROR] Missing CERTIFICATE_PATH" && exit 1 source /etc/parallelcluster/cfnconfig REGION="${cfn_region:?}" mkdir -p $(dirname $CERTIFICATE_PATH) aws secretsmanager get-secret-value --region $REGION --secret-id $CERTIFICATE_SECRET_ARN --query SecretString --output text > $CERTIFICATE_PATH
Anmerkung
Die folgenden Komponenten müssen geändert werden.
  • KeyName: Eines Ihrer EC2-Tastenpaare.

  • SubnetId / SubnetIds: Eine der Subnetz-IDs, die in der Ausgabe des CloudFormation Quick Create Stacks (automatisiertes Tutorial) oder des Python-Skripts (manuelles Tutorial) enthalten sind.

  • Region: Die Region, in der Sie die AD-Infrastruktur erstellt haben.

  • DomainAddr: Diese IP-Adresse ist eine der DNS-Adressen Ihres AD-Dienstes.

  • PasswordSecretArn: Der Amazon-Ressourcenname (ARN) des Geheimnisses, das das Passwort für den enthältDomainReadOnlyUser.

Aus Sicherheitsgründen empfehlen wir, die AllowedIps Konfiguration HeadNode /Ssh/ zu verwenden, um den SSH-Zugriff auf den Hauptknoten zu beschränken.

Region: region-id Image: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-abcdef01234567890 Ssh: KeyName: keypair Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 DirectoryService: DomainName: corp.example.com DomainAddr: ldaps://corp.example.com PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234 DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com LdapTlsReqCert: never
Anmerkung
Die folgenden Komponenten müssen geändert werden.
  • KeyName: Eines Ihrer EC2-Tastenpaare.

  • SubnetId / SubnetIds: Eine der Subnetz-IDs, die in der Ausgabe des CloudFormation Quick Create Stacks (automatisiertes Tutorial) oder des Python-Skripts (manuelles Tutorial) angegeben wurden.

  • Region: Die Region, in der Sie die AD-Infrastruktur erstellt haben.

  • DomainAddr: Diese IP-Adresse ist eine der DNS-Adressen Ihres AD-Dienstes.

  • PasswordSecretArn: Der Amazon-Ressourcenname (ARN) des Geheimnisses, das das Passwort für den enthältDomainReadOnlyUser.

Aus Sicherheitsgründen empfehlen wir, die AllowedIps Konfiguration HeadNode /Ssh/ zu verwenden, um den SSH-Zugriff auf den Hauptknoten zu beschränken.

Region: region-id Image: Os: alinux2 HeadNode: InstanceType: t2.micro Networking: SubnetId: subnet-abcdef01234567890 Ssh: KeyName: keypair Scheduling: Scheduler: slurm SlurmQueues: - Name: queue0 ComputeResources: - Name: queue0-t2-micro InstanceType: t2.micro MinCount: 1 MaxCount: 10 Networking: SubnetIds: - subnet-abcdef01234567890 DirectoryService: DomainName: dc=corp,dc=example,dc=com DomainAddr: ldap://192.0.2.254,ldap://203.0.113.237 PasswordSecretArn: arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234 DomainReadOnlyUser: cn=ReadOnlyUser,ou=Users,ou=CORP,dc=corp,dc=example,dc=com AdditionalSssdConfigs: ldap_auth_disable_tls_never_use_in_production: True

Erstellen Sie den Cluster mit dem folgenden Befehl.

$ pcluster create-cluster --cluster-name "ad-cluster" --cluster-configuration "./ldaps_config.yaml" { "cluster": { "clusterName": "pcluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:region-id:123456789012:stack/ad-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "region-id", "version": 3.7.0, "clusterStatus": "CREATE_IN_PROGRESS" } }

Sie können den Status des Clusters mit den folgenden Befehlen ermitteln.

$ pcluster describe-cluster -n ad-cluster --region "region-id" --query "clusterStatus"

Die Ausgabe sieht wie folgt aus.

"CREATE_IN_PROGRESS" / "CREATE_COMPLETE"

Wenn der Status erreicht ist"CREATE_COMPLETE", melden Sie sich mit dem erstellten Benutzernamen und Passwort an.

$ HEAD_NODE_IP=$(pcluster describe-cluster -n "ad-cluster" --region "region-id" --query headNode.publicIpAddress | xargs echo)
$ ssh user000@$HEAD_NODE_IP

Sie können sich auch ohne das Passwort anmelden, indem Sie den SSH Schlüssel angeben, der für den neuen Benutzer unter erstellt wurde/home/user000@HEAD_NODE_IP/.ssh/id_rsa.

Wenn der ssh Befehl erfolgreich war, haben Sie als Benutzer, der für die Verwendung von Active Directory (AD) authentifiziert wurde, erfolgreich eine Verbindung zum Cluster hergestellt.

  1. Löschen Sie den Cluster von Ihrem lokalen Computer.
    $ pcluster delete-cluster --cluster-name "ad-cluster" --region "region-id" { "cluster": { "clusterName": "ad-cluster", "cloudformationStackStatus": "DELETE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:region-id:123456789012:stack/ad-cluster/1234567-abcd-0123-def0-abcdef0123456", "region": "region-id", "version": "3.7.0", "clusterStatus": "DELETE_IN_PROGRESS" } }
  2. Überprüfen Sie den Fortschritt beim Löschen des Clusters.
    $ pcluster describe-cluster --cluster-name "ad-cluster" --region "region-id" --query "clusterStatus" "DELETE_IN_PROGRESS"

    Nachdem der Cluster erfolgreich gelöscht wurde, fahren Sie mit dem nächsten Schritt fort.

Löschen Sie die Active Directory-Ressourcen
  1. Von https://console.aws.amazon.com/cloudformation/.

  2. Klicken Sie im Navigationsbereich auf Stacks.

  3. Wählen Sie aus der Liste der Stacks den AD-Stack aus (z. B.pcluster-ad).

  4. Wählen Sie Löschen aus.

  1. Löschen Sie die EC2-Instance.
    1. Wählen Sie unter https://console.aws.amazon.com/ec2/ im Navigationsbereich Instances aus.

    2. Wählen Sie aus der Liste der Instanzen die Instanz aus, die Sie erstellt haben, um dem Verzeichnis Benutzer hinzuzufügen.

    3. Wählen Sie Instanzstatus und anschließend Instanz beenden aus.

  2. Löschen Sie die gehostete Zone.
    1. Erstellen Sie eine recordset-delete.json mit dem folgenden Inhalt. In diesem Beispiel HostedZoneId ist dies die kanonische Hosting-Zonen-ID des Load Balancers.

      { "Changes": [ { "Action": "DELETE", "ResourceRecordSet": { "Name": "corp.example.com", "Type": "A", "Region": "region-id", "SetIdentifier": "pcluster-active-directory", "AliasTarget": { "HostedZoneId": "Z2IFOLAFXWLO4F", "DNSName": "CorpExampleCom-NLB-3afe296bf4ba80d4.elb.region-id.amazonaws.com", "EvaluateTargetHealth": true } } } ] }
    2. Übermitteln Sie die Änderung der Datensatzgruppe mithilfe der Hosting-Zonen-ID an die gehostete Zone.

      $ aws route53 change-resource-record-sets --hosted-zone-id Z09020002B5MZQNXMSJUB \ --change-batch file://recordset-delete.json { "ChangeInfo": { "Id": "/change/C04853642A0TH2TJ5NLNI", "Status": "PENDING", "SubmittedAt": "2022-05-05T14:25:51.046000+00:00" } }
    3. Löschen Sie die gehostete Zone.

      $ aws route53 delete-hosted-zone --id Z09020002B5MZQNXMSJUB { "ChangeInfo": { "Id": "/change/C0468051QFABTVHMDEG9", "Status": "PENDING", "SubmittedAt": "2022-05-05T14:26:13.814000+00:00" } }
  3. Löschen Sie den LB-Listener.
    $ aws elbv2 delete-listener \ --listener-arn arn:aws:elasticloadbalancing:region-id:123456789012:listener/net/CorpExampleCom-NLB/3afe296bf4ba80d4/a8f9d97318743d4b --region region-id
  4. Löschen Sie die Zielgruppe.
    $ aws elbv2 delete-target-group \ --target-group-arn arn:aws:elasticloadbalancing:region-id:123456789012:targetgroup/CorpExampleCom-Targets/44577c583b695e81 --region region-id
  5. Löschen Sie den Load Balancer.
    $ aws elbv2 delete-load-balancer \ --load-balancer-arn arn:aws:elasticloadbalancing:region-id:123456789012:loadbalancer/net/CorpExampleCom-NLB/3afe296bf4ba80d4 --region region-id
  6. Löschen Sie die Richtlinie, die der Cluster verwendet, um das Zertifikat aus Secrets Manager zu lesen.
    $ aws iam delete-policy --policy-arn arn:aws:iam::123456789012:policy/ReadCertExample
  7. Löschen Sie das Geheimnis, das das Domänenzertifikat enthält.
    $ aws secretsmanager delete-secret \ --secret-id arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-123abc \ --region region-id { "ARN": "arn:aws:secretsmanager:region-id:123456789012:secret:example-cert-123abc", "Name": "example-cert", "DeletionDate": "2022-06-04T16:27:36.183000+02:00" }
  8. Löschen Sie das Zertifikat aus ACM.
    $ aws acm delete-certificate \ --certificate-arn arn:aws:acm:region-id:123456789012:certificate/343db133-490f-4077-b8d4-3da5bfd89e72 --region region-id
  9. Löschen Sie die Active Directory-Ressourcen (AD).
    1. Rufen Sie die folgenden Ressourcen-IDs aus der Ausgabe des Python-Skripts abad.py:

      • ANZEIGEN-ID

      • AD-Subnetz-IDs

      • UND VPC-ID

    2. Löschen Sie das Verzeichnis, indem Sie den folgenden Befehl ausführen.

      $ aws ds delete-directory --directory-id d-abcdef0123456789 --region region-id { "DirectoryId": "d-abcdef0123456789" }
    3. Listet die Sicherheitsgruppen in der VPC auf.

      $ aws ec2 describe-security-groups --filters '[{"Name":"vpc-id","Values":["vpc-07614ade95ebad1bc"]}]' --region region-id
    4. Löschen Sie die benutzerdefinierte Sicherheitsgruppe.

      $ aws ec2 delete-security-group --group-id sg-021345abcdef6789 --region region-id
    5. Löschen Sie die Subnetze.

      $ aws ec2 delete-subnet --subnet-id subnet-1234567890abcdef --region region-id
      $ aws ec2 delete-subnet --subnet-id subnet-021345abcdef6789 --region region-id
    6. Beschreiben Sie das Internet-Gateway.

      $ aws ec2 describe-internet-gateways \ --filters Name=attachment.vpc-id,Values=vpc-021345abcdef6789 \ --region region-id { "InternetGateways": [ { "Attachments": [ { "State": "available", "VpcId": "vpc-021345abcdef6789" } ], "InternetGatewayId": "igw-1234567890abcdef", "OwnerId": "123456789012", "Tags": [] } ] }
    7. Trennen Sie das Internet-Gateway.

      $ aws ec2 detach-internet-gateway \ --internet-gateway-id igw-1234567890abcdef \ --vpc-id vpc-021345abcdef6789 \ --region region-id
    8. Löschen Sie das Internet-Gateway.

      $ aws ec2 delete-internet-gateway \ --internet-gateway-id igw-1234567890abcdef \ --region region-id
    9. Löschen Sie die VPC.

      $ aws ec2 delete-vpc \ --vpc-id vpc-021345abcdef6789 \ --region region-id
    10. Löschen Sie das Geheimnis, das das ReadOnlyUser Passwort enthält.

      $ aws secretsmanager delete-secret \ --secret-id arn:aws:secretsmanager:region-id:123456789012:secret:ADSecretPassword-1234" \ --region region-id