SageMaker AI 노트북 인스턴스의 리소스 사용률을 확인하려면 어떻게 해야 합니까?

3분 분량
0

모델을 학습하거나 대규모 데이터 세트를 로드하기 위해 Amazon SageMaker AI 노트북 인스턴스를 시작했는데 노트북 인스턴스가 정지된 것 같습니다. SageMaker AI 인스턴스 리소스 사용을 확인할 수 없습니다.

해결 방법

SageMaker 브라우저 또는 노트북 인스턴스가 응답하지 않는 것 같으면 Amazon Linux 명령을 실행하거나 Amazon CloudWatch 지표를 검토하여 리소스 할당을 확인하십시오.

Linux 명령을 실행하여 SageMaker AI 리소스 사용률 확인

다음 단계를 완료합니다.

  1. SageMaker AI 콘솔을 엽니다.
  2. 탐색 창에서 노트북 인스턴스를 선택합니다.
  3. SageMaker AI 노트북 인스턴스 옆에 있는 Jupyter 또는 JupyterLab을 엽니다.
  4. 터미널을 엽니다.
  5. 다음 명령을 실행하여 리소스 할당을 확인합니다.
    사용 가능한 시스템 메모리 및 프로세서 부하:
    top
    실행 중인 작업 및 프로세서 부하:
    ps -ax
    디스크 공간 사용률 및 가용성:
    df -h
    RAM 사용률 및 가용성:
    free -m

CloudWatch 지표를 사용하여 SageMaker AI 리소스 사용률 확인

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

수명 주기 스크립트를 사용합니다. 예를 들어, publish-instance-metrics 스크립트는 노트북 인스턴스의 시스템 수준 지표를 CloudWatch로 게시합니다. 자세한 내용은 GitHub 웹사이트의 publish-instance-metrics / on-start.sh를 참조하십시오.

참고: CloudWatch에 인스턴스 지표를 전송하려면 인스턴스가 AWS Identity and Access Management(IAM) 실행 역할을 맡아야 합니다. 실행 역할에 연결된 IAM 정책에 cloudwatch:PutMetricData 권한을 추가합니다.

정책 예시:

{   
   "Version": "2012-10-17",   
   "Statement": [   
     {   
            "Effect":   
            "Allow",   
            "Action": [   
                "cloudwatch:PutMetricData"   
            ],   
            "Resource": "*"   
            }   
     ]   
}

수명 주기 구성에 대해 CloudWatch Logs를 활성화할 때는 다음 권한이 있는 SageMaker 역할을 사용합니다.

{   
   "Version": "2012-10-17",   
   "Statement": [   
     {   
            "Effect":   
            "Allow",   
            "Action": [   
                "logs:CreateLogDelivery",   
                "logs:CreateLogGroup",    
                "logs:CreateLogStream",   
                "logs:DeleteLogDelivery",   
                "logs:Describe*",   
                "logs:GetLogDelivery",   
                "logs:GetLogEvents",   
                "logs:ListLogDeliveries",   
                "logs:PutLogEvents",   
                "logs:PutResourcePolicy",   
                "logs:UpdateLogDelivery"   
            ],   
            "Resource": "*"   
            }  
    ]   
}

스크립트가 실패하지 않도록 노트북 인스턴스가 인터넷에 연결되어 amazon-cloudwatch-agent.json 구성 파일을 가져와야 합니다. 노트북에서 인터넷에 액세스할 수 없는 경우 GitHub에서 .json 파일을 로컬 컴퓨터로 수동으로 다운로드합니다. 파일을 Amazon Simple Storage Service(Amazon S3) 버킷에 업로드하고, bash 코드를 수정하여 S3 버킷에서 구성 파일을 복사합니다. on-start.sh LLC 스크립트에서 wget 명령을 실행하여 wget 명령을 사용하는 줄을 제거합니다. 그런 다음 s3 cp AWS CLI 명령을 추가하여 S3 버킷에서 .json 파일을 디렉터리로 복사합니다. CloudWatch 에이전트 파일을 디렉터리에 넣고 다음 명령을 실행하여 에이전트를 시작하는 것이 좋습니다.

``/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a \
append-config -m ec2 -c file://$(pwd)/amazon-cloudwatch-agent.json

Amazon S3 및 CloudWatch와 같은 다른 AWS 서비스에 액세스할 수 있도록 인터페이스 가상 프라이빗 클라우드(VPC) 엔드포인트를 생성해야 합니다.

SageMaker AI 노트북을 구성하여 CloudWatch 지표 확인

다음 단계를 완료합니다.

  1. SageMaker AI 콘솔을 엽니다.

  2. 탐색 창에서 노트북 인스턴스를 선택합니다.

  3. SageMaker 노트북 옆에 있는 Jupyter 또는 Jupyterlab을 엽니다.

  4. 터미널을 엽니다.

  5. 다음 명령을 실행하여 amazon-cloudwatch-agent-config-wizard를 엽니다.

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
  6. 마법사의 단계를 실시하고, 메시지가 표시되면 다음 단계를 완료합니다.
    온프레미스 호스트를 선택합니다.
    StatsD 대몬아니요를 선택합니다.
    CollectD아니요를 선택합니다.

  7. 다음 명령을 실행하여 서버에서 CloudWatch 에이전트를 시작하고, 마법사에서 생성된 config.json 파일을 포함합니다.

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:///opt/aws/amazon-cloudwatch-agent/bin/config.json -s
  8. CloudWatch 콘솔을 엽니다.

  9. 지표를 선택하고, CWAgent를 선택하여 SageMaker AI 지표를 확인합니다.

SageMaker AI 노트북에 대한 다른 AWS 수명 주기 구성 스크립트 예제를 보려면 GitHub 웹사이트의 amazon-sagemaker-notebook-instance-lifecycle-config-samples를 참조하십시오.

관련 정보

Amazon CloudWatch로 Amazon SageMaker AI를 모니터링하기 위한 지표

CloudWatch 에이전트가 수집한 지표

Amazon SageMaker AI를 사용하는 동안 프로비저닝된 AWS 리소스를 모니터링하는 도구

JupyterLab 웹사이트의 터미널

AWS 공식
AWS 공식업데이트됨 2달 전