AWS 환경 구성

Amazon S3 bucket

Amazon MWAA는 Amazon S3 bucket을 사용하여 Airflow DAG 및 Plugin 파일을 저장합니다. Amazon S3에 Airflow 환경을 위한 bucket을 생성해야 합니다. S3 bucket 이름은 글로벌적으로 고유해야 하며 MWAA 환경과 동일한 AWS 리전에 생성해야 합니다.

  1. Amazon S3 콘솔로 이동 하십시오.
  2. Bucket 생성을 시작하고 이름은 mwaa-sagemaker-bucket-<your_aws_account_id>로 설정 하십시오.

<your_aws_account_id> 문구는 현재 사용하고 있는 12자리 AWS Account ID로 변경하십시오.

Bucket 리전은 MWAA 환경과 동일한 리전을 사용하십시오.

  1. 다른 모든 설정은 그대로 유지하고 bucket을 생성 하십시오.

  2. 새로 생성 된 S3 bucket의 이름을 기록해 두십시오.

  3. ML workflow를 실행하기 위해 필요한 Python package를 Airflow 환경에 설치해야 합니다. 다음 명령어를 Cloud9 workspace의 terminal에서 실행하여 requirements.txt 파일을 만들고 Airflow S3 bucket으로 업로드 하십시오.

CLI를 실행하기 전에 <your_aws_account_id> 문구는 현재 사용하고 있는 12자리 AWS Account ID로 변경해야 합니다.

cd ~/environment
touch requirements.txt
echo "apache-airflow-providers-amazon==1.3.0" > requirements.txt
echo "fsspec" >> requirements.txt
echo "s3fs" >> requirements.txt
echo "pandas" >> requirements.txt
echo "sagemaker==v1.72" >> requirements.txt
aws s3 cp ./requirements.txt s3://mwaa-workshop-<your_aws_account_id>/

Airflow cluster

  1. Amazon MWAA 콘솔로 가서 Airflow 환경을 추가 설정과 함께 업데이트 해야 합니다. 환경을 선택하고 Edit 버튼을 클릭 하십시오.

MlEnv

  1. S3로 업로드 한 requirements.txt 파일의 경로가 설정 되 있는지 확인 하십시오. 만약 없다면 해당 파일의 경로를 설정 하고 Next 버튼을 클릭 하십시오.

MlEnv

  1. Airflow configuration options 섹션으로 이동 한 다음 Sagemaker 모듈에 필요한 설정 (core.enable_xcom_pickling)을 추가 하십시오.

MlEnv

  1. 수정 한 Airflow 환경을 저장 하십시오.

Airflow 환경이 변경 되기까지 약 5~10분 정도의 시간이 소요 됩니다. 환경 상태가 Available이 될 때까지 기다릴 필요 없이 다음 IAM 역할 설정을 진행 하십시오.

IAM roles

  1. Amazon MWAA 환경에 연결 된 IAM execution role을 확인 하고 해당 링크를 클릭하여 IAM 콘솔로 이동 하십시오.

MlEnv

  1. AmazonSageMakerFullAccess 정책을 IAM 역할에 추가 하십시오.

프로덕션 환경에서 IAM 정책을 생성 할 때 최소 권한을 부여하거나 작업을 수행하는 데 필요한 권한 만 부여하는 표준 보안 권고를 따르십시오.

MlEnv

  1. 다음은 ML 파이프라인 모듈에서 사용할 SageMaker 서비스 역할을 생성하겠습니다.
  2. IAM 콘솔 메뉴에서 새 역할 생성을 시작 하십시오.
  3. 역할 유형으로 AWS 서비스를 선택하고 서비스 목록에서 SageMaker를 선택한 후 AirflowSageMakerExecutionRole 이름으로 역할을 생성 하십시오.

MlEnv MlEnv MlEnv MlEnv MlEnv

  1. 생성 한 역할을 클릭한 후 AmazonS3FullAccess 정책을 추가해 주십시오.

ML 파이프라인 모듈을 성공적으로 실행 하려면 AirflowSagemakerExecutionRole은 AmazonSagemkerFullAccessAmazonS3FullAccess 정책을 가지고 있어야 합니다.

MlEnv