기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
프라이빗 워크플로 생성
HealthOmics 콘솔, AWS CLI 명령 또는 AWS SDKs 중 하나를 사용하여 워크플로를 생성합니다.
참고
워크플로 이름에 개인 식별 정보(PII)를 포함하지 마세요. 이러한 이름은 CloudWatch 로그에 표시됩니다.
워크플로를 생성하면 HealthOmics는 워크플로에 범용 고유 식별자(UUID)를 할당합니다. 워크플로 UUID는 워크플로 및 워크플로 버전에서 고유한 글로벌 고유 식별자(guid)입니다. 데이터 출처를 위해 워크플로 UUID를 사용하여 워크플로를 고유하게 식별하는 것이 좋습니다.
워크플로 작업에서 외부 도구(실행 파일, 라이브러리 또는 스크립트)를 사용하는 경우 이러한 도구를 컨테이너 이미지에 빌드합니다. 컨테이너 이미지를 호스팅하는 옵션은 다음과 같습니다.
-
ECR 프라이빗 레지스트리에서 컨테이너 이미지를 호스팅합니다. 이 옵션의 사전 조건:
-
ECR 프라이빗 리포지토리를 생성하거나 기존 리포지토리를 선택합니다.
-
에 설명된 대로 ECR 리소스 정책을 구성합니다Amazon ECR 권한.
-
컨테이너 이미지를 프라이빗 리포지토리에 업로드합니다.
-
-
컨테이너 이미지를 지원되는 타사 레지스트리의 콘텐츠와 동기화합니다. 이 옵션의 사전 조건:
-
ECR 프라이빗 레지스트리에서 각 업스트림 레지스트리에 대한 풀스루 캐시 규칙을 구성합니다. 자세한 내용은 이미지 매핑 단원을 참조하십시오.
-
에 설명된 대로 ECR 리소스 정책을 구성합니다Amazon ECR 권한.
-
리포지토리 생성 템플릿을 생성합니다. 템플릿은 Amazon ECR이 업스트림 레지스트리에 대한 프라이빗 리포지토리를 생성할 때의 설정을 정의합니다.
-
접두사 매핑을 생성하여 워크플로 정의의 컨테이너 이미지 참조를 ECR 캐시 네임스페이스에 다시 매핑합니다.
-
콘솔을 사용하여 워크플로 생성
워크플로를 생성하는 단계
-
HealthOmics 콘솔
을 엽니다. -
필요한 경우 왼쪽 탐색 창(™)을 엽니다. 프라이빗 워크플로를 선택합니다.
-
프라이빗 워크플로 페이지에서 워크플로 생성을 선택합니다.
-
워크플로 정의 페이지에서 다음 정보를 제공합니다.
-
워크플로 이름:이 워크플로의 고유한 이름입니다. AWS HealthOmics 콘솔 및 CloudWatch 로그에서 실행을 구성하려면 워크플로 이름을 설정하는 것이 좋습니다.
-
설명(선택 사항):이 워크플로에 대한 설명입니다.
-
-
워크플로 정의 패널에서 다음 정보를 제공합니다.
-
워크플로 언어(선택 사항): 워크플로의 사양 언어를 선택합니다. 그렇지 않으면 HealthOmics가 워크플로 정의에서 언어를 결정합니다.
-
워크플로 정의 소스에서 Git 기반 리포지토리, Amazon S3 위치 또는 로컬 드라이브에서 정의 폴더를 가져오도록 선택합니다.
-
리포지토리 서비스에서 가져오기의 경우:
참고
HealthOmics는 GitHub, , GitLab, Bitbucket,에 대한 퍼블릭 및 프라이빗 리포지토리GitHub self-managed를 지원합니다GitLab self-managed.
-
연결을 선택하여 AWS 리소스를 외부 리포지토리에 연결합니다. 연결을 생성하려면 섹션을 참조하세요외부 코드 리포지토리와 연결.
참고
TLV 리전의 고객은 IAD (us-east-1) 리전에서 연결을 생성하여 워크플로를 생성해야 합니다.
-
전체 리포지토리 ID에 리포지토리 ID를 user-name/repo-name으로 입력합니다. 이 리포지토리의 파일에 액세스할 수 있는지 확인합니다.
-
소스 참조(선택 사항)에 리포지토리 소스 참조(브랜치, 태그 또는 커밋 ID)를 입력합니다. HealthOmics는 소스 참조가 지정되지 않은 경우 기본 브랜치를 사용합니다.
-
파일 패턴 제외에 파일 패턴을 입력하여 특정 폴더, 파일 또는 확장명을 제외합니다. 이렇게 하면 리포지토리 파일을 가져올 때 데이터 크기를 관리하는 데 도움이 됩니다. 패턴은 최대 50개이며 패턴은 glob 패턴 구문
을 따라야 합니다. 예: -
tests/
-
*.jpeg
-
large_data.zip
-
-
-
S3에서 정의 폴더 선택의 경우:
-
압축된 워크플로 정의 폴더가 포함된 Amazon S3 위치를 입력합니다. Amazon S3 버킷은 워크플로와 동일한 리전에 있어야 합니다.
-
계정이 Amazon S3 버킷을 소유하지 않은 경우 S3 버킷 소유자의 AWS 계정 ID에 버킷 소유자의 계정 ID를 입력합니다. S3 이 정보는 HealthOmics가 버킷 소유권을 확인할 수 있도록 하기 위해 필요합니다.
-
-
로컬 소스에서 정의 폴더 선택의 경우:
-
압축된 워크플로 정의 폴더의 로컬 드라이브 위치를 입력합니다.
-
-
-
기본 워크플로 정의 파일 경로(선택 사항): 압축된 워크플로 정의 폴더 또는 리포지토리에서 파일로의
main
파일 경로를 입력합니다. 워크플로 정의 폴더에 파일이 하나만 있거나 기본 파일의 이름이 "main"인 경우에는이 파라미터가 필요하지 않습니다.
-
-
README 파일(선택 사항) 패널에서 README 파일의 소스를 선택하고 다음 정보를 제공합니다.
-
리포지토리 서비스에서 가져오기의 README 파일 경로에 리포지토리 내의 README 파일 경로를 입력합니다.
-
S3에서 파일 선택의 S3의 README 파일에 README 파일의 Amazon S3 URI를 입력합니다.
-
로컬 소스에서 파일 선택: README - 선택 사항에서 파일 선택을 선택하여 업로드할 마크다운(.md) 파일을 선택합니다.
-
-
기본 실행 스토리지 구성 패널에서이 워크플로를 사용하는 실행에 대한 기본 실행 스토리지 유형 및 용량을 제공합니다.
-
실행 스토리지 유형: 정적 또는 동적 스토리지를 임시 실행 스토리지의 기본값으로 사용할지 여부를 선택합니다. 기본값은 정적 스토리지입니다.
-
스토리지 용량 실행(선택 사항): 정적 실행 스토리지 유형의 경우이 워크플로에 필요한 기본 실행 스토리지 양을 입력할 수 있습니다. 이 파라미터의 기본값은 1200GiB입니다. 실행을 시작할 때 이러한 기본값을 재정의할 수 있습니다.
-
-
태그(선택 사항):이 워크플로에 최대 50개의 태그를 연결할 수 있습니다.
-
다음을 선택합니다.
-
워크플로 파라미터 추가(선택 사항) 페이지에서 파라미터 소스를 선택합니다.
-
워크플로 정의 파일에서 구문 분석의 경우 HealthOmics는 워크플로 정의 파일에서 워크플로 파라미터를 자동으로 구문 분석합니다.
-
Git 리포지토리의 파라미터 템플릿 제공에서 리포지토리의 파라미터 템플릿 파일 경로를 사용합니다.
-
로컬 소스에서 JSON 파일 선택에서 파라미터를 지정하는 로컬 소스에서 JSON 파일을 업로드합니다.
-
워크플로 파라미터를 수동으로 입력하려면 파라미터 이름과 설명을 수동으로 입력합니다.
-
-
파라미터 미리 보기 패널에서이 워크플로 버전의 파라미터를 검토하거나 변경할 수 있습니다. JSON 파일을 복원하면 로컬 변경 사항이 손실됩니다.
-
다음을 선택합니다.
-
컨테이너 URI 다시 매핑 페이지의 매핑 규칙 패널에서 워크플로에 대한 URI 매핑 규칙을 정의할 수 있습니다.
매핑 파일 소스에서 다음 옵션 중 하나를 선택합니다.
-
없음 - 매핑 규칙이 필요하지 않습니다.
-
S3에서 JSON 파일 선택 - 매핑 파일의 S3 위치를 지정합니다.
-
로컬 소스에서 JSON 파일 선택 - 로컬 디바이스에서 매핑 파일 위치를 지정합니다.
-
수동으로 매핑 입력 - 매핑 패널에 레지스트리 매핑 및 이미지 매핑을 입력합니다.
-
콘솔에 매핑 패널이 표시됩니다. 매핑 소스 파일을 선택한 경우 콘솔에 파일의 값이 표시됩니다.
-
레지스트리 매핑에서 매핑을 편집하거나 매핑을 추가할 수 있습니다(최대 20개의 레지스트리 매핑).
각 레지스트리 매핑에는 다음 필드가 포함됩니다.
-
업스트림 레지스트리 URL - 업스트림 레지스트리의 URI입니다.
-
ECR 리포지토리 접두사 - Amazon ECR 프라이빗 리포지토리에서 사용할 리포지토리 접두사입니다.
-
(선택 사항) 업스트림 리포지토리 접두사 - 업스트림 레지스트리에 있는 리포지토리의 접두사입니다.
-
(선택 사항) ECR 계정 ID - 업스트림 컨테이너 이미지를 소유한 계정의 계정 ID입니다.
-
-
이미지 매핑에서 이미지 매핑을 편집하거나 매핑을 추가할 수 있습니다(최대 100개의 이미지 매핑).
각 이미지 매핑에는 다음 필드가 포함됩니다.
-
소스 이미지 - 업스트림 레지스트리에서 소스 이미지의 URI를 지정합니다.
-
대상 이미지 - 프라이빗 Amazon ECR 레지스트리에서 해당 이미지의 URI를 지정합니다.
-
-
-
다음을 선택합니다.
-
워크플로 구성을 검토한 다음 워크플로 생성을 선택합니다.
CLI를 사용하여 워크플로 생성
워크플로와 파라미터를 정의한 후 다음과 같이 CLI를 사용하여 워크플로를 생성할 수 있습니다.
aws omics create-workflow \ --name "my_workflow" \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json
워크플로 정의 파일이 Amazon S3 폴더에 있는 경우 대신 definition-uri
파라미터를 사용하여 위치를 입력합니다definition-zip
. 자세한 내용은 AWS HealthOmics API 참조의 CreateWorkflow를 참조하세요.
create-workflow
요청은 다음과 같이 응답합니다.
{ "arn": "arn:aws:omics:us-west-2:....", "id": "1234567", "status": "CREATING", "tags": { "resourceArn": "arn:aws:omics:us-west-2:...." }, "uuid": "64c9a39e-8302-cc45-0262-2ea7116d854f" }
워크플로를 생성할 때 사용할 선택적 파라미터
워크플로를 생성할 때 선택적 파라미터를 지정할 수 있습니다. 구문 세부 정보는 AWS HealthOmics API 참조의 CreateWorkflow를 참조하세요.
풀스루 캐시 매핑 파라미터 구성
Amazon ECR 풀스루 캐시 매핑 기능을 사용하는 경우 기본 매핑을 재정의할 수 있습니다. 컨테이너 설정 파라미터에 대한 자세한 내용은 섹션을 참조하세요프라이빗 워크플로용 컨테이너 이미지.
다음 예제에서 파일에는이 콘텐츠가 mappings.json
포함되어 있습니다.
{ "registryMappings": [ { "upstreamRegistryUrl": "registry-1.docker.io", "ecrRepositoryPrefix": "docker-hub" }, { "upstreamRegistryUrl": "quay.io", "ecrRepositoryPrefix": "quay", "accountId": "123412341234" }, { "upstreamRegistryUrl": "public.ecr.aws", "ecrRepositoryPrefix": "ecr-public" } ], "imageMappings": [{ "sourceImage": "docker.io/library/ubuntu:latest", "destinationImage": "healthomics-docker-2/custom/ubuntu:latest", "accountId": "123412341234" }, { "sourceImage": "nvcr.io/nvidia/k8s/dcgm-exporter", "destinationImage": "healthomics-nvidia/k8s/dcgm-exporter" } ] }
create-workflow 명령에서 매핑 파라미터를 지정합니다.
aws omics create-workflow \ ... --container-registry-map-file file://mappings.json ...
매핑 파라미터 파일의 S3 위치를 지정할 수도 있습니다.
aws omics create-workflow \ ... --container-registry-map-uri s3://amzn-s3-demo-bucket1/test.zip ...
definition-uri 파라미터 지정
여러 워크플로 정의 파일을 포함하는 경우 main
파라미터를 사용하여 워크플로의 기본 정의 파일인 파일을 지정합니다.
워크플로 정의 파일을 Amazon S3 폴더에 업로드한 경우 다음 예제와 같이 definition-uri
파라미터를 사용하여 위치를 지정합니다. 계정이 Amazon S3 버킷을 소유하지 않은 경우 소유자의 AWS 계정 ID를 입력합니다.
aws omics create-workflow \ --name Test \ --definition-uri s3://omics-bucket/workflow-definition/ \ --owner-id 123456789012 ...
main 정의 파일 지정
여러 워크플로 정의 파일을 포함하는 경우 main
파라미터를 사용하여 워크플로의 기본 정의 파일을 지정합니다.
aws omics create-workflow \ --name Test \ --main multi_workflow/workflow2.wdl \ ...
실행 스토리지 파라미터 사용
기본 실행 스토리지 유형(DYNAMIC 또는 STATIC)과 실행 스토리지 용량(정적 스토리지에 필요)을 지정할 수 있습니다. 실행 스토리지 유형에 대한 자세한 내용은 섹션을 참조하세요HealthOmics 워크플로에서 스토리지 유형 실행.
aws omics create-workflow \ --name my_workflow \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json \ --storage-type 'STATIC' \ --storage-capacity 1200 \
accelerators 파라미터 사용
액셀러레이터 파라미터를 사용하여 가속 컴퓨팅 인스턴스에서 실행되는 워크플로를 생성합니다. 다음 예제에서는 accelerators
파라미터를 사용하는 방법을 보여줍니다. 워크플로 정의에서 GPU 구성을 지정합니다. 가속 컴퓨팅 인스턴스을(를) 참조하세요.
aws omics create-workflow --name
\ --definition-uri s3://amzn-s3-demo-bucket1/GPUWorkflow.zip \ --accelerators GPU
workflow name
SDK를 사용하여 워크플로 생성
SDKs. 다음 예제에서는 Python SDK를 사용하여 워크플로를 생성하는 방법을 보여줍니다.
import boto3 omics = boto3.client('omics') with open('definition.zip', 'rb') as f: definition = f.read() response = omics.create_workflow( name='my_workflow', definitionZip=definition, parameterTemplate={ ... } )