기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS PCS에서 클러스터 보안 암호 교체
클러스터 보안 암호를 교체하여 보안 요구 사항을 준수하고 잠재적 침해를 해결합니다. 이 프로세스를 수행하려면 클러스터를 유지 관리 모드로 전환해야 합니다.
참고
기본적으로 AWS PCS는를 사용하여 클러스터 보안 암호를 암호화합니다 AWS 관리형 키. 대신 고객 관리형 키로 암호화하는 경우 키 정책이 AWS PCS 서비스 연결 역할에 키에 대한 액세스 권한을 부여하는지 확인합니다. 그렇지 않으면 AWS PCS가 보안 암호를 교체할 수 없습니다. 자세한 내용은 고객 관리형 키를 사용하여 클러스터 보안 암호 암호화 단원을 참조하십시오.
사전 조건
-
secretsmanager:RotateSecret권한이 있는 IAM 역할 -
ACTIVE또는UPDATE_FAILED상태의 클러스터
절차
-
클러스터 사용자에게 예정된 유지 관리 기간을 알립니다.
-
모든 컴퓨팅 노드 그룹을 0 용량으로 조정하여 클러스터를 유지 관리 모드로 전환합니다.
-
UpdateComputeNodeGroup API를 사용하여 모든 컴퓨팅 노드 그룹에 대해 minInstanceCount와 maxInstanceCount를 모두 0으로 설정합니다.
-
모든 노드가 중지될 때까지 기다립니다.
-
(선택 사항) 정상적인 작업 처리를 위해 용량을 종료하기 전에 Slurm 명령을 사용하여 스케줄러 대기열을 드레이닝합니다.
참고
교체하려면 실행 중인 인스턴스가 0이어야 합니다. 교체를 시작할 때 인스턴스가 계속 실행 중인 경우 교체가 실패하고 다음 오류가 발생합니다.
All instances must be terminated before you rotate a secret. Set the minimum instance count to 0 to terminate active instances.
참고
컴퓨팅 노드 그룹은 축소 중에 인스턴스가 종료되는
ACTIVE동안 보고할 수 있습니다. 확장 중에 인스턴스가 존재ACTIVE하기 전에 보고할 수도 있습니다. 조정에는 몇 분, 최대 약 30분이 걸릴 수 있습니다. 컴퓨팅 노드 그룹이 인 경우는 사전 업데이트 조정 값을UPDATINGget-compute-node-group반환하고, AWS PCS는 업데이트가 완료될 때까지 추가 업데이트 요청을 거부합니다. 인스턴스가 존재한다는 확인ACTIVE으로 취급하지 마십시오. -
-
Secrets Manager를 통해 교체를 시작합니다.
-
콘솔 메서드:
-
Secrets Manager로 이동하여 클러스터 보안 암호를 선택하고 보안 암호 교체를 선택합니다.
-
-
API 메서드:
-
Secrets Manager
rotate-secretAPI를 사용합니다.
-
-
-
교체가 성공했는지 확인합니다.
참고
나중에 교체에 실패하더라도
rotate-secret호출은 HTTP 200을 반환합니다. 결과는 나중에 별도의RotationFailed또는RotationSucceeded이벤트로 도착합니다. 200 응답은 AWS PCS가 요청을 수락한 것만 확인하며 해당 교체가 성공한 것은 아닙니다.-
를 실행
describe-secret하고AWSCURRENT스테이징 레이블이 새 버전으로 이동하여lastRotatedDate업데이트되었는지 확인합니다. -
또는 AWS CloudTrail에서
RotationSucceeded이벤트를 기다립니다.
참고
버전을 검사
list-secret-version-ids하는describe-secret대신를 사용합니다.를 지정하더라도에서AWSPENDING버전을 생략할list-secret-version-ids수 있습니다--include-deprecated. -
-
교체에 성공하면 클러스터 용량을 복원합니다.
-
UpdateComputeNodeGroup API를 사용하여 노드 그룹을 원하는 최소/최대 용량으로 재설정합니다.
-
AWS PCS 관리형 로그인 노드의 경우: 추가 작업이 필요하지 않습니다.
-
BYO 로그인 노드의 경우:
-
로그인 노드에 연결합니다.
-
Secrets Manager의 새 보안 암호
/etc/slurm/slurm.key로 업데이트합니다. -
Slurm Auth 및 Cred Kiosk Daemon(sackd)을 다시 시작합니다.
-
-
중단된 보류 버전에서 복구
실패한 교체는 AWSPENDING스테이징 레이블에서 버전을 구성하고 다음 오류와 함께 이후 교체를 차단할 수 있습니다.
A previous rotation isn't complete. That rotation will be reattempted.
cancel-rotate-secret 명령만으로는 AWSPENDING 스테이징 레이블을 제거하지 않고를 RotationEnabled로 설정합니다false. 중단된 버전을 지우려면 보류 중인 버전에서 AWSPENDING 스테이징 레이블을 제거합니다.
aws secretsmanager update-secret-version-stage \ --secret-idsecret-arn\ --version-stage AWSPENDING \ --remove-from-version-idpending-version-id
교체 확인
Slurm 컨트롤러에 연결할 수 있고 노드가 정상인지 확인하려면 scontrol ping 및를 사용합니다scontrol show nodes. 는 대기열이 없는 클러스터를 확인하는 sinfo 데를 사용하지 마세요.이 경우는 아무것도 sinfo 표시하지 않으며 유효한 검사가 아니기 때문입니다.
노드가 현재 키를 사용하는지 확인하려면 base64로 디코딩된 보안 암호의 SHA-256 해시를 노드/etc/slurm/slurm.key의 해시와 비교합니다. AWSCURRENT
sha256sum /etc/slurm/slurm.key
노드 해시를 AWSPREVIOUS 버전과 비교하여 노드가 오래된 키에 없음을 입증합니다. 인쇄 키 구성 요소보다는 해시를 비교하는 것이 좋습니다.