AWS Glue 대화형 세션 엔지니어는 대화형 노트북에서 데이터 준비 및 분석 워크로드를 구축, 테스트, 실행할 수 있습니다. 대화형 세션은 격리된 개발 환경을 제공하고 기본 컴퓨팅 클러스터를 관리하며 유휴 리소스를 중지하도록 구성을 허용합니다.
Glue 대화형 세션은 기본 권장 구성을 제공하며 사용자가 다음을 수행할 수도 있습니다. 세션을 사용자 정의 그들의 필요를 충족시키기 위해. 예를 들어 더 큰 데이터 세트를 실험하기 위해 더 많은 작업자를 프로비저닝하거나 장기 실행 워크로드에 대한 유휴 제한 시간을 설정할 수 있습니다. 워크로드에 따라 이러한 옵션을 유연하게 변경할 수 있으므로 특정 경계 내에서 옵션이 변경되는지 확인하고 제어 메커니즘을 적용해야 할 수도 있습니다.
이번 포스팅에서는 배포 프로세스를 소개합니다. 재사용 가능한 솔루션 연결, 작업자 수, 최대 유휴 시간 등 세 가지 옵션에 대해 AWS Glue 대화형 세션 제한을 적용합니다. 첫 번째 옵션은 대화형 세션이 VPC 내부에서만 실행되도록 강제하는 등 트래픽에 대한 사용자 지정 검사 및 제어를 적용해야 하는 필요성을 해결합니다. 나머지 두 개는 비용 및 사용량에 대한 제한을 시행합니다. AWS 접착제 작업자 수와 세션당 유휴 시간에 대한 상한을 적용하여 리소스를 절약합니다. AWS Glue 내의 다른 속성이나 서비스에 대한 솔루션을 추가로 확장할 수 있습니다.
솔루션 개요
제안된 아키텍처는 서버리스 구성 요소를 기반으로 구축되었으며 새로운 AWS Glue 대화형 세션이 생성될 때마다 실행됩니다.
워크플로 단계는 다음과 같습니다.
- 데이터 엔지니어는 다음 중 하나를 통해 새로운 AWS Glue 대화형 세션을 생성합니다. AWS 관리 콘솔 또는 로컬 Jupyter 노트북에 있습니다.
- 대화형 세션은 다음을 위한 새로운 이벤트를 생성합니다. AWS 클라우드 트레일 위한
CreateSession
세션이 시작되자마자 세션을 식별하고 검사하기 위한 모든 관련 정보가 포함된 이벤트입니다. - An 아마존 이벤트 브리지 규칙은 CloudTrail 이벤트를 필터링하고 AWS 람다 검사하는 기능
CreateSession
행사. - Lambda 함수는 다음을 검사합니다.
CreateSession
이벤트를 확인하고 정의된 모든 경계 조건을 확인합니다. 현재 이 솔루션으로 구성할 수 있는 경계는 최대 작업자 수, 유휴 시간 제한(분), 연결이 적용된 배포로 제한됩니다. - 정의된 경계 조건 중 하나라도 충족되지 않으면 제공된 구성에 따라 세션에 너무 많은 작업자가 프로비저닝된 경우 함수는 대화형 세션을 즉시 종료하고 다음을 통해 이메일을 보냅니다. 아마존 단순 알림 서비스 (아마존 SNS). 세션이 아직 시작되지 않은 경우 함수는 작업을 수행하기 전에 세션이 시작될 때까지 기다립니다.
- 세션이 중지된 경우 SNS 주제로 이메일이 전송됩니다. 대화형 세션 노트북에는 세션 종료 이유에 대한 정보가 없습니다. 따라서 데이터 엔지니어에게는 SNS 주제를 통해 추가적인 상황 정보가 제공됩니다.
- 기능이 실패하면 세션이 배달 못한 편지 대기열 내부 아마존 단순 대기열 서비스 (아마존 SQS). 또한 대기열이 모니터링되고 메시지가 있는 경우 아마존 클라우드 워치 알람.
다음 단계에서는 솔루션을 빌드하고 배포하는 방법을 안내합니다. 코드는 다음에서 사용할 수 있습니다. GitHub 레포.
사전 조건
이 연습에서는 다음과 같은 전제 조건이 있어야합니다.
배포된 리소스 개요
필요한 모든 리소스는 AWS 클라우드 포메이션 아래에 위치한 파일 cfn/template.yaml
. 이러한 리소스를 배포하기 위해 우리는 다음을 사용합니다. AWS 서버리스 애플리케이션 모델 (AWS SAM)을 사용하면 모든 종속성을 편리하게 구축 및 패키징할 수 있으며 AWS CloudFormation 단계도 관리할 수 있습니다.
CloudFormation 스택은 다음 리소스를 배포합니다.
- src/functions 디렉터리 아래에 정의된 라이브러리가 포함된 Lambda 함수입니다. 기능은 제어입니다. 정의된 제한 내에서 세션이 시작되었는지 확인합니다.
- EventBridge 규칙. 이 이벤트는 CloudTrail을 수신하고 새로운 대화형 세션이 있는 경우 제어 Lambda 함수를 트리거합니다.
- Lambda 함수에 연결된 SQS DLQ(배달 못한 편지 대기열)입니다. 이는 Lambda 함수 실패를 트리거한 이벤트 기록을 유지합니다.
- Lambda 함수 실패와 DLQ의 메시지를 모니터링하는 두 개의 CloudWatch 경보.
이메일을 통한 알림이 활성화되면 두 개의 리소스가 추가로 배포됩니다.
또한 AWS CloudFormation은 필요한 모든 AWS 자격 증명 및 액세스 관리 (IAM) 역할 및 정책 AWS 키 관리 서비스 (AWS KMS) 키를 사용하여 교환된 데이터가 암호화되었는지 확인합니다.
솔루션 배포
사용자 로컬 환경 설정을 포함하여 배포 수명주기를 촉진하기 위해 필요한 모든 단계를 설명하는 Makefile을 제공합니다. AWS 자격 증명을 갱신했고 계정에 액세스할 수 있는지 확인하세요. 자세한 내용은 다음을 참조하세요. 구성 및 자격 증명 파일 설정.
- Makefile을 탐색하고 변수 값을 수정하여 필요에 따라 지역 및 스택 이름을 조정합니다.
AWS_REGION
및STACK_NAME
. - 세트
KILL_SESSION = "True"
경계 밖에서 발견된 대화형 세션을 즉시 중지하려는 경우. 허용되는 값은 True 또는 False입니다. 기본값은 True입니다. - 세트
NOTIFICATION_EMAIL_ADDRESS = <your.email@provider.com>
FBI 증오 범죄 보고서Makefile
세션이 경계를 벗어났을 때 알림을 받으려면 - 컨트롤 값을 설정합니다.
ENFORCE_VPC_CONNECTION
VPC 내부에서 실행되지 않는 세션을 중지합니다(true 또는 false).MAX_WORKERS
세션의 최대 작업자 수를 설정합니다(숫자).MAX_IDLE_TIMEOUT_MINUTES
세션의 최대 유휴 시간을 분 단위(숫자)로 정의합니다.
- 모든 필수 구성 요소 라이브러리를 설치합니다.
이는 디렉터리의 이 저장소 내부에 새로 생성된 Python 가상 환경에 설치됩니다.
.venv
. - 새 스택을 배포합니다.
이 명령은 다음 작업을 완료합니다.
- 전제 조건이 충족되는지 확인하십시오.
- 수행
pytest unittest
Python 파일에. - CloudFormation 템플릿을 검증합니다.
- 아티팩트(Lambda 함수 및 Lambda 레이어)를 빌드합니다.
- AWS SAM을 통해 리소스를 배포합니다.
솔루션 테스트
인용하다 Jupyter용 AWS Glue 대화형 세션 소개 대화형 세션 실행에 대한 자세한 내용은 게시물의 지침을 따르면(섹션 참조) 첫 번째 코드 셀을 실행하고 AWS Glue 노트북 작성), 대화형 세션의 초기화는 다음과 유사한 오류와 함께 실패해야 합니다.
셀의 코드 예:
수신된 출력:
이메일 기능을 활성화한 경우 이메일 알림도 받아야 합니다.
세션 ID가 나열되지 않은 것을 AWS Glue 콘솔에서 확인할 수도 있습니다.
정리
다음 명령을 실행하여 배포된 리소스를 정리합니다.
추천 게시물을 따라 배포된 리소스는 다음과 같습니다. Jupyter용 AWS Glue 대화형 세션 소개, 이전 명령으로 제거되지 않습니다.
제한 사항
CloudTrail 이벤트를 EventBridge로 전달하는 것은 최선의 노력입니다. 이는 CloudTrail이 모든 이벤트를 EventBridge에 전달하려고 시도하지만 드문 경우지만 이벤트가 전달되지 않을 수 있음을 의미합니다. 자세한 내용은 다음을 참조하세요. AWS 서비스의 이벤트.
결론
이 게시물에서는 작업자 수, 유휴 시간 제한 및 AWS Glue 연결에 대한 제약을 적용하기 위해 AWS Glue 대화형 세션에 경계 조건을 적용하는 솔루션을 구축, 배포 및 테스트하는 방법을 설명했습니다.
필요에 따라 이 솔루션을 조정하고 추가로 확장하여 다른 옵션을 제어할 수 있습니다.
AWS Glue 대화형 세션을 사용하는 방법에 대해 자세히 알아보려면 다음을 참조하십시오. Jupyter용 AWS Glue 대화형 세션 소개 및 AWS Glue 대화형 세션을 사용하여 PyCharm으로 AWS Glue 작업 작성.
저자에 관하여
니콜라스 제이콥 베어 스위스에 본사를 두고 있으며 데이터 엔지니어링 및 기계 학습에 중점을 두고 있는 수석 클라우드 애플리케이션 설계자입니다. 그는 기업 고객과 긴밀히 협력하여 데이터 플랫폼을 설계하고 고급 분석/ML 사용 사례를 구축합니다.
루카 마자페로 Amazon Web Services의 수석 DevOps 설계자입니다. 그는 자동화되고 재현 가능하며 보안이 유지되는 인프라를 선호합니다. 여가 시간에는 요리, 특히 피자를 좋아합니다.
케멩 장 스위스에 본사를 두고 있으며 기계 학습과 UX에 중점을 두고 있는 클라우드 애플리케이션 설계자입니다. 그녀는 고객과 긴밀히 협력하여 사용자 경험을 설계하고 고급 분석/ML 사용 사례를 구축합니다.
마크 월저Amazon Web Services의 수석 글로벌 데이터 설계자인 는 고객과 협력하여 비즈니스 문제를 해결하고 AWS 서비스 채택 속도를 높이는 혁신적인 빅 데이터 솔루션을 개발합니다. 업무 외에는 달리기, 수영 등 기술과 관련된 모든 것을 즐기며 생활합니다.
갈 헤인 캘리포니아에 거주하며 AI/ML, 데이터 엔지니어링 및 BI에 중점을 두고 있는 AWS Glue의 제품 관리자입니다. 그녀는 고객의 비즈니스 요구 사항을 깊이 이해하고 엔지니어와 협력하여 사용하기 쉬운 데이터 제품을 설계하는 데 열정을 쏟고 있습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 자동차 / EV, 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- BlockOffsets. 환경 오프셋 소유권 현대화. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/big-data/enforce-boundaries-on-aws-glue-interactive-sessions/
- :있다
- :이다
- :아니
- $UP
- 1
- 10
- 100
- 7
- a
- 소개
- ACCESS
- 계정
- 동작
- 각색하다
- 추가
- 구애
- 양자
- 많은
- AI / ML
- 경보
- All
- 수
- 수
- 수
- 또한
- 아마존
- Amazon Web Services
- an
- 분석
- 및
- 어떤
- 어플리케이션
- 신청
- 적용
- 아키텍처
- 있군요
- 인수
- AS
- At
- 저자
- 자동화
- 가능
- AWS
- AWS 클라우드 포메이션
- AWS 접착제
- 기반으로
- BE
- 된
- 전에
- BEST
- 큰
- 빅 데이터
- 블로그
- 두
- 경계
- 빌드
- 내장
- 사업
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 캘리포니아
- 부름
- CAN
- 한
- 케이스
- 가지 경우
- 세포
- 이전 단계로 돌아가기
- 변경
- 검사
- 확인하는 것이 좋다.
- 면밀히
- 클라우드
- 클러스터
- 암호
- 협력
- 완전한
- 구성 요소들
- 계산
- 조건
- 구성
- 연결
- 콘솔에서
- 제약
- 문맥
- 제어
- 컨트롤
- 비용
- 만들
- 만든
- 생성
- 신임장
- 신임장
- 현재
- 관습
- 고객
- 데이터
- 데이터 엔지니어
- 데이터 준비
- 깊은
- 태만
- 한정된
- 배달하다
- 전달
- 배달
- 의존
- 배포
- 배포
- 배치
- 전개
- 배치하다
- 기술 된
- 디자인
- 개발
- 개발
- 개발
- 개발자
- 쉽게
- 노력
- 중
- 이메일
- 사용 가능
- 수
- 암호화
- 종료
- 억지로 시키다
- 시행
- 기사
- 엔지니어링
- 엔지니어
- 확인
- Enterprise
- 기업 고객
- 환경
- 환경
- 오류
- 특히
- 에테르 (ETH)
- 이벤트
- 이벤트
- 예
- 예외
- 교환 된
- 체험
- 실험
- 확장
- 용이하게하다
- 실패
- 실패
- 고장
- 그릇된
- 특색
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 필터
- finds
- 먼저,
- 유연성
- 초점
- 따라
- 수행원
- 다음
- 럭셔리
- 발견
- 무료
- 에
- 기능
- 추가
- 게다가
- 여자
- 얻을
- 글로벌
- 보증
- 있다
- he
- 그의
- 방법
- How To
- HTML
- HTTP
- HTTPS
- IAM
- ID
- 확인
- 통합 인증
- 유휴
- if
- 바로
- import
- in
- 포함
- 정보
- 인프라
- 시작
- 혁신적인
- 내부
- 명령
- 대화형
- 으로
- 호출
- 외딴
- IT
- 그
- 일
- 작업
- JPG
- 주피터 수첩
- 키
- 큰
- 레이어
- 배우다
- 배우기
- 도서관
- 도서관
- wifecycwe
- 좋아하는
- 제한된
- 제한
- 상장 된
- 지방의
- 장소 상에서
- 위치한
- 로그인
- 기계
- 기계 학습
- 확인
- 구축
- 매니저
- 관리하다
- .
- 최고
- XNUMX월..
- 방법
- 기구
- 소개
- 메시지
- 메시지
- 만나
- 수도
- 분
- 모니터링
- 모니터링
- 배우기
- name
- 필요한
- 필요
- 필요
- 요구
- 신제품
- 새로운
- 아니
- 수첩
- 공고
- 번호
- 발생
- of
- on
- 만
- 조작
- 선택권
- 옵션
- or
- 주문
- 기타
- 아웃
- 출력
- 외부
- 꾸러미
- 열렬한
- 용
- 피자
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 즐거움
- 정책
- 게시하다
- 준비
- 전제 조건
- 제시
- 너무 이른
- 문제
- 방법
- 생산하다
- 프로덕트
- 제품 관리자
- 제품
- 속성
- 제안 된
- 제공
- 제공
- 제공
- 규정
- Python
- 드문
- 준비
- 이유
- 추천
- 기록
- 지방
- 관련
- 관련된
- 제거됨
- 갱신
- 저장소
- 제품 자료
- 역할
- 통치
- 달리기
- 달리는
- 실행
- 샘
- 섹션
- 보안
- 참조
- 전송
- 연장자
- 전송
- 서버리스
- 서비스
- 세션
- 세션
- 세트
- 설치
- 그녀
- 영상을
- 비슷한
- 단순, 간단, 편리
- 해결책
- 솔루션
- 풀다
- 일부
- 예정입니다.
- 불꽃
- 구체적인
- 속도
- 스택
- 스타트
- 시작
- 성명서
- Status
- 단계
- 중지
- 정지
- 강한
- 확인
- 수영
- 스위스
- 받아
- 복용
- 작업
- Technology
- 이 템플릿
- test
- 그
- XNUMXD덴탈의
- 그들의
- 그곳에.
- 따라서
- Bowman의
- 일
- 이
- 그
- 세
- 을 통하여
- 시간
- 에
- 너무
- 화제
- 교통
- 변환
- 트리거
- 방아쇠를 당긴
- 참된
- 두
- 유형
- 아래에
- 밑에 있는
- 이해
- us
- 용법
- 사용
- 사용 사례
- 사용자
- 사용자
- 사용
- ux
- 유효 기간
- 마케팅은:
- 를 통해
- 온라인
- 기다리다
- 기다리는
- 연습
- 필요
- 였다
- we
- 웹
- 웹 서비스
- 언제
- 때마다
- 어느
- 동안
- 의지
- 과
- 이내
- 작업
- 노동자
- 근로자
- 워크플로우
- 일
- 아직
- 당신
- 너의
- 제퍼 넷