ML 수명 주기 전체에서 대규모 데이터를 사용할 수 있는 권한을 사용자에게 부여 - Amazon SageMaker AI

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

ML 수명 주기 전체에서 대규모 데이터를 사용할 수 있는 권한을 사용자에게 부여

형식이 10GB 또는 Parquet CSV 형식이 2.5GB보다 큰 데이터 세트를 사용하는 Amazon SageMaker Canvas 사용자는 대규모 데이터 처리에 대한 특정 권한이 필요합니다. 이러한 권한은 기계 학습 수명 주기 전반에서 대규모 데이터를 관리하는 데 필수적입니다. 데이터 세트가 명시된 임계값 또는 애플리케이션의 로컬 메모리 용량을 초과하면 SageMaker 캔버스는 효율적인 처리를 위해 Amazon EMR Serverless를 사용합니다. 이는 다음에 적용됩니다.

  • 데이터 가져오기: 무작위 또는 계층화된 샘플링으로 대규모 데이터세트 가져오기

  • 데이터 준비: Canvas의 Data Wrangler에서 Amazon S3, 새 Canvas 데이터세트 또는 Canvas 모델로 처리된 데이터 내보내기

  • 모델 빌드: 대규모 데이터세트에서 모델 훈련

  • 추론: 대규모 데이터세트에 대해 예측 수행

기본적으로 SageMaker Canvas는 EMR Serverless를 사용하여 다음 앱 설정으로 이러한 원격 작업을 실행합니다.

  • 사전 초기화된 용량: 구성되지 않음

  • 애플리케이션 제한: 최대 용량 400vCPUs, 계정 vCPUs 당 최대 동시 16, 3000GB 메모리, 20000GB 디스크

  • 메타스토어 구성: AWS Glue Data Catalog

  • 애플리케이션 로그: AWS 관리형 스토리지(활성화됨), AWS 소유 암호화 키 사용

  • 애플리케이션 동작: 작업 제출 시 자동 시작 및 애플리케이션의 유휴 상태가 15분간 지속되면 자동 중지

이러한 대규모 데이터 처리 기능을 활성화하려면 사용자에게 Amazon SageMaker AI 도메인 설정을 통해 부여할 수 있는 필요한 권한이 필요합니다. 이러한 권한을 부여하는 방법은 Amazon SageMaker AI 도메인이 처음에 설정된 방식에 따라 달라집니다. 세 가지 주요 시나리오를 살펴보겠습니다.

  • 빠른 도메인 설정

  • 사용자 지정 도메인 설정(퍼블릭 인터넷 액세스 사용/사용 안 함VPC)

  • 사용자 지정 도메인 설정(퍼블릭 인터넷 액세스 포함 VPC 및 미포함)

각 시나리오에는 SageMaker Canvas의 전체 기계 학습 수명 주기에서 대규모 데이터 처리를 위해 EMR Serverless를 활용하는 데 필요한 권한이 사용자에게 부여되도록 하는 특정 단계가 필요합니다.

시나리오 1: 빠른 도메인 설정

SageMaker AI 도메인을 생성할 때 빠른 설정 옵션을 사용한 경우 다음 단계를 따르세요.

  1. Amazon SageMaker AI 도메인 설정으로 이동합니다.

    1. 에서 Amazon SageMaker AI 콘솔을 엽니다https://console.aws.amazon.com/sagemaker/.

    2. 왼쪽 탐색 창에서 도메인을 선택합니다.

    3. 도메인을 선택합니다.

    4. 앱 구성 탭을 선택합니다.

    5. Canvas 섹션으로 스크롤하여 편집을 선택합니다.

  2. 대규모 데이터 처리 활성화:

    1. 대규모 데이터 처리 구성 섹션에서 대규모 데이터 처리를 위해 EMR 서버리스 활성화를 켭니다.

    2. EMR 서버리스 역할 생성 또는 선택:

      1. 새 실행 역할 생성 및 사용을 선택하여 EMR Serverless 및 연결된 AWS 관리형 정책: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy 정책과 신뢰 관계가 있는 새 IAM 역할을 생성합니다. 이 IAM 역할은 Canvas가 EMR 서버리스 작업을 생성하기 위해 수임합니다.

      2. 또는 이미 EMR Serverless에 대한 신뢰 관계가 있는 실행 역할이 있는 경우 기존 실행 역할 사용을 선택하고 드롭다운에서 역할을 선택합니다.

        • 기존 역할에는 접두사 AmazonSageMakerCanvasEMRSExecutionAccess-로 시작하는 이름이 있어야 합니다.

        • 선택한 역할에도 AWS 관리형 정책: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy 정책에 설명된 권한이 있어야 합니다.

        • 역할에는 다음과 같은 EMR Serverless 신뢰 정책이 있어야 합니다.

          { "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<your-account-id>" } } } ] }
  3. (선택 사항) 사용자 지정 Amazon S3 버킷에 대한 Amazon S3 권한 추가:

    1. Canvas 관리형 정책은 이름에 sagemaker 또는 SageMaker AI가 있는 Amazon S3 버킷에 대한 읽기 및 쓰기 권한을 자동으로 부여합니다. 또한 태그가 "SageMaker": "true"인 사용자 지정 Amazon S3 버킷의 객체에 대한 읽기 권한도 부여합니다.

    2. 필수 태그가 없는 사용자 지정 Amazon S3 버킷의 경우 EMR Serverless 역할에 다음 정책을 추가합니다.

    3. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
    4. Canvas에서 액세스하도록 하려는 특정 Amazon S3 버킷에 대한 권한으로 범위를 축소하는 것을 권장합니다.

  4. 변경 사항을 저장하고 SageMaker Canvas 애플리케이션을 다시 시작합니다.

시나리오 2: 사용자 지정 도메인 설정(퍼블릭 인터넷 액세스 사용/사용 안 함VPC)

사용자 지정 도메인을 만들었거나 사용하는 경우 시나리오 1의 1~3단계를 수행한 후, 다음 추가 단계를 수행합니다.

  1. Canvas는 데이터 준비 및 모델 훈련을 위해 퍼블릭 Amazon ECR Docker 이미지를 활용하므로 Amazon SageMaker AI 실행 역할에 Amazon ECR DescribeImages 작업에 대한 권한을 추가합니다.

    1. AWS 콘솔에 로그인하고에서 IAM 콘솔을 엽니다https://console.aws.amazon.com/iam/.

    2. 역할을 선택합니다.

    3. 검색 상자에서 SageMaker AI 실행 역할을 이름으로 검색하고 선택합니다.

    4. SageMaker AI 실행 역할에 다음 정책을 추가합니다. 이 작업은 새 인라인 정책으로 추가하거나 기존 정책에 정책 문을 추가하여 수행할 수 있습니다. 한 IAM 역할에는 최대 10개의 정책이 연결될 수 있습니다.

      { "Version": "2012-10-17", "Statement": [{ "Sid": "ECRDescribeImagesOperation", "Effect": "Allow", "Action": "ecr:DescribeImages", "Resource": [ "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container", "arn:aws:ecr:*:*:repository/ap-dataprep-emr" ] }] }
  2. 변경 사항을 저장하고 SageMaker Canvas 애플리케이션을 다시 시작합니다.

시나리오 3: 사용자 지정 도메인 설정(퍼블릭 인터넷 액세스 포함 VPC 및 미포함)

사용자 지정 도메인을 만들었거나 사용하는 경우 시나리오 2의 모든 단계를 수행한 후, 다음 추가 단계를 수행합니다.

  1. VPC 서브넷이 프라이빗인지 확인합니다.

    1. 서브넷의 라우팅 테이블에 인터넷 게이트웨이에 대한 항목 매핑 0.0.0.0/0이 없는지 확인합니다.

  2. 네트워크 인터페이스를 만들 수 있는 권한 추가:

    1. 대규모 데이터 처리를 위해 SageMaker Canvas를 EMR Serverless와 함께 사용하는 경우 EMR Serverless는 Amazon을 생성EC2ENIs하여 EMR Serverless 애플리케이션과 VPC 리소스 간의 네트워크 통신을 활성화할 수 있어야 합니다.

    2. Amazon SageMaker AI 실행 역할에 다음 정책을 추가합니다. 이 작업은 새 인라인 정책으로 추가하거나 기존 정책에 정책 문을 추가하여 수행할 수 있습니다. 한 IAM 역할에는 최대 10개의 정책이 연결될 수 있습니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEC2ENICreation", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringEquals": { "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com" } } } ] }
  3. (선택 사항) ENI 생성을 특정 서브넷으로 제한합니다.

    1. 내의 특정 서브넷ENIs으로 생성을 제한하여 설정을 더욱 안전하게 보호하려면 각 서브넷에 특정 조건으로 태그를 VPC지정할 수 있습니다.

    2. 다음 IAM 정책을 사용하여 EMR Serverless 애플리케이션이 허용된 서브넷 및 보안 그룹 EC2 ENIs 내에서만 Amazon을 생성할 수 있도록 합니다.

      { "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
  4. 페이지의 단계에 따라 EMR Serverless 및 SageMaker Canvas에서 사용하는 기타 AWS 서비스에 필요한 Amazon S3의 VPC 엔드포인트를 인터넷 액세스 VPC 없이에서 Amazon SageMaker Canvas 구성 설정합니다.

  5. 변경 사항을 저장하고 SageMaker Canvas 애플리케이션을 다시 시작합니다.

다음 단계에 따라 사용자 지정 VPC 구성을 포함한 다양한 도메인 설정에 대해 SageMaker Canvas에서 대규모 데이터 처리를 활성화할 수 있습니다. 새 권한을 적용하려면 변경한 후 SageMaker Canvas 애플리케이션을 다시 시작해야 합니다.