기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS PCS의 노드 수명 주기 작업에 대한 사용 AWS유지 관리 스크립트
AWS 는 일반적인 수명 주기 작업에 대한 유지 관리형 스크립트를 게시합니다. 컴퓨팅 노드 그룹 구성에서 직접 유지 관리 스크립트를 참조합니다. 스크립트는 멱등성이 있으며 부팅할 때마다 안전하게 실행할 수 있습니다.
AWS 는 각의 AWS관리형 퍼블릭 Amazon S3 버킷에서 스크립트를 배포합니다 AWS 리전. Amazon S3 URI로 스크립트를 참조합니다. 자체 스크립트를 참조하는 것과 동일한 방식으로 유지 관리형 스크립트를 참조합니다. AWS관리형 버킷에서 직접 스크립트를 참조할 수 있습니다.
사용 가능한 스크립트
스크립트 |
설명 |
사전 조건 패키지 |
|---|---|---|
|
지정된 경로에 Amazon EFS 파일 시스템을 탑재하고 재부팅 시 이를 유지합니다. |
|
|
지정된 경로에 Amazon FSx for Lustre 파일 시스템을 탑재하고 재부팅 시 이를 유지합니다. |
|
|
Amazon EFS 파일 시스템을 홈 디렉터리 기본으로 탑재하고 각 사용자의 홈 디렉터리가 처음 로그인할 때 생성되도록 PAM을 구성합니다. |
|
|
인증된 바인드( AWS Secrets Manager의 자격 증명) 또는 익명 바인드를 지원하여 LDAP 또는 LDAPS 인증을 위한 SSSD를 구성합니다. |
|
|
노드의 수명 주기 작업 로그를 Amazon CloudWatch Logs로 전달하도록 Amazon CloudWatch 에이전트를 구성합니다. |
|
중요
이러한 스크립트는 필수 패키지를 설치하지 않습니다. 스크립트를 사용하기 전에 AMI에 필요한 패키지를 설치합니다. 사전 조건이 누락된 경우 스크립트가 실패합니다. 일부 스크립트에서는 노드의 인스턴스 역할에 특정 권한이 있어야 합니다. 각 스크립트의 요구 사항을 참조하세요.
스크립트 참조
수명 주기 작업의 scriptLocation 필드에서 Amazon S3 URI로 스크립트를 참조합니다. 스크립트는 각각에서 AWS관리형 aws-pcs-repo- 버킷의 regionaws-pcs-node-lifecycle-scripts 접두사 아래에 저장됩니다 AWS 리전. 클러스터 AWS 리전 와 동일한의 버킷을 사용합니다.
s3://aws-pcs-repo-region/aws-pcs-node-lifecycle-scripts/script-vversion.sh
각 스크립트는 의미 체계 버전 관리로 버전이
-
특정 버전 고정 -와 같은 전체 의미 체계 버전을 사용합니다
mount-efs-v1.0.0.sh. 특정 버전의 콘텐츠는 변경할 수 없습니다. 프로덕션에 고정 버전을 사용합니다. -
최신 버전 추적 -와 같은 메이저 버전 별칭을 사용합니다
mount-efs-v1-latest.sh. 별칭은 해당 메이저 버전 내의 최신 릴리스를 가리킵니다. 와 페어링scriptCachingPolicyREFRESH_ON_REBOOT하여 재부팅 시 업데이트를 선택합니다.
모든 스크립트에는 접미사가 있는 동일한 위치에 컴패니언 .sha256 SHA-256 체크섬 파일이 있습니다(예: mount-efs-v1.0.0.sh.sha256). .sha256 값을 읽고 스크립트의 로 설정합니다checksum. 그러면 에이전트가 다운로드 시 스크립트의 무결성을 확인합니다. 자세한 내용은 스크립트 무결성(체크섬) 단원을 참조하십시오.
사용 가능한 스크립트 버전
AWS 는 각 스크립트를 독립적으로 실행합니다. 다음 표에는 각 스크립트의 사용 가능한 버전이 나열되어 있습니다. 에 설명된 대로 스크립트의 Amazon S3 URI에서 버전을 사용합니다스크립트 참조.
mount-efs.sh
버전 |
릴리스 날짜 |
릴리스 정보 |
|---|---|---|
1.0.0 |
2026년 7월 23일 |
최초 릴리스입니다. |
mount-fsx-lustre.sh
버전 |
릴리스 날짜 |
릴리스 정보 |
|---|---|---|
1.0.0 |
2026년 7월 23일 |
최초 릴리스입니다. |
configure-efs-homes.sh
버전 |
릴리스 날짜 |
릴리스 정보 |
|---|---|---|
1.0.0 |
2026년 7월 23일 |
최초 릴리스입니다. |
configure-ldaps.sh
버전 |
릴리스 날짜 |
릴리스 정보 |
|---|---|---|
1.0.0 |
2026년 7월 23일 |
최초 릴리스입니다. |
configure-cloudwatch-logs.sh
버전 |
릴리스 날짜 |
릴리스 정보 |
|---|---|---|
1.0.0 |
2026년 7월 23일 |
최초 릴리스입니다. |
예: 유지 관리 스크립트를 사용하여 EFS 파일 시스템 탑재
다음 예제에서는 mount-efs.sh에서 유지 관리되는 스크립트를 참조합니다us-west-2 AWS 리전. 인수를 명명된 플래그로 전달합니다. 스크립트의 인수는 섹션을 참조하세요스크립트 인수.
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-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" } ] } }'
노드의 인스턴스 역할에 스크립트 객체에 대한 s3:GetObject 권한이 있어야 합니다. 프라이빗 서브넷의 노드는 S3 게이트웨이 VPC 엔드포인트를 통해 버킷에 도달할 수 있습니다. 자세한 내용은 스크립트 스토리지 위치 단원을 참조하십시오.
스크립트 인수
각 스크립트는 명명된 플래그 인수를 사용합니다. 각 플래그와 해당 값을 arguments 배열의 개별 요소로 전달합니다(예: ["--file-system-id", "fs-12345678"]). 모든 스크립트는 로 실행root되며 AL2, AL2023, RHEL, Ubuntu 및 Rocky Linux 운영 체제를 지원합니다.
mount-efs.sh
플래그 |
필수 |
기본값 |
설명 |
|---|---|---|---|
|
예 |
— |
와 같은 EFS 파일 시스템 ID입니다 |
|
예 |
— |
와 같이 탑재할 절대 경로입니다 |
|
아니요 |
|
쉼표로 구분된 탑재 옵션. 기본값은 전송 중 암호화 및 IAM 인증을 활성화합니다. |
기본 iam 옵션을 사용하면 노드의 인스턴스 역할이 elasticfilesystem:ClientMount 및를 허용해야 합니다elasticfilesystem:ClientWrite. 노드의 서브넷에는 보안 그룹이 노드의 인바운드 NFS(TCP 2049)를 허용하는 EFS 탑재 대상이 있어야 합니다.
mount-fsx-lustre.sh
플래그 |
필수 |
기본값 |
설명 |
|---|---|---|---|
|
예 |
— |
FSx for Lustre 파일 시스템 DNS 이름입니다. |
|
예 |
— |
파일 시스템의 Lustre 탑재 이름(FSx 콘솔의 |
|
예 |
— |
와 같이 탑재할 절대 경로입니다 |
|
아니요 |
|
쉼표로 구분된 탑재 옵션. 기본값은 FSx for Lustre 권장 사항을 따릅니다. |
노드의 서브넷은 파일 시스템에 도달해야 하며, 파일 시스템의 보안 그룹은 노드의 인바운드 Lustre 트래픽(예약된 소스 포트를 사용하는 클라이언트의 경우 TCP 988 및 1018~1023)을 허용해야 합니다.
configure-efs-homes.sh
플래그 |
필수 |
기본값 |
설명 |
|---|---|---|---|
|
예 |
— |
와 같은 EFS 파일 시스템 ID입니다 |
|
아니요 |
|
에 EFS 파일 시스템을 탑재하고 그 아래에 홈 디렉터리를 생성할 절대 경로입니다. |
|
아니요 |
|
쉼표로 구분된 탑재 옵션. 기본값은 전송 중 암호화 및 IAM 인증을 활성화합니다. |
이 스크립트에는 amazon-efs-utils, nfs-utils및 PAM mkhomedir 지원이 필요합니다. RHEL 패밀리 노드에서 , 및 oddjoboddjob-mkhomedir를 설치합니다authselect. AL2023에서는 authselect를 명시적으로 설치합니다. Ubuntu에서를 설치합니다libpam-modules. IAM 및 네트워크 요구 사항은와 일치합니다mount-efs.sh.
configure-ldaps.sh
플래그 |
필수 |
설명 |
|---|---|---|
|
예 |
LDAP 서버 URI. |
|
예 |
와 같은 LDAP 검색 기반 |
|
아니요 |
AWS 바인드 자격 증명을 보유한 보안 암호의 Secrets Manager ARN입니다. 이 플래그를 생략하면 스크립트는 익명 바인드에 대해 SSSD를 구성합니다. |
|
아니요 |
TLS 확인을 위한 CA 번들의 절대 경로입니다. 기본값은 운영 체제의 CA 번들입니다. |
이 스크립트에는 sssd, sssd-ldap및가 필요합니다sssd-tools. RHEL 패밀리 노드에서는 authselect 또는 authconfig 및 도 필요합니다oddjob-mkhomedir. Ubuntu에서는이 필요합니다libpam-modules.
--secret-arn를 사용하면 노드의 인스턴스 역할secretsmanager:GetSecretValue이 보안 암호를 허용해야 하며 노드에는 awscli 및 python3 패키지가 필요합니다. 보안 암호 값은 형식의 JSON이어야 합니다{"username": "<bind-dn>", "password": "<bind-password>"}. 익명 바인드는 AWS API 호출을 수행하지 않으며 IAM 권한이 필요하지 않습니다.
configure-cloudwatch-logs.sh
플래그 |
필수 |
기본값 |
설명 |
|---|---|---|---|
|
아니요 |
|
전달할 CloudWatch Logs 로그 그룹입니다. 생략하면 스크립트는 AWS PCS가 설정하는 |
스크립트는 수명 주기 작업 로그 디렉터리(/var/log/amazon/pcs/lifecycle/actions)를 전달합니다. 노드의 인스턴스 역할은 대상 로그 그룹에서 logs:CreateLogStream, 및 logs:CreateLogGrouplogs:PutLogEvents를 허용해야 합니다. 이 스크립트를 사용하여 사후 디버깅을 위해 로그를 인스턴스 외부로 전달합니다.
참고
이러한 로그를 전달root하려면 Amazon CloudWatch 에이전트가 로 실행되어야 합니다. root 사용자만를 읽을 수 있습니다/var/log/amazon/pcs/lifecycle/actions.
참고
스크립트는 전용 조각 파일에 구성을 씁니다. Amazon CloudWatch 에이전트는이 조각을 덮어쓰지 않고 기존 구성과 결합하므로 스크립트는 기존 지표 및 로그 그룹 설정을 유지합니다.