Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
기존 Amazon FSx for Lustre 파일 시스템을 관리형 컴퓨팅 환경의 AWS Batch에 마운트하려면 어떻게 해야 합니까?
기존 Amazon FSx for Lustre 파일 시스템을 관리형 컴퓨팅 환경의 AWS Batch에 마운트하려고 합니다.
간략한 설명
AWS Batch와 함께 Amazon Elastic Compute Cloud(Amazon EC2) 시작 템플릿을 사용합니다. 이 구성은 사용자 지정 Amazon Machine Image(AMI)를 생성하지 않고 기존 Amazon FSx for Lustre 파일 시스템을 컨테이너에 마운트합니다.
중요: 파일 시스템을 생성할 때는 컴퓨팅 환경에 할당된 것과 동일한 Amazon Virtual Private Cloud(Amazon VPC)와 서브넷을 사용하십시오.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
기존 Amazon FSx for Lustre 파일 시스템을 관리형 컴퓨팅 환경의 AWS Batch에 마운트하려면 다음 단계를 완료하십시오.
-
Amazon FSx for Lustre 파일 시스템을 생성합니다. 그런 다음 영구 또는 스크래치 파일 시스템 배포 유형을 선택합니다.
참고: 영구 파일 시스템은 장기 스토리지 및 워크로드에 사용하십시오. 스크래치 파일 시스템은 임시 스토리지 및 단기 데이터 처리에 사용하십시오. -
파일 시스템 ID(예: fs-0123456789abcdef0)를 복사합니다. 시작 템플릿을 실행하려면 파일 시스템 ID가 있어야 합니다.
-
사용자 데이터 섹션을 포함하고 MIME 멀티파트 파일 형식을 사용하는 시작 템플릿을 생성합니다. 자세한 내용은 Cloud-init 웹사이트의 Mime 멀티파트 아카이브를 참조하십시오.
다음 Amazon Linux 2 MIME 멀티파트 파일 예시를 참조하십시오. fs-0123456789abcdef0을 파일 시스템 ID로, us-east-1을 AWS 리전으로, xxxxxxxx를 8자의 Amazon FSx 마운트 이름으로 바꿉니다.Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" MIME-Version: 1.0 --==MYBOUNDARY== Content-Type: text/cloud-boothook; charset="us-ascii" file_system_id=fs-0123456789abcdef0 region=us-east-1 fsx_directory=/scratch fsx_mount_name=xxxxxxxx amazon-linux-extras install -y lustre2.10 mkdir -p ${fsx_directory} mount -t lustre -o noatime,flock ${file_system_id}.fsx.${region}.amazonaws.com@tcp:/${fsx_mount_name} ${fsx_directory} --==MYBOUNDARY==--
참고: 이 MIME 멀티파트 파일 예시는 Extras 라이브러리에서 Lustre 2.10 패키지를 설치하도록 컴퓨팅 리소스를 구성합니다. 또한 파일은 기존 Amazon FSx for Lustre 파일 시스템을 /scratch에 마운트합니다. 다른 Linux 배포판에 대한 설치 지침은 Lustre 클라이언트 설치를 참조하십시오.
-
다음 Amazon Linux 2 예시와 같이 템플릿을 시작하여 사용자 데이터를 호출합니다.
{ "LaunchTemplateName": "user-data", "LaunchTemplateData": { "UserData": "TUlNRS1W...<base64 encoded userdata>..." } }
참고: 사용자 데이터를 Amazon EC2 콘솔의 시작 템플릿에 추가하는 경우 사용자 데이터를 일반 텍스트로 붙여넣거나 파일에서 사용자 데이터를 업로드하십시오. AWS CLI 또는 AWS SDK를 사용하는 경우 먼저 사용자 데이터를 base64로 인코딩해야 합니다. 자세한 내용은 base64encode 웹사이트에서 base64 형식으로 인코딩을 참조하십시오. 그런 다음 CreateLaunchTemplate을 호출할 때 문자열을 UserData 파라미터의 값으로 제출합니다.
-
mount-fsx-lustre.json이라는 파일을 생성합니다.
참고: 사용 사례에 따라 볼륨 크기를 조정하십시오. -
create-launch-template AWS CLI 명령을 실행하여 5단계에서 생성한 mount-fsx-lustre.json 파일을 기반으로 시작 템플릿을 생성합니다. us-east-1을 원하는 리전으로 바꿉니다.
aws ec2 --region us-east-1 create-launch-template --cli-input-json file://mount-fsx-lustre.json
출력 예시:
{ "LaunchTemplate": { "LaunchTemplateId": "lt-08cb09d54bcf551f3", "LaunchTemplateName": "fsx-test", "CreateTime": "2020-06-30T17:13:22.000Z", "CreatedBy": "arn:aws:iam::12345678999:user/test", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
-
새 컴퓨팅 환경을 생성하고 환경을 시작 템플릿과 연결합니다. AWS Batch가 인스턴스를 가동하면 Amazon FSx for Lustre 파일 시스템이 컨테이너 인스턴스에 마운트됩니다.
중요: 기본적으로 AWS Batch 관리형 컴퓨팅 환경은 Amazon Elastic Container Service(Amazon ECS)에 최적화된 AMI의 승인된 버전을 컴퓨팅 리소스에 사용합니다. Amazon ECS에 최적화된 Amazon Linux 2 AMI와 기타 Linux 배포판의 AMI ID를 명시적으로 설정해야 합니다. -
파일 시스템이 컨테이너 인스턴스에 마운트되었는지 확인하려면 SSH를 사용하여 AWS Batch에서 시작한 인스턴스에 연결합니다. 그리고 다음 Linux df 명령을 실행합니다.
$ df -h
출력 예시:
Filesystem Size Used Avail Used% Mounted ondevtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 448K 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/xvda1 30G 4.2G 25G 15% / 172.31.79.79@tcp:/xxxxxxxx 1.1T 4.5M 1.1T 1% /scratch tmpfs 798M 0 798M 0% /run/user/1000
참고: /scratch는 자동으로 마운트됩니다.
-
AWS Batch에서 볼륨과 마운트 지점을 포함하는 작업 정의를 생성합니다.
{ "jobDefinitionName": "Fsx-sample", "jobDefinitionArn": "arn:aws:batch:us-east-1:12345678999:job-definition/userdata:1", "revision": 1, "status": "ACTIVE", "type": "container", "parameters": {}, "containerProperties": { "image": "busybox", "vcpus": 1, "memory": 1024, "command": [], "volumes": [ { "host": { "sourcePath": "/scratch" }, "name": "Scratch" } ], "environment": [], "mountPoints": [ { "containerPath": "/scratch", "sourceVolume": "Scratch" } ], "ulimits": [], "resourceRequirements": [] } }
-
AWS Batch 작업을 제출하려면 9단계에서 생성한 작업 정의를 사용하십시오.
관련 콘텐츠
- AWS 공식업데이트됨 일 년 전