기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HyperPod Ray 엔드포인트 운영자 설치
HyperPod Ray 엔드포인트 운영자는 HyperPod에서 Ray 클러스터에 대해 인증된 퍼블릭 엔드포인트를 생성합니다. 설치 후를 설정하지 않고도 인터넷 액세스가 가능한 어디서나 Ray 대시보드에 안전하게 액세스하고, 작업을 제출 및 모니터링하고, 로그 및 클러스터 지표를 볼 수 있습니다kubectl port-forward.
중요
설치하기 전에 배포 보안에 HyperPod Ray 엔드포인트 운영자의 보안 모범 사례 대한 지침을 검토하세요.
사전 조건
-
SageMaker Spaces 추가 기능은 웹 브라우저 액세스가 활성화된 활성 상태입니다. HyperPod Ray 엔드포인트 연산자는 이에 의존합니다. 자세한 내용은 스페이스 추가 기능 설정 단원을 참조하십시오.
-
kubectl클러스터에 대해kubectl구성된 및가helm설치되었습니다. -
Amazon EKS Pod Identity Agent 추가 기능은 클러스터에 설치됩니다(KMS 서명에 필요). 자세한 내용은 Amazon EKS 사용 설명서의 EKS Pod Identity Agent 설정을 참조하세요.
HyperPod에 연산자를 설치하는 방법에 대한 일반적인 내용은 연산자 설치를 참조하세요.
인증 작동 방식
HyperPod Ray 엔드포인트 운영자는 수명이 짧은 JSON 웹 토큰(JWTs)을 사용하여 Ray 클러스터 대시보드에 대한 액세스를 인증합니다. 대시보드 URL을 요청하면 운영자는 Amazon EKS API 서버를 통해 자격 증명을 확인하고 Ray 클러스터를 생성했는지 확인한 다음 미리 서명된 URL을 반환합니다. 이 URL을 열면 운영자가 토큰을 세션 쿠키로 교환합니다.
토큰 및 세션 쿠키는 모두 단일 Ray 클러스터의 퍼블릭 엔드포인트로 범위가 지정됩니다. HyperPod Ray 엔드포인트 운영자의 인증된 경로를 통해 다른 클러스터에 액세스하는 데 사용할 수 없습니다.
JWTs는 30분마다 교체되는 키로 서명됩니다. AWS KMS 키가 구성되면 회전자는를 사용하여 서명 키 구성 요소를 AWS KMS 생성합니다. AWS KMS 키가 구성되지 않은 경우 회전자는 로컬에서 서명 키를 생성합니다. AWS KMS 키 생성 이벤트에 대한 out-of-band 취소 메커니즘과 CloudTrail 감사 추적을 제공하므로 키를 구성하는 것이 좋습니다.
KMS 서명 설정(권장)
HyperPod Ray 엔드포인트 운영자는 30분마다 서명 키를 교체합니다. AWS KMS 키가 구성되면 회전자는 키를 사용하여 새 서명 키 구성 요소를 생성합니다. 이렇게 하면 로컬에서 생성된 키에서 사용할 수 없는 두 가지 추가 기능이 제공됩니다.
-
클러스터 액세스 없이 모든 세션을 취소하도록 AWS KMS 키를 비활성화할 수 있습니다.
-
CloudTrail은 감사를 위해 각 키 생성 이벤트를 기록합니다.
KMS 서명을 설정하려면 다음 단계를 완료합니다.
-
AWS KMS 키를 생성합니다. 자세한 정보는 AWS KMS 개발자 안내서의 키 생성을 참조하세요.
aws kms create-key \ --key-spec SYMMETRIC_DEFAULT \ --key-usage ENCRYPT_DECRYPT \ --description "HyperPod Ray Endpoint Operator JWT signing" -
다음과 같은 최소 권한 정책을 사용하여 IAM 역할을 생성합니다. 자세한 내용은 IAM 사용 설명서의 IAM 역할 생성을 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] } -
Pod Identity 연결을 생성합니다. 자세한 내용은 Amazon EKS 사용 설명서의 EKS Pod Identity를 사용하여 IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성을 참조하세요.
aws eks create-pod-identity-association \ --cluster-nameeks-cluster-name\ --namespace hyperpod-ray \ --service-account hyperpod-ray-endpoint-operator-jwt-rotator \ --role-arn arn:aws:iam::account-id:role/role-name
HyperPod Ray 엔드포인트 운영자 설치
-
sagemaker-hyperpod-cli리포지토리를 복제하고 최신 릴리스 태그를 확인합니다.git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli git checkout $(git tag --sort=-v:refname | head -n 1) -
KMS 기반 서명을 사용하여를 설치합니다(권장).
helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --create-namespace \ --set region=region\ --set domain=your-route53-domain\ --set manager.enableEndpointsByDefault=true|false\ --set kmsKeyArn="arn:aws:kms:region:account-id:key/key-id"KMS 없이를 설치하려면(서명 키는 로컬에서 생성됨):
helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --create-namespace \ --set region=region\ --set domain=your-route53-domain\ --set manager.enableEndpointsByDefault=true|false위치:
-
domain는 SageMaker Spaces 추가 기능이 구성된 Route 53 도메인입니다. -
manager.enableEndpointsByDefault는 인증된 대시보드 엔드포인트가 모든 Ray 리소스에 대해 자동으로 생성되는지 여부를 제어합니다. 로 설정하면true모든 Ray 리소스(RayCluster,RayJob,RayService,RayCronJob)가 자동으로 엔드포인트를 가져옵니다. 개별 리소스는 메타데이터 주석access.sagemaker.amazonaws.com/enabled: "false"에를 추가하여 옵트아웃할 수 있습니다. 로 설정하면 리소스가에 명시적으로 옵트인하지 않는 한 엔드포인트가 생성false되지 않습니다access.sagemaker.amazonaws.com/enabled: "true".
-
-
연산자 포드가 실행 중인지 확인합니다.
kubectl get pods -n hyperpod-ray
미리 서명된 URL 생성
HyperPod Ray 엔드포인트 운영자를 설치한 후 HyperPod CLI를 사용하여 Ray 클러스터 대시보드에 대해 미리 서명된 URL을 생성합니다.
hyp create ray-dashboard-connection \ --cluster-nameray-cluster-name\ --namespacenamespace
이 명령은 현재 kubeconfig 컨텍스트를 통해 인증하고, 클러스터 소유자임을 확인하고, 수명이 짧은 미리 서명된 URL을 반환합니다. 브라우저에서 URL을 열어 Ray 대시보드에 액세스합니다.
참고
미리 서명된 URL을 생성하려면 Kubernetes 사용자 또는 서비스 계정에 connection.access.sagemaker.amazonaws.com API 그룹의 create RayDashboardConnection 리소스에 대한 권한이 있어야 합니다.
프로그래밍 작업 제출의 경우 URL을 수동으로 생성하는 대신 sagemaker_ray:// 주소 체계와 함께 PyPI 웹 사이트의 toolkit-for-ray-on-sagemaker-ai
ray job submit --address "sagemaker_ray://cluster-name/namespace" -- python train.py
sagemaker_ray:// 주소 체계는 터미널 출력 또는 로그에 URL을 노출하지 않고 인증을 처리합니다.
설치 제거
helm uninstall hyperpod-ray-endpoint-operator -n hyperpod-ray
다음 단계
설치 후 클러스터 내 액세스 보안, 세션 관리 및 대시보드 사용 감사에 HyperPod Ray 엔드포인트 운영자의 보안 모범 사례 대한 모범 사례를 검토하세요.