제퍼넷 로고

Amazon SageMaker에서 리소스 태깅을 사용하여 ML 환경 및 워크로드에 대한 엔터프라이즈 수준 비용 할당 설정

시간

기업과 IT 리더가 머신 러닝(ML) 채택을 가속화하기 위해 노력함에 따라 엔터프라이즈 요구 사항을 충족하기 위해 ML 환경에 대한 지출 및 비용 할당을 이해해야 할 필요성이 커지고 있습니다. 적절한 비용 관리 및 거버넌스가 없으면 ML 지출로 인해 월별 AWS 청구서가 놀랄 수 있습니다. 아마존 세이지 메이커 기업 고객에게 비용 할당 측정을 설정하고 팀, 사업부, 제품 등의 세부 비용 및 사용량에 대한 가시성을 개선할 수 있는 도구와 리소스를 제공하는 클라우드의 완전 관리형 ML 플랫폼입니다.

이 게시물에서는 SageMaker 환경 및 워크로드에 대한 비용 할당에 관한 팁과 모범 사례를 공유합니다. SageMaker를 포함한 거의 모든 AWS 서비스에서 리소스에 태그를 적용하는 것은 비용을 추적하는 표준 방법입니다. 이러한 태그는 다음과 같은 즉시 사용 가능한 솔루션을 통해 ML 지출을 추적, 보고 및 모니터링하는 데 도움이 될 수 있습니다. AWS 비용 탐색기AWS 예산, 데이터를 기반으로 구축된 맞춤형 솔루션 AWS 비용 및 사용 보고서 (CUR).

비용 할당 태깅

AWS에서의 비용 할당은 XNUMX단계 프로세스입니다.

  1. 연결 비용 할당 태그 당신의 자원에.
  2. 에서 태그를 활성화하십시오. 비용 할당 태그 AWS 결제 콘솔 섹션.
  3. 태그를 사용하여 비용 할당 보고를 추적하고 필터링합니다.

태그를 생성하여 리소스에 연결하면 AWS Billing 콘솔의 비용 할당 태그 구역에 사용자 정의 비용 할당 태그. 태그가 생성된 후 표시되는 데 최대 24시간이 걸릴 수 있습니다. 그런 다음 AWS에 대해 이러한 태그를 활성화하여 리소스에 대한 추적을 시작해야 합니다. 일반적으로 태그가 활성화된 후 비용 탐색기에 태그가 표시되는 데 약 24~48시간이 걸립니다. 태그가 작동하는지 확인하는 가장 쉬운 방법은 비용 탐색기의 태그 필터에서 새 태그를 찾는 것입니다. 태그가 있으면 비용 할당 보고에 태그를 사용할 준비가 된 것입니다. 그런 다음 다음 스크린샷과 같이 태그 키로 결과를 그룹화하거나 태그 값으로 필터링하도록 선택할 수 있습니다.

한 가지 주의할 점: 사용하는 경우 AWS 조직 연결된 AWS 계정이 있는 경우 태그는 기본 지불인 계정에서만 활성화할 수 있습니다. 선택적으로 비용 할당 보고서를 활성 태그별로 그룹화된 사용량 및 비용이 포함된 CSV 파일로 활성화하는 AWS 계정에 대한 CUR을 활성화할 수도 있습니다. 이렇게 하면 비용을 더 자세히 추적할 수 있고 사용자 지정 보고 솔루션을 더 쉽게 설정할 수 있습니다.

SageMaker에서 태그 지정

상위 수준에서 태그 지정 SageMaker 리소스는 두 개의 버킷으로 그룹화할 수 있습니다.

  • SageMaker 노트북 환경에 태그 지정 아마존 세이지 메이커 스튜디오 도메인 및 도메인 사용자 또는 SageMaker 노트북 인스턴스
  • SageMaker 관리 작업(레이블 지정, 처리, 교육, 하이퍼파라미터 조정, 일괄 변환 등) 및 리소스(예: 모델, 작업 팀, 엔드포인트 구성 및 엔드포인트)에 태그 지정

이 게시물에서 이에 대해 더 자세히 다루고 좋은 태그 위생을 보장하기 위해 거버넌스 제어를 적용하는 방법에 대한 몇 가지 솔루션을 제공합니다.

SageMaker Studio 도메인 및 사용자 태그 지정

Studio는 ML 모델을 빌드, 교육, 디버그, 배포 및 모니터링할 수 있는 ML용 웹 기반 통합 개발 환경(IDE)입니다. Studio 노트북을 빠르게 실행하고 작업을 중단하지 않고 기본 컴퓨팅 리소스를 동적으로 확장하거나 축소할 수 있습니다.

이러한 동적 리소스에 자동으로 태그를 지정하려면 해당 리소스에 대한 액세스 권한이 프로비저닝된 SageMaker 도메인 및 도메인 사용자에게 태그를 할당해야 합니다. 의 tags 매개변수에서 이러한 태그를 지정할 수 있습니다. 도메인 생성 or 사용자 프로필 만들기 프로필 또는 도메인을 만드는 동안 또는 나중에 다음을 사용하여 추가할 수 있습니다. 태그 추가 API. Studio는 이러한 태그를 도메인 또는 특정 사용자가 생성한 Studio 노트북에 자동으로 복사하여 할당합니다. Studio 제어판에서 도메인 설정을 편집하여 SageMaker 도메인에 태그를 추가할 수도 있습니다.

다음은 프로필 생성 시 태그를 할당하는 예입니다.

aws sagemaker create-user-profile --domain-id  --user-profile-name data-scientist-full --tags Key=studiouserid,Value= --user-settings ExecutionRole=arn:aws:iam:::role/SageMakerStudioExecutionRole_datascientist-full

기존 도메인 및 사용자에 태그를 지정하려면 add-tags API. 그런 다음 태그가 새 노트북에 적용됩니다. 이러한 태그를 기존 노트북에 적용하려면 해당 사용자 프로필에 속한 Studio 앱(Kernel Gateway 및 Jupyter Server)을 다시 시작해야 합니다. 이로 인해 노트북 데이터가 손실되지 않습니다. 이것을 참조하십시오 SageMaker Studio 및 Studio 앱 종료 및 업데이트 Studio 앱을 삭제하고 다시 시작하는 방법을 알아보세요.

SageMaker 노트북 인스턴스에 태그 지정

SageMaker 노트북 인스턴스의 경우 태깅이 인스턴스 자체에 적용됩니다. 태그는 동일한 인스턴스에서 실행되는 모든 리소스에 할당됩니다. 태그의 태그 매개변수를 사용하여 프로그래밍 방식으로 태그를 지정할 수 있습니다. 노트북 인스턴스 만들기 API를 사용하거나 인스턴스 생성 중에 SageMaker 콘솔을 통해 추가합니다. 태그를 사용하여 언제든지 태그를 추가하거나 업데이트할 수도 있습니다. 태그 추가 API 또는 SageMaker 콘솔을 통해.

교육 및 처리 작업과 같은 SageMaker 관리 작업 및 리소스는 인스턴스가 아닌 서비스 환경에 있기 때문에 제외됩니다. 다음 섹션에서는 이러한 리소스에 태그 지정을 적용하는 방법을 더 자세히 살펴보겠습니다.

SageMaker 관리 작업 및 리소스에 태그 지정

SageMaker 관리 작업 및 리소스의 경우 태깅을 적용해야 합니다. tags 각 API 요청의 일부로 속성. 안 SKLearnProcessor 예제는 다음 코드에 나와 있습니다. 다른 SageMaker 관리 작업 및 리소스에 태그를 할당하는 방법에 대한 더 많은 예를 찾을 수 있습니다. GitHub 레포.

from sagemaker import get_execution_role
from sagemaker.sklearn.processing import SKLearnProcessor

processing_tags = [{' Key':"cost-center','Value':'TF2WorkflowProcessing'}]
sklearn_processorl = SKLearnProcessor(framework_version='0.23-1' ,
									 role=get_execution_role(),
									 instance_type='ml.m5.xlarge',
									 instance_count=2,
									 tags=processing_tags)

SageMaker 파이프라인에 태그 지정

SageMaker 파이프라인의 경우 각 개별 단계 대신 전체 파이프라인에 태그를 지정할 수 있습니다. SageMaker 파이프라인은 태그를 각 파이프라인 단계에 자동으로 전파합니다. 필요한 경우 개별 단계에 별도의 추가 태그를 추가할 수 있는 옵션이 여전히 있습니다. Studio UI에서 파이프라인 태그는 메타데이터 섹션에 나타납니다.

파이프라인에 태그를 적용하려면 SageMaker Python SDK를 사용합니다.

pipeline_tags = [ {'Key': 'pipeline-type', 'Value': 'TF2WorkflowPipeline'}]
pipeline.upsert(role_arn=role, tags=pipeline_tags)
execution = pipeline.start()

IAM 정책을 사용하여 태그 적용

태깅은 클라우드 관리 및 거버넌스 전략을 구현하는 효과적인 메커니즘이지만 최종 사용자에게만 맡겨두면 올바른 태깅 동작을 시행하는 것이 어려울 수 있습니다. 특정 태그가 누락된 경우 ML 리소스 생성을 방지하는 방법, 올바른 태그가 적용되었는지 확인하는 방법, 사용자가 기존 태그를 삭제하지 못하도록 방지하는 방법은 무엇입니까?

다음을 사용하여이를 수행 할 수 있습니다. AWS 자격 증명 및 액세스 관리 (IAM) 정책. 다음 코드는 다음과 같은 SageMaker 작업을 방지하는 정책의 예입니다. CreateDomain or CreateNotebookInstance 요청에 환경 키와 목록 값 중 하나가 포함되어 있지 않은 경우. 그만큼 ForAllValues 수정자 aws:TagKeys 조건 키는 키만 environment 요청에서 허용됩니다. 이렇게 하면 사용자가 실수로 Environment 대신 environment.

"sagemaker:CreateTrainingJob"
      ],
      "{
      "Sid": "SageMakerEnforceEnvtOnCreate",
      "Action": [
        "sagemaker:CreateDomain",
        "sagemaker:CreateEndpoint",
        "sagemaker:CreateNotebookInstance",
        Effect": "Allow",
      "Resource": "*",
  "Condition": {
            "StringEquals": {
                "aws:RequestTag/environment": [
                    "dev","staging","production"
                ]
            },
            "ForAllValues:StringEquals": {"aws:TagKeys": "environment"}
        }
      }

태그 정책서비스 제어 정책 (SCP)는 ML 리소스의 생성 및 레이블 지정을 표준화하는 좋은 방법일 수도 있습니다. 조직 수준에서 태깅을 시행하고 검증하는 태깅 전략을 구현하는 방법에 대한 자세한 내용은 다음을 참조하십시오. 비용 할당 블로그 시리즈 #3: AWS 리소스 태그 시행 및 검증.

비용 할당 보고

비용 탐색기에서 보기를 필터링하여 태그를 볼 수 있습니다. 월별 비용 할당 보고서, 또는 CUR을 검사하여.

비용 탐색기에서 태그 시각화

비용 탐색기는 비용 및 사용량을 보고 분석할 수 있는 도구입니다. 기본 그래프인 비용 탐색기 비용 및 사용 보고서를 사용하여 사용 및 비용을 탐색할 수 있습니다. 비용 탐색기 사용 방법에 대한 빠른 비디오를 보려면 다음을 확인하십시오. 비용 탐색기를 사용하여 지출 및 사용량을 분석하려면 어떻게 해야 합니까?

비용 탐색기를 사용하면 태그별로 AWS 비용을 보는 방식을 필터링할 수 있습니다. 그룹화 기준 다음과 같은 태그 키로 결과를 필터링할 수 있습니다. Environment, DeploymentCost Center. 태그 필터는 키에 관계없이 원하는 값을 선택하는 데 도움이 됩니다. 예는 다음과 같습니다. ProductionStaging. 태그를 추가하고 활성화한 후에는 리소스를 실행해야 합니다. 그렇지 않으면 비용 탐색기에 사용 데이터가 없고 태그 값이 필터 또는 그룹화 기준 옵션으로 표시되지 않습니다.

다음 스크린샷은 모든 값으로 필터링하는 예입니다. BusinessUnit 꼬리표.

CUR에서 태그 검사

비용 및 사용 보고서에는 사용 가능한 가장 포괄적인 비용 및 사용 데이터 집합이 포함되어 있습니다. 보고서에는 AWS 제품, 사용 유형 및 AWS 계정에서 사용하는 작업의 고유한 조합에 대한 항목이 포함되어 있습니다. CUR을 사용자 정의하여 정보를 시간 또는 일별로 집계할 수 있습니다. 월별 비용 할당 보고서는 비용 할당 보고를 설정하는 한 가지 방법입니다. 설정할 수 있습니다 월별 비용 할당 보고서 제품 카테고리 및 연결 계정 사용자별로 계정에 대한 AWS 사용량을 나열합니다. 보고서에는 다음과 동일한 항목이 포함되어 있습니다. 자세한 청구 보고서 및 태그 키에 대한 추가 열. 다음 단계에 따라 보고서를 설정하고 다운로드할 수 있습니다. 월별 비용 할당 보고서.

다음 스크린샷은 사용자 정의 태그 키가 CUR에 표시되는 방식을 보여줍니다. 사용자 정의 태그 키에는 접두사가 있습니다. user같은 user:Departmentuser:CostCenter. AWS 생성 태그 키에는 접두사가 있습니다. aws.

Amazon Athena 및 Amazon QuickSight를 사용하여 CUR 시각화

아마존 아테나 표준 SQL을 사용하여 Amazon S3의 데이터를 쉽게 분석할 수 있는 대화형 쿼리 서비스입니다. Athena는 서버리스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하면 됩니다. Athena를 CUR과 통합하려면 다음을 참조하십시오. Amazon Athena를 사용하여 비용 및 사용 보고서 쿼리. 그런 다음 표준 SQL을 사용하여 CUR 데이터를 쿼리하는 사용자 지정 쿼리를 작성할 수 있습니다. 다음 스크린샷은 TF2WorkflowTraining 값이 있는 모든 리소스를 필터링하는 쿼리의 예입니다. cost-center 꼬리표.

select * from {$table_name} where resource_tags_user_cost-center= 'TF2WorkflowTraining'

다음 예에서는 어떤 리소스가 아래의 값이 누락되었는지 파악하려고 합니다. cost-center 꼬리표.

SELECT
 bill_payer_account_id, line_item_usage_account_id, DATE_FORMAT((line_item_usage_start_date), '%Y-%m-%d') AS day_line_item_usage_start_date, line_item_resource_id, line_item_usage_type, resource_tags_user_cost-center
FROM
{$table_name} 
WHERE
 resource_tags_user_cost-center IS NULL
AND line_item_product_code = 'AmazonSageMaker'

더 많은 정보와 예제 쿼리는 다음에서 찾을 수 있습니다. AWS CUR 쿼리 라이브러리.

CUR 데이터를 아마존 퀵 사이트, 보고 또는 시각화 목적으로 원하는 방식으로 분할할 수 있습니다. CUR 데이터를 QuickSight로 수집하는 방법에 대한 지침은 다음을 참조하십시오. AWS 비용 및 사용 보고서(CUR)를 Amazon QuickSight로 수집하고 시각화하려면 어떻게 해야 합니까?.

태그를 사용한 예산 모니터링

AWS 예산은 지출이 예기치 않게 급증하는 경우 조기 경고를 제공하는 훌륭한 방법입니다. ML 비용 및 사용량이 사용자 정의 임계값을 초과(또는 초과할 것으로 예측)될 때 알려주는 사용자 지정 예산을 생성할 수 있습니다. AWS 예산을 사용하면 총 월별 ML 비용을 모니터링하거나 예산을 필터링하여 특정 사용 차원과 관련된 비용을 추적할 수 있습니다. 예를 들어 다음과 같이 태그가 지정된 SageMaker 리소스 비용을 포함하도록 예산 범위를 설정할 수 있습니다. cost-center: ML-Marketing, 다음 스크린샷과 같이. AWS 예산 설정 방법에 대한 추가 차원 및 자세한 지침은 다음을 참조하십시오. 여기를 눌러 더 많은 정보를 찾으세요..

예산 알림, 예산 한도가 초과되거나 초과될 경우 알림을 보낼 수 있습니다. 이러한 경고는 다음에도 게시할 수 있습니다. 아마존 단순 알림 서비스 (Amazon SNS) 주제입니다. 안 AWS 람다 그런 다음 SNS 주제를 구독하는 함수가 호출되고 프로그래밍 방식으로 구현 가능한 모든 작업을 수행할 수 있습니다.

AWS 예산을 사용하여 구성할 수도 있습니다. 예산 조치, 예산 임계값(실제 금액 또는 예상 금액)을 초과할 때 취할 수 있는 단계입니다. 이 수준의 제어를 통해 계정에서 의도하지 않은 초과 지출을 줄일 수 있습니다. 예산 목표를 초과했을 때 자동으로 적용되거나 워크플로 승인 프로세스를 통해 적용되도록 계정의 비용 및 사용량에 대한 특정 응답을 구성할 수 있습니다. 이것은 ML 지출이 비즈니스 목표와 일치하도록 하는 정말 강력한 솔루션입니다. 수행할 작업 유형을 선택할 수 있습니다. 예를 들어 예산 임계값이 초과되면 특정 IAM 사용자를 관리자 권한에서 읽기 전용으로 이동할 수 있습니다. 조직을 사용하는 고객의 경우 작업을 관리자에서 읽기 전용으로 이동하여 전체 조직 단위에 작업을 적용할 수 있습니다. 예산 조치를 사용하여 비용을 관리하는 방법에 대한 자세한 내용은 AWS 다중 계정 환경에서 비용 초과를 관리하는 방법 – 1부.

또한 보고서를 설정하여 일일, 주별 또는 월별 주기로 기존 예산의 성과를 모니터링하고 해당 보고서를 최대 50개의 이메일 주소로 전달할 수 있습니다. 와 함께 AWS 예산 보고서, 모든 SageMaker 관련 예산을 단일 보고서로 결합할 수 있습니다. 이 기능을 사용하면 다음 스크린샷과 같이 단일 위치에서 SageMaker 발자국을 추적할 수 있습니다. 매일, 매주 또는 매월 주기로 이러한 보고서를 수신하도록 선택할 수 있습니다. 주간 이 예의 경우), 수신할 요일을 선택합니다.

이 기능은 이해 관계자에게 SageMaker 비용 및 사용량을 최신 상태로 유지하고 지출 추세가 예상대로 되지 않는 경우를 확인하는 데 유용합니다.

이 구성을 설정하면 다음과 유사한 이메일을 받게 됩니다.

결론

이 게시물에서는 SageMaker에 대한 비용 할당 태깅을 설정하는 방법과 SageMaker 환경 및 워크로드에 대한 태깅 모범 사례에 대한 팁을 공유했습니다. 그런 다음 ML 지출에 대한 가시성을 개선하는 데 도움이 되는 비용 탐색기 및 CUR과 같은 다양한 보고 옵션에 대해 논의했습니다. 마지막으로 조직의 ML 지출을 모니터링하는 데 도움이 되는 AWS 예산 및 예산 요약 보고서를 시연했습니다.

비용 할당 태그 적용 및 활성화에 대한 자세한 내용은 다음을 참조하십시오. 사용자 정의 비용 할당 태그.


저자 소개

션 모건션 모건 AWS의 AI/ML 솔루션 아키텍트입니다. 그는 반도체 및 학술 연구 분야에서 경험을 쌓았고 자신의 경험을 사용하여 고객이 AWS에서 목표를 달성할 수 있도록 돕습니다. 여가 시간에 Sean은 활발한 오픈 소스 기고자이자 유지 관리자이며 TensorFlow Add-ons의 특별 이익 그룹 책임자입니다.

브렌트 라보 스키 AWS의 데이터 과학에 중점을두고 AWS 전문 지식을 활용하여 AWS 고객이 자체 데이터 과학 프로젝트를 수행 할 수 있도록 도와줍니다.

나일시 셰티 AWS의 선임 기술 계정 관리자로서 엔터프라이즈 지원 고객이 AWS에서 클라우드 운영을 간소화하도록 돕습니다. 그는 머신 러닝에 열정적이며 컨설턴트, 설계자 및 개발자로 일한 경험이 있습니다. 일 외에는 음악 감상과 스포츠 관람을 즐깁니다.

제임스 우 AWS의 수석 AI/ML 전문가 솔루션 아키텍트입니다. 고객이 AI/ML 솔루션을 설계하고 구축할 수 있도록 지원합니다. James의 작업은 컴퓨터 비전, 딥 러닝, 기업 전반에 걸친 ML 확장에 대한 주요 관심과 함께 광범위한 ML 사용 사례를 다룹니다. AWS에 합류하기 전에 James는 엔지니어링 분야에서 10년, 마케팅 및 광고 산업 분야에서 6년을 포함하여 4년 넘게 건축가, 개발자 및 기술 리더였습니다.

spot_img

최신 인텔리전스

spot_img