AWS Batch 작업에 대한 Amazon EC2 인스턴스의 ID 또는 IP 주소를 가져오려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 2월 25일

AWS Batch 작업에 대한 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 ID 또는 IP 주소를 가져오려고 합니다.

간략한 설명

AWS Batch 작업에서 실행되는 Amazon EC2 인스턴스에 대한 정보를 가져오려면 먼저 작업의 컨테이너 ID를 가져와야 합니다. 그런 다음 컨테이너 인스턴스 ID를 사용하여 EC2 인스턴스 ID를 가져올 수 있습니다. 마지막으로 EC2 인스턴스 ID를 사용하여 해당 인스턴스의 IP 주소를 가져올 수 있습니다.

​해결 방법

AWS Batch 작업의 컨테이너 인스턴스 ID 가져오기

1.    AWS Batch 작업의 컨테이너 인스턴스 ID를 가져오려면 다음 describe-jobs 명령을 실행합니다.

$ aws batch describe-jobs --jobs YourJobID

출력은 컨테이너 인스턴스 ID를 포함하여 작업의 모든 속성과 파라미터를 설명합니다. containerInstanceArn 속성은 컨테이너 인스턴스 ID를 표시합니다. 다음 예제를 참조하십시오.

{
    "jobs": [
        {
            "status": "SUCCEEDED",
            "container": {
                "mountPoints": [],
                "taskArn": "arn:aws:ecs:us-east-1:1234567890:task/8fde8ebf-c5d8-40ca-8999-b0c2185f577a",
                "logStreamName": "job-definition/default/8fde8ebf-c5d8-40ca-8999-b0c2185f577a",
                "image": "busybox",
                "containerInstanceArn": "arn:aws:ecs:us-east-1:1234567890:container-instance/Your_Container_Instance_ID",
                "environment": [],
                "vcpus": 2,
                "jobRoleArn": "arn:aws:iam::1234567890:role/ecsTaskExecutionRole",
                "volumes": [],
                "memory": 2000,
                "command": [
                    "echo",
                    "'hello world'"
                ],
            },
}

2.    AWS Batch 컴퓨팅 환경에 해당하는 Amazon Elastic Container Service(Amazon ECS) 클러스터를 찾으려면 Amazon ECS 콘솔을 열고 [Clusters(클러스터)]를 선택합니다.

참고: 생성하는 각 AWS Batch 컴퓨팅 환경에는 해당하는 Amazon ECS 클러스터가 있습니다.

3.    [Services(서비스)] 탭에서 다음 형식으로 표시되는 클러스터 이름을 검색합니다. ComputeEnvironmentName_Batch_RandomStringOfCharacters

작업의 EC2 인스턴스 ID 가져오기

EC2 인스턴스 ID를 가져오려면 describe-container-instances 명령을 실행하고 이전 1단계에서 검색한 컨테이너 인스턴스 ID를 전달합니다.

$ aws ecs describe-container-instances --cluster Your_Cluster_Name --container-instances Your_Container_Instance_ID

출력은 EC2 인스턴스 ID를 표시합니다. 다음 예제를 참조하십시오.

CONTAINERINSTANCES          True     arn:aws:ecs:us-east-1:1234567890:container-instance/Your_EC2_Instance_ID           i-0ab1cdefghij23k45    0          1234567890.12           0          ACTIVE 5

인스턴스의 IP 주소 가져오기

이제 EC2 인스턴스 ID가 있으므로 해당 ID를 사용하여 EC2 인스턴스의 IP 주소를 찾을 수 있습니다.

1.    Amazon EC2 콘솔을 엽니다.

2.    [Running instances(실행 중인 인스턴스)]을 선택합니다.

3.    [Instance ID(인스턴스 ID)] 열에서 앞서 검색한 인스턴스 ID를 찾습니다.

4.    이전 3단계에서 식별한 인스턴스의 경우 [IPv4 Public IP(IPv4 퍼블릭 IP)] 주소 열에서 해당 IP 주소를 찾습니다.

다중 노드 AWS Batch 작업에 대한 인스턴스 정보 가져오기

하위 작업의 컨테이너 인스턴스 ID를 가져오려면 개별 하위 작업에 대해 다음 describe-jobs 명령을 실행합니다.

$ aws batch describe-jobs --jobs Your_Job_ID#1

중요: 각 하위 작업이 고유한 노드에 있으므로 상위 작업에는 컨테이너 인스턴스에 대한 정보가 없습니다. 하위 작업의 경우 노드 표기법을 사용하여 하위 작업의 인덱스를 작업 ID에 추가합니다. 앞의 명령에서 #1은 작업의 첫 번째 노드에 액세스합니다. #2는 두 번째 노드에 액세스합니다. 자세한 내용은 다중 노드 병렬 작업을 참조하십시오.

EC2 인스턴스 ID를 가져오려면 describe-container-instances 명령을 실행하고 앞서 검색한 컨테이너 인스턴스 ID를 전달합니다.

$ aws ecs describe-container-instances --cluster Your_Cluster_Name --container-instances Your_Container_Instance_ID

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?