View a markdown version of this page

Verwenden Sie AWS-gepflegte Skripte für Node-Lifecycle-Aktionen in AWS STCK - AWS STCK

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.

Verwenden Sie AWS-gepflegte Skripte für Node-Lifecycle-Aktionen in AWS STCK

AWS veröffentlicht gepflegte Skripte für allgemeine Lebenszyklusaktionen. Sie verweisen direkt aus Ihrer Compute-Knotengruppenkonfiguration auf ein verwaltetes Skript. Die Skripte sind idempotent und können sicher bei jedem Start ausgeführt werden.

AWS verteilt die Skripte jeweils aus einem öffentlichen, AWS verwalteten Amazon S3-Bucket. AWS-Region Sie verweisen auf ein Skript anhand seiner Amazon S3-URI. Sie verweisen auf ein verwaltetes Skript auf die gleiche Weise, wie Sie auf Ihr eigenes Skript verweisen. Sie können die Skripts direkt aus dem AWS-managed-Bucket referenzieren.

Verfügbare Skripte

Script

Beschreibung

Erforderliche Pakete

mount-efs.sh

Mounten Sie ein Amazon EFS-Dateisystem an einem bestimmten Pfad und speichern es auch nach Neustarts.

amazon-efs-utils, nfs-utils

mount-fsx-lustre.sh

Mounten Sie ein Amazon FSx for Lustre-Dateisystem an einem bestimmten Pfad und speichern es auch bei Neustarts.

lustre-client

configure-efs-homes.sh

Mounten Sie ein Amazon EFS-Dateisystem als Basisverzeichnis und konfiguriert PAM so, dass das Home-Verzeichnis jedes Benutzers bei der ersten Anmeldung erstellt wird.

amazon-efs-utilsnfs-utils, und mkhomedir PAM-Pakete (siehe die Anforderungen pro Skript)

configure-ldaps.sh

Konfiguriert SSSD für die LDAP- oder LDAPS-Authentifizierung mit Unterstützung für authentifizierte Bindungen (Anmeldeinformationen von AWS Secrets Manager) oder anonyme Bindungen.

sssd, sssd-ldapsssd-tools, und verwandte Pakete (siehe die Anforderungen pro Skript)

configure-cloudwatch-logs.sh

Konfiguriert den CloudWatch Amazon-Agenten so, dass er die Lifecycle-Aktionsprotokolle des Knotens an Amazon CloudWatch Logs weiterleitet.

amazon-cloudwatch-agent

Wichtig

Diese Skripts installieren die erforderlichen Pakete nicht. Installieren Sie die erforderlichen Pakete in Ihrem AMI, bevor Sie ein Skript verwenden. Ein Skript schlägt fehl, wenn eine Voraussetzung fehlt. Bei einigen Skripten muss die Instanzrolle des Knotens über bestimmte Berechtigungen verfügen. Sehen Sie sich die Anforderungen für jedes Skript an.

Verweisen Sie auf ein Skript

Referenzieren Sie ein Skript anhand seiner Amazon S3-URI im scriptLocation Feld einer Lifecycle-Aktion. Die Skripts werden jeweils AWS-Region unter dem aws-pcs-node-lifecycle-scripts Präfix des AWSaws-pcs-repo-region -managed-Buckets gespeichert. Verwenden Sie den Bucket genauso AWS-Region wie Ihren Cluster.

s3://aws-pcs-repo-region/aws-pcs-node-lifecycle-scripts/script-vversion.sh

Jedes Skript ist mit semantischer Versionierung versioniert. Sie können eine bestimmte Version anheften oder die neueste Version innerhalb einer Hauptversion nachverfolgen:

  • Eine bestimmte Version anheften — Verwenden Sie die vollständige semantische Version, z. B. mount-efs-v1.0.0.sh Der Inhalt einer bestimmten Version ist unveränderlich. Verwenden Sie eine angeheftete Version für die Produktion.

  • Aktuelle Version verfolgen — Verwenden Sie den Alias für die Hauptversion, z. B. mount-efs-v1-latest.sh Der Alias verweist auf die neueste Version innerhalb dieser Hauptversion. Kombinieren Sie es damit scriptCachingPolicyREFRESH_ON_REBOOT, um Updates beim Neustart zu erhalten.

Jedes Skript hat eine zugehörige SHA-256 Prüfsummendatei am selben Ort mit einem .sha256 Suffix (z. B.mount-efs-v1.0.0.sh.sha256). Lesen Sie den .sha256 Wert und legen Sie ihn als den des Skripts fest. checksum Der Agent überprüft dann die Integrität des Skripts beim Herunterladen. Weitere Informationen finden Sie unter Integrität des Skripts (Prüfsummen).

Verfügbare Skriptversionen

AWS versioniert jedes Skript unabhängig. In den folgenden Tabellen sind die verfügbaren Versionen der einzelnen Skripts aufgeführt. Verwenden Sie eine Version in der Amazon S3-URI des Skripts, wie unter beschriebenVerweisen Sie auf ein Skript.

mount-efs.sh

Version

Datum der Veröffentlichung

Versionshinweise

1.0.0

23. Juli 2026

Erstversion.

mount-fsx-lustre.sh

Version

Datum der Veröffentlichung

Versionshinweise

1.0.0

23. Juli 2026

Erstversion.

configure-efs-homes.sh

Version

Datum der Veröffentlichung

Versionshinweise

1.0.0

23. Juli 2026

Erstversion.

configure-ldaps.sh

Version

Datum der Veröffentlichung

Versionshinweise

1.0.0

23. Juli 2026

Erstversion.

configure-cloudwatch-logs.sh

Version

Datum der Veröffentlichung

Versionshinweise

1.0.0

23. Juli 2026

Erstversion.

Beispiel: Mounten Sie ein EFS-Dateisystem mit einem verwalteten Skript

Das folgende Beispiel verweist auf das verwaltete mount-efs.sh Skript in der us-west-2 AWS-Region. Sie übergeben Argumente als benannte Flags. Die Argumente des Skripts finden Sie unterSkript-Argumente.

aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng \ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount EFS home directory", "scriptSource": { "scriptLocation": "s3://aws-pcs-repo-us-west-2/aws-pcs-node-lifecycle-scripts/mount-efs-v1.0.0.sh" }, "arguments": ["--file-system-id", "fs-12345678", "--mount-point", "/shared"], "onError": "TERMINATE", "executionPolicy": "EVERY_BOOT" } ] } }'

Die Instanzrolle des Knotens muss über die s3:GetObject Berechtigung für das Skriptobjekt verfügen. Knoten in einem privaten Subnetz können den Bucket über einen S3-Gateway-VPC-Endpunkt erreichen. Weitere Informationen finden Sie unter Speicherorte von Skripten.

Skript-Argumente

Jedes Skript verwendet Argumente mit benannten Flaggen. Übergeben Sie jedes Flag und seinen Wert als separate Elemente des arguments Arrays (z. B.["--file-system-id", "fs-12345678"]). Alle Skripte werden unter den Betriebssystemen AL2, AL2023, RHEL, Ubuntu und Rocky Linux ausgeführt und unterstützen diese. root

mount-efs.sh

Flagge

Erforderlich

Standard

Beschreibung

--file-system-id

Ja

EFS-Dateisystem-ID, z. fs-0123456789abcdef0 B.

--mount-point

Ja

Absoluter Pfad, unter dem gemountet werden soll, z. /mnt/efs B.

--options

Nein

tls,iam

Comma-separated Optionen zum Einhängen. In der Standardeinstellung sind Verschlüsselung bei der Übertragung und IAM-Authentifizierung aktiviert.

Bei der iam Standardoption muss die Instanzrolle des Knotens elasticfilesystem:ClientMount und elasticfilesystem:ClientWrite zulassen. Das Subnetz des Knotens muss ein EFS-Mount-Ziel haben, dessen Sicherheitsgruppe eingehendes NFS (TCP 2049) vom Knoten zulässt.

mount-fsx-lustre.sh

Flagge

Erforderlich

Standard

Beschreibung

--fsx-dns-name

Ja

FSx für den DNS-Namen des Lustre-Dateisystems.

--mount-name

Ja

Der Lustre-Mount-Name des Dateisystems (der MountName Wert aus der FSx-Konsole).

--mount-point

Ja

Absoluter Pfad, unter dem gemountet werden soll, wie z. B. /fsx

--options

Nein

noatime,flock

Comma-separated Optionen zum Einhängen. Die Standardeinstellung folgt der Empfehlung von FSx for Lustre.

Das Subnetz des Knotens muss das Dateisystem erreichen, und die Sicherheitsgruppe des Dateisystems muss eingehenden Lustre-Verkehr (TCP 988 und 1018—1023 für Clients, die reservierte Quellports verwenden) vom Knoten zulassen.

configure-efs-homes.sh

Flagge

Erforderlich

Standard

Beschreibung

--efs-id

Ja

EFS-Dateisystem-ID, z. fs-0123456789abcdef0 B.

--home-base

Nein

/home

Absoluter Pfad, unter dem das EFS-Dateisystem gemountet und unter dem Basisverzeichnisse erstellt werden sollen.

--options

Nein

tls,iam

Comma-separated Optionen zum Einhängen. In der Standardeinstellung sind Verschlüsselung bei der Übertragung und IAM-Authentifizierung aktiviert.

Dieses Skript erfordert amazon-efs-utilsnfs-utils, und PAM-Unterstützungmkhomedir. Installieren Sie auf RHEL-family Knoten oddjoboddjob-mkhomedir, undauthselect. Installieren Sie auf AL2023 authselect explizit. Installieren Sie auf Ubuntulibpam-modules. IAM- und Netzwerkanforderungen stimmen übereinmount-efs.sh.

configure-ldaps.sh

Flagge

Erforderlich

Beschreibung

--ldap-uri

Ja

LDAP-Server-URI. Muss mit ldap:// oder ldaps:// beginnen.

--search-base

Ja

LDAP-Suchbasis, z. B. dc=example,dc=com

--secret-arn

Nein

AWS Secrets Manager-ARN des Geheimnisses, das die Bindungsanmeldeinformationen enthält. Wenn Sie dieses Flag weglassen, konfiguriert das Skript SSSD für eine anonyme Bindung.

--tls-cacert

Nein

Absoluter Pfad zu einem CA-Bundle für die TLS-Überprüfung. Standardmäßig wird das CA-Paket des Betriebssystems verwendet.

Dieses Skript erfordert sssdsssd-ldap, undsssd-tools. Auf RHEL-family Knoten erfordert es auch authselect oder authconfig undoddjob-mkhomedir. Auf Ubuntu erfordert eslibpam-modules.

Mit --secret-arn muss die Instanzrolle des Knotens das Geheimnis zulassensecretsmanager:GetSecretValue, und der Knoten benötigt die python3 Pakete awscli und. Der Wert des Geheimnisses muss im JSON-Format vorliegen{"username": "<bind-dn>", "password": "<bind-password>"}. Anonymous Bind führt keine AWS API-Aufrufe durch und benötigt keine IAM-Berechtigungen.

configure-cloudwatch-logs.sh

Flagge

Erforderlich

Standard

Beschreibung

--log-group-name

Nein

/aws/pcs/${PCS_CLUSTER_ID}/lifecycle

Die CloudWatch Logs-Protokollgruppe, an die weitergeleitet werden soll. Wenn es weggelassen wird, leitet das Skript den Namen von der PCS_CLUSTER_ID Umgebungsvariablen ab, die AWS PCS festlegt.

Das Skript leitet das Verzeichnis für das Lifecycle-Aktionsprotokoll weiter ()/var/log/amazon/pcs/lifecycle/actions. Die Instanzrolle des Knotens muss dies zulassen logs:CreateLogGrouplogs:CreateLogStream, und für logs:PutLogEvents die Zielprotokollgruppe. Verwenden Sie dieses Skript, um Logs für das Post-Mortem-Debugging außerhalb der Instanz weiterzuleiten.

Anmerkung

Der CloudWatch Amazon-Agent muss als ausgeführt werden, root um diese Protokolle weiterzuleiten. Nur der root Benutzer kann lesen/var/log/amazon/pcs/lifecycle/actions.

Anmerkung

Das Skript schreibt seine Konfiguration in eine dedizierte Fragmentdatei. Der CloudWatch Amazon-Agent kombiniert dieses Fragment mit einer vorhandenen Konfiguration, ohne es zu überschreiben, sodass das Skript Ihre vorhandenen Metriken und Protokollgruppeneinstellungen beibehält.