View a markdown version of this page

AWS PCS에서 클러스터 보안 암호 교체 - AWS PCS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS PCS에서 클러스터 보안 암호 교체

클러스터 보안 암호를 교체하여 보안 요구 사항을 준수하고 잠재적 침해를 해결합니다. 이 프로세스를 수행하려면 클러스터를 유지 관리 모드로 전환해야 합니다.

참고

기본적으로 AWS PCS는를 사용하여 클러스터 보안 암호를 암호화합니다 AWS 관리형 키. 대신 고객 관리형 키로 암호화하는 경우 키 정책이 AWS PCS 서비스 연결 역할에 키에 대한 액세스 권한을 부여하는지 확인합니다. 그렇지 않으면 AWS PCS가 보안 암호를 교체할 수 없습니다. 자세한 내용은 고객 관리형 키를 사용하여 클러스터 보안 암호 암호화 단원을 참조하십시오.

사전 조건

  • secretsmanager:RotateSecret 권한이 있는 IAM 역할

  • ACTIVE 또는 UPDATE_FAILED 상태의 클러스터

절차

  1. 클러스터 사용자에게 예정된 유지 관리 기간을 알립니다.

  2. 모든 컴퓨팅 노드 그룹을 0 용량으로 조정하여 클러스터를 유지 관리 모드로 전환합니다.

    1. UpdateComputeNodeGroup API를 사용하여 모든 컴퓨팅 노드 그룹에 대해 minInstanceCount와 maxInstanceCount를 모두 0으로 설정합니다.

    2. 모든 노드가 중지될 때까지 기다립니다.

    3. (선택 사항) 정상적인 작업 처리를 위해 용량을 종료하기 전에 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분이 걸릴 수 있습니다. 컴퓨팅 노드 그룹이 인 경우는 사전 업데이트 조정 값을 UPDATING get-compute-node-group 반환하고, AWS PCS는 업데이트가 완료될 때까지 추가 업데이트 요청을 거부합니다. 인스턴스가 존재한다는 확인ACTIVE으로 취급하지 마십시오.

  3. Secrets Manager를 통해 교체를 시작합니다.

    • 콘솔 메서드:

      1. Secrets Manager로 이동하여 클러스터 보안 암호를 선택하고 보안 암호 교체를 선택합니다.

    • API 메서드:

      1. Secrets Manager rotate-secret API를 사용합니다.

  4. 교체가 성공했는지 확인합니다.

    참고

    나중에 교체에 실패하더라도 rotate-secret 호출은 HTTP 200을 반환합니다. 결과는 나중에 별도의 RotationFailed 또는 RotationSucceeded 이벤트로 도착합니다. 200 응답은 AWS PCS가 요청을 수락한 것만 확인하며 해당 교체가 성공한 것은 아닙니다.

    1. 를 실행describe-secret하고 AWSCURRENT 스테이징 레이블이 새 버전으로 이동하여 lastRotatedDate 업데이트되었는지 확인합니다.

    2. 또는 AWS CloudTrail에서 RotationSucceeded 이벤트를 기다립니다.

    참고

    버전을 검사list-secret-version-ids하는 describe-secret 대신를 사용합니다.를 지정하더라도에서 AWSPENDING 버전을 생략할 list-secret-version-ids 수 있습니다--include-deprecated.

  5. 교체에 성공하면 클러스터 용량을 복원합니다.

    1. UpdateComputeNodeGroup API를 사용하여 노드 그룹을 원하는 최소/최대 용량으로 재설정합니다.

    2. AWS PCS 관리형 로그인 노드의 경우: 추가 작업이 필요하지 않습니다.

    3. BYO 로그인 노드의 경우:

      1. 로그인 노드에 연결합니다.

      2. Secrets Manager의 새 보안 암호/etc/slurm/slurm.key로 업데이트합니다.

      3. 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-id secret-arn \ --version-stage AWSPENDING \ --remove-from-version-id pending-version-id

교체 확인

Slurm 컨트롤러에 연결할 수 있고 노드가 정상인지 확인하려면 scontrol ping 및를 사용합니다scontrol show nodes. 는 대기열이 없는 클러스터를 확인하는 sinfo 데를 사용하지 마세요.이 경우는 아무것도 sinfo 표시하지 않으며 유효한 검사가 아니기 때문입니다.

노드가 현재 키를 사용하는지 확인하려면 base64로 디코딩된 보안 암호의 SHA-256 해시를 노드/etc/slurm/slurm.key의 해시와 비교합니다. AWSCURRENT

sha256sum /etc/slurm/slurm.key

노드 해시를 AWSPREVIOUS 버전과 비교하여 노드가 오래된 키에 없음을 입증합니다. 인쇄 키 구성 요소보다는 해시를 비교하는 것이 좋습니다.