AISubHub/AI 뉴스
개발자

심층 해설 · 약 5분 읽기

AWS CDK 가이드가 다루는 엔드포인트 스케일링의 배포 순서 문제

SageMaker AI 안내서는 등록 해제, 엔드포인트 업데이트, 스케일링 준비를 조율한다. 대기 시간, 예제 용량, 생성 리소스는 각각 별도 확인이 필요하다.

사이트 게시일
원문 게시일
출처 확인일

Lauren Eterno가 10월 23일 작성한 AWS 가이드는 Application Auto Scaling 설정을 유지하면서 SageMaker AI 엔드포인트를 업데이트하는 배포 문제를 다룬다. 새 모델이나 서비스를 발표하는 대신 재사용 가능한 CDK 구성 요소를 제안한다. 본 사이트는 상태 전환과 배포 명령의 성공만으로 끝나지 않는 운영상 확인 사항을 분석한다.

뉴스 듣기

이 기사를 읽어 드리거나 뉴스를 계속 재생합니다.

AWS CDK 가이드가 다루는 엔드포인트 스케일링의 배포 순서 문제

읽기를 준비하는 중…

기기 음성

읽기는 브라우저나 기기에서 처리합니다. AISubHub는 내용을 오디오 API로 보내지 않습니다. 사용 가능한 음성과 잠금 화면 재생은 기기에 따라 다릅니다.

계속 재생할 때 짧은 구절이 반복될 수 있습니다.

핵심 요약

  • 등록 해제, 엔드포인트 업데이트, InService 준비 확인, 대상 등록, 대상 조회 가능 상태 확인 순서로 진행한 다음 정책을 연결한다.
  • ConfigHash에는 두 설정 섹션이 모두 포함돼야 한다. 30초 간격의 폴링과 1시간 또는 15분의 대기 한도는 복구 보장이 아니다.
  • 사용자 지정 리소스 3개는 Lambda 함수 12개와 Step Functions 상태 머신 2개를 생성한다. 예제 용량과 정책 값은 프로덕션 권장값이 아니다.

서로 다른 상태에서 발생하는 세 가지 실패

가이드는 네이티브 CloudFormation 오토 스케일링 리소스를 엔드포인트 업데이트와 함께 사용할 때의 세 가지 경로를 설명한다. 첫째, 확장 가능 대상을 등록한 채 두면 SageMaker가 업데이트를 거부할 수 있다. 둘째, 수동으로 등록을 해제한 뒤 엔드포인트 설정만 바꾸면 배포는 성공하더라도 오토 스케일링은 사라진 상태로 남을 수 있다. 템플릿 매개변수가 바뀌지 않으면 CloudFormation은 대상이나 정책을 다시 만들지 않기 때문이다.

셋째, 수동 등록 해제 후 오토 스케일링 매개변수를 바꾸면 CloudFormation이 이미 없는 대상을 업데이트하려 한다. AWS는 리소스 누락 오류와 수동 복구가 필요한 UPDATE_ROLLBACK_FAILED 상태의 롤백 실패를 설명한다. 이 사례들은 업데이트 거부, 눈에 잘 띄지 않는 스케일링 상실, 스택 손상을 구분한다. 모두를 일반적인 재시도 문제로 취급하면 서로 다른 상태를 놓치게 된다.

변경 순서를 정한 뒤 준비 상태를 확인한다

이 구성 요소는 네이티브 ScalableTarget과 ScalingPolicy를 사용자 지정 리소스 3개로 바꾼다. Deregister는 CDK가 관리하는 엔드포인트 업데이트보다 먼저 실행된다. 이후 등록 리소스가 엔드포인트의 InService 상태를 기다린 다음 대상을 등록하며, 정책 리소스보다 앞선다. 마지막 정책 리소스는 대상을 조회할 수 있을 때까지 기다린 후 대상 추적 정책을 적용한다.

CDK의 node.add_dependency 호출은 순서를 표현하고, 핸들러는 준비 상태를 확인한다. 등록 해제 핸들러는 최초 배포 시 ObjectNotFoundException을 허용한다. 등록 확인은 describe_endpoint를 사용하며 InService가 아닌 상태에서는 계속 기다리고 Failed이면 오류를 발생시킨다. 본 사이트는 이를 API 작업의 순서를 정하는 것과 다음 작업에 필요한 상태를 검증하는 것의 구분으로 읽는다. 무중단을 보장한다는 의미는 아니다.

공통 설정의 변경이 전체 절차를 시작해야 한다

예제 설정은 엔드포인트와 오토 스케일링 값을 함께 둔다. 각 사용자 지정 리소스의 ConfigHash 속성은 그 안에 포함된 설정이 바뀔 때 CloudFormation이 핸들러를 다시 호출하도록 한다. 통합 예제는 엔드포인트 값과 스케일링 값을 모두 명시적으로 config_hash에 직렬화하므로 어느 쪽 섹션이 바뀌어도 오케스트레이션이 시작된다.

본 사이트가 도출하는 엔지니어링상 시사점은 의존성 그래프와 함께 이 실행 조건도 검토해야 한다는 것이다. 스케일링 필드만 넣으면 엔드포인트 변경이 의도한 실행 조건에서 빠질 수 있고, 엔드포인트 필드만 넣으면 스케일링 변경이 빠질 수 있다. 해시는 입력 변경 신호이지 배포된 리소스가 파일과 일치하는지 확인하는 수단이 아니다. 배포 후에도 실제 대상 등록과 정책 값을 다시 읽어 확인해야 한다.

폴링 한도는 복구 시간이 아니라 대기 시간을 제한한다

등록과 정책 연결은 CDK 제공자의 비동기 완료 처리를 사용한다. on_event 핸들러는 즉시 반환하고, 제공자가 30초마다 is_complete를 호출한다. 등록의 total_timeout은 1시간이고 정책 연결은 15분이다. 이 값들은 제공자의 대기 기간을 제한할 뿐 단일 Lambda 호출의 실행 시간, 복구 SLA, 성공적인 완료 약속을 뜻하지 않는다.

두 번째 준비 상태 확인은 RegisterScalableTarget이 반환됐지만 아직 대상을 조회할 수 없는 짧은 구간을 처리한다. 그 확인 뒤에만 핸들러가 정책을 적용한다. 등록 해제, 업데이트, 재등록 순서는 정상 스케일링 구성이 없는 구간도 만든다. 본 사이트는 팀이 자체 워크로드를 기준으로 이 구간의 용량, 시간 초과 처리, 롤백 동작을 평가해야 한다고 분석한다. 해당 글은 서비스가 중단 없이 유지됨을 실증하지 않는다.

배포되는 구성 요소와 전제 조건을 모두 센다

사용자 지정 리소스가 3개라고 Lambda 함수도 3개인 것은 아니다. AWS가 집계한 수는 12개다. 5개에는 구성 요소 자체 핸들러가 들어가고 7개는 제공자 프레임워크가 생성한다. 비동기 제공자 2개는 Step Functions 상태 머신도 2개 만든다. 사용자가 코드를 작성하지 않아도 프레임워크 생성 함수는 배포된 리소스다. 리소스를 검토할 때 보이는 핸들러만 세지 말고 이 함수들도 포함해야 한다.

안내서에는 AWS CDK v2, Python 3.12 이상, uv, 그리고 SageMaker AI, Lambda, IAM, Application Auto Scaling, CloudWatch 권한이 있는 AWS 계정이 필요하다. S3 모델 아티팩트와 ECR 이미지 또는 글에서 제시한 내장 알고리즘 컨테이너 경로를 지정한다. 본 사이트는 예제를 응용하기 전에 최소 권한, 아티팩트 접근, 운영 책임 소재를 검토할 것을 권한다. 이는 엔지니어링 분석이며 검증된 IAM 감사가 아니다.

업데이트와 정리를 별도로 검증한다

샘플은 최소 용량 1, 최대 용량 10, target_value 100, scale_in_cooldown 600, scale_out_cooldown 120을 사용한다. 이는 예제 필드이며 권장 프로덕션 용량, 처리량 벤치마크, 가격 견적이 아니다. 안내서는 배포 후 확장 가능 대상과 스케일링 정책을 확인하고, 엔드포인트 값을 바꿔 재배포한 다음 등록과 갱신된 값이 그대로 있는지 확인한다.

정리 단계에서는 향후 요금을 피하기 위해 엔드포인트, 엔드포인트 설정, 모델, Lambda 함수, IAM 역할, 정책이 만든 CloudWatch 경보를 제거하고 대상 등록을 해제한다. 본 사이트는 이 단계를 실행하지 않았다. 운영팀에 유용한 인수 시험은 스택 상태가 성공인지 확인하는 것보다 범위가 넓다. 예제가 이를 입증했다고 가정하지 말고, 자체 권한과 트래픽 조건에서 활성 설정, 스케일링 동작, 장애 복구, 정리 범위를 검증해야 한다.

중요한 이유

다른 환경에도 적용할 수 있는 핵심은 배포 의존성, 준비 상태 확인, 설정 변경에 따른 실행 조건을 명시하는 것이다. 본 사이트는 이렇게 하면 스케일링 생애주기를 더 쉽게 점검할 수 있다고 추론한다. 다만 이 구성 요소를 도입하면 제공자가 관리하는 구성 요소와 운영 책임이 추가된다. 성공 여부는 예제 매개변수로 추정할 것이 아니라 팀의 엔드포인트와 워크로드에 대해 입증해야 한다.

제한 및 이용 가능성

이 글은 10월 24일 읽은 Lauren Eterno의 10월 23일자 AWS 기술 안내서를 분석한다. 본 사이트는 코드를 실행하거나 유료 리소스를 배포하지 않았고, 연결된 저장소 감사, 성능 측정, 특정 지역 및 계정 확인도 수행하지 않았다. 대기 한도는 SLA가 아니고 예제 값은 권장값이 아니며, 구체적인 기반 모델이나 새 서비스 출시도 확인된 바 없다.

출처와 근거

AWS Machine Learning Blog · Lauren Eterno

원문 게시일: · 출처 확인일:

AI 보조 편집 기사를 명시한 일차 출처와 대조합니다. 업체 주장은 출처를 밝히며 게재는 추천을 뜻하지 않습니다.