본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

AWS Elastic Compute Cloud

원문 보기 위키 갱신

AWS Elastic Compute Cloud (EC2)

AWS2 EC2 컴포넌트는 AWS EC2 인스턴스를 생성(create), 실행(run), 시작(start), 중지(stop), 종료(terminate)할 수 있게 해 주는 컴포넌트예요. Camel 3.1부터 제공됐고 producer만 지원합니다. region, pojoRequest, 자격 증명 관련 옵션들을 설정할 수 있어요.

출처: 문서

본문

Camel 3.1부터 지원

producer만 지원해요

AWS2 EC2 컴포넌트는 AWS EC2 인스턴스의 create, run, start, stop, terminate를 지원해요.

준비물 (Prerequisites)

유효한 Amazon Web Services 개발자 계정이 있고 Amazon EC2를 사용하도록 가입되어 있어야 해요. 자세한 정보는 Amazon EC2에서 확인할 수 있습니다.

URI 형식 (URI Format)

aws2-ec2://label[?options]

다음 형식으로 URI에 쿼리 옵션을 붙일 수 있어요:

?options=value&option2=value&…​

옵션 설정 방법 (Configuring Options)

Camel 컴포넌트는 두 단계로 나눠 설정합니다:

  • 컴포넌트(component) 레벨

  • 엔드포인트(endpoint) 레벨

컴포넌트 옵션 설정 (Configuring Component Options)

컴포넌트 레벨에서는 엔드포인트들이 이어서 물려받는 일반적이고 공유되는 설정을 해요. 가장 상위의 설정 레벨이죠.

예를 들어 컴포넌트에는 보안 설정, 인증용 자격 증명, 네트워크 연결 URL 같은 것들이 있을 수 있어요.

컴포넌트에 따라 옵션이 몇 개뿐인 것도 있고 아주 많은 것도 있어요. 컴포넌트는 보통 널리 쓰이는 기본값이 미리 설정되어 있어서, 몇 가지 옵션만 설정하거나 아예 하나도 건드리지 않아도 되는 경우가 많아요.

컴포넌트는 다음 방법으로 설정할 수 있어요:

  • the Component DSL.

  • 설정 파일(application.properties, *.yaml 파일 등).

  • Java 코드에서 직접.

엔드포인트 옵션 설정 (Configuring Endpoint Options)

엔드포인트는 옵션이 많아서 설정에 시간을 더 쓰게 될 거예요. 이 옵션들이 엔드포인트가 원하는 일을 하도록 커스터마이즈해 줘요. 옵션은 엔드포인트가 consumer(from)로 쓰이는지, producer(to)로 쓰이는지, 둘 다인지에 따라 분류되기도 해요.

엔드포인트 설정은 대부분 엔드포인트 URI에 _path_와 query 파라미터로 바로 하는 경우가 많아요. Java에서 엔드포인트와 데이터 포맷을 _타입 세이프_하게 설정하려면 Endpoint DSL과 DataFormat DSL을 쓸 수도 있어요.

옵션을 설정할 때 좋은 습관은 Property Placeholders를 사용하는 거예요.

프로퍼티 플레이스홀더는 이런 장점이 있어요:

  • URL, 포트 번호, 민감한 정보 같은 설정을 하드코딩하는 걸 막아 줘요.

  • 설정을 코드 밖으로 분리할 수 있어요.

  • 코드가 더 유연해지고 재사용하기 좋아져요.

다음 두 섹션에서 모든 옵션을 나열해요. 먼저 컴포넌트 옵션, 그다음 엔드포인트 옵션 순서예요.

컴포넌트 옵션 (Component Options)

AWS EC2 컴포넌트가 지원하는 옵션은 아래와 같아요.

Name Description Default Type
amazonEc2Client (producer) Autowired 이미 설정된 AmazonEC2Client 클라이언트를 사용해요. Ec2Client
configuration (producer) 컴포넌트 설정이에요. AWS2EC2Configuration
lazyStartProducer (producer) producer를 lazy(첫 메시지 시점)로 시작할지 여부예요. lazy 시작을 쓰면 producer가 시작 중 실패해서 라우트 시작이 실패하는 상황에서도 CamelContext와 라우트를 시작할 수 있고, 시작 실패 처리를 Camel의 라우팅 에러 핸들러로 넘길 수 있어요. 다만 첫 메시지를 처리하는 시점에 producer를 만들고 시작하는 데 시간이 조금 걸려서 전체 처리 시간이 길어질 수 있다는 점은 유의하세요. false boolean
operation (producer)

필수 수행할 연산이에요. createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags, deleteTags 중 하나예요.

Enum values:

  • createAndRunInstances

  • startInstances

  • stopInstances

  • terminateInstances

  • describeInstances

  • describeInstancesStatus

  • rebootInstances

  • monitorInstances

  • unmonitorInstances

  • createTags

  • deleteTags

| | AWS2EC2Operations | | overrideEndpoint (producer) | 엔드포인트를 오버라이드할 필요가 있는지 설정해요. 이 옵션은 uriEndpointOverride 옵션과 조합해서 써야 합니다. | false | boolean | | pojoRequest (producer) | POJO 요청을 본문으로 쓸지 여부예요. | false | boolean | | region (producer) |

EC2 클라이언트가 동작할 리전이에요. 이 파라미터를 쓰면 설정은 리전의 소문자 이름(예: ap-east-1)을 기대하고, Region.EU_WEST_1.id() 형태의 이름을 써야 해요.

Enum values:

  • ap-south-2

  • ap-south-1

  • eu-south-1

  • eu-south-2

  • us-gov-east-1

  • me-central-1

  • il-central-1

  • ca-central-1

  • eu-central-1

  • us-iso-west-1

  • eu-central-2

  • eu-isoe-west-1

  • us-west-1

  • us-west-2

  • af-south-1

  • eu-north-1

  • eu-west-3

  • eu-west-2

  • eu-west-1

  • ap-northeast-3

  • ap-northeast-2

  • ap-northeast-1

  • me-south-1

  • sa-east-1

  • ap-east-1

  • cn-north-1

  • ca-west-1

  • us-gov-west-1

  • ap-southeast-1

  • ap-southeast-2

  • us-iso-east-1

  • ap-southeast-3

  • ap-southeast-4

  • us-east-1

  • us-east-2

  • cn-northwest-1

  • us-isob-east-1

  • aws-global

  • aws-cn-global

  • aws-us-gov-global

  • aws-iso-global

  • aws-iso-b-global

| | String | | uriEndpointOverride (producer) | 오버라이드할 URI 엔드포인트를 설정해요. 이 옵션은 overrideEndpoint 옵션과 조합해서 써야 합니다. | | String | | autowiredEnabled (advanced) | 오토와이어링 사용 여부예요. 레지스트리에서 일치하는 타입의 인스턴스가 하나만 있는지 찾아서 컴포넌트에 자동으로 설정하는(옵션이 autowired로 표시돼 있어야 함) 자동 오토와이어링에 쓰입니다. JDBC 데이터 소스, JMS 커넥션 팩토리, AWS 클라이언트 등을 자동 설정할 때 유용해요. | true | boolean | | healthCheckConsumerEnabled (health) | 이 컴포넌트의 consumer 기반 헬스 체크를 모두 켜고 끌 때 사용해요. | true | boolean | | healthCheckProducerEnabled (health) | 이 컴포넌트의 producer 기반 헬스 체크를 모두 켜고 끌 때 사용해요. 참고: Camel은 기본으로 producer 기반 헬스 체크를 모두 꺼 둬요. camel.health.producersEnabled=true로 설정하면 producer 헬스 체크를 전역으로 켤 수 있습니다. | true | boolean | | proxyHost (proxy) | EC2 클라이언트를 만들 때 사용할 프록시 호스트를 지정해요. | | String | | proxyPort (proxy) | EC2 클라이언트를 만들 때 사용할 프록시 포트를 지정해요. | | Integer | | proxyProtocol (proxy) |

EC2 클라이언트를 만들 때 사용할 프록시 프로토콜을 지정해요.

Enum values:

  • HTTP

  • HTTPS

| HTTPS | Protocol | | accessKey (security) | Amazon AWS Access Key예요. | | String | | profileCredentialsName (security) | 프로파일 자격 증명 프로바이더를 쓸 때 이 파라미터가 프로파일 이름을 지정해요. | | String | | secretKey (security) | Amazon AWS Secret Key예요. | | String | | sessionToken (security) | 사용자가 IAM 역할을 수행(assume)해야 할 때 쓰는 Amazon AWS Session Token이에요. | | String | | trustAllCertificates (security) | 엔드포인트를 오버라이드하는 경우 모든 인증서를 신뢰할지 여부예요. | false | boolean | | useDefaultCredentialsProvider (security) | EC2 클라이언트가 기본 자격 증명 프로바이더를 통해 자격 증명을 읽을지, 아니면 정적 자격 증명이 전달될 것으로 기대할지 설정해요. | false | boolean | | useProfileCredentialsProvider (security) | EC2 클라이언트가 프로파일 자격 증명 프로바이더를 통해 자격 증명을 읽을지 설정해요. | false | boolean | | useSessionCredentials (security) | EC2 클라이언트가 세션 자격 증명(Session Credentials)을 쓸지 설정해요. EC2에서 연산을 수행하기 위해 사용자가 IAM 역할을 수행(assume)해야 하는 상황에서 유용합니다. | false | boolean |

엔드포인트 옵션 (Endpoint Options)

AWS EC2 엔드포인트는 다음 URI 문법으로 설정해요:

aws2-ec2:label

다음 _path_와 query 파라미터를 씁니다:

경로 파라미터 (Path Parameters)

Name Description Default Type
label (producer) 필수 논리적 이름이에요. String

쿼리 파라미터 (Query Parameters)

Name Description Default Type
amazonEc2Client (producer) Autowired 이미 설정된 AmazonEC2Client 클라이언트를 사용해요. Ec2Client
operation (producer)

필수 수행할 연산이에요. createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags, deleteTags 중 하나예요.

Enum values:

  • createAndRunInstances

  • startInstances

  • stopInstances

  • terminateInstances

  • describeInstances

  • describeInstancesStatus

  • rebootInstances

  • monitorInstances

  • unmonitorInstances

  • createTags

  • deleteTags

| | AWS2EC2Operations | | overrideEndpoint (producer) | 엔드포인트를 오버라이드할 필요가 있는지 설정해요. 이 옵션은 uriEndpointOverride 옵션과 조합해서 써야 합니다. | false | boolean | | pojoRequest (producer) | POJO 요청을 본문으로 쓸지 여부예요. | false | boolean | | region (producer) |

EC2 클라이언트가 동작할 리전이에요. 이 파라미터를 쓰면 설정은 리전의 소문자 이름(예: ap-east-1)을 기대하고, Region.EU_WEST_1.id() 형태의 이름을 써야 해요.

Enum values:

  • ap-south-2

  • ap-south-1

  • eu-south-1

  • eu-south-2

  • us-gov-east-1

  • me-central-1

  • il-central-1

  • ca-central-1

  • eu-central-1

  • us-iso-west-1

  • eu-central-2

  • eu-isoe-west-1

  • us-west-1

  • us-west-2

  • af-south-1

  • eu-north-1

  • eu-west-3

  • eu-west-2

  • eu-west-1

  • ap-northeast-3

  • ap-northeast-2

  • ap-northeast-1

  • me-south-1

  • sa-east-1

  • ap-east-1

  • cn-north-1

  • ca-west-1

  • us-gov-west-1

  • ap-southeast-1

  • ap-southeast-2

  • us-iso-east-1

  • ap-southeast-3

  • ap-southeast-4

  • us-east-1

  • us-east-2

  • cn-northwest-1

  • us-isob-east-1

  • aws-global

  • aws-cn-global

  • aws-us-gov-global

  • aws-iso-global

  • aws-iso-b-global

| | String | | uriEndpointOverride (producer) | 오버라이드할 URI 엔드포인트를 설정해요. 이 옵션은 overrideEndpoint 옵션과 조합해서 써야 합니다. | | String | | lazyStartProducer (producer (advanced)) | producer를 lazy(첫 메시지 시점)로 시작할지 여부예요. lazy 시작을 쓰면 producer가 시작 중 실패해서 라우트 시작이 실패하는 상황에서도 CamelContext와 라우트를 시작할 수 있고, 시작 실패 처리를 Camel의 라우팅 에러 핸들러로 넘길 수 있어요. 다만 첫 메시지를 처리하는 시점에 producer를 만들고 시작하는 데 시간이 조금 걸려서 전체 처리 시간이 길어질 수 있다는 점은 유의하세요. | false | boolean | | proxyHost (proxy) | EC2 클라이언트를 만들 때 사용할 프록시 호스트를 지정해요. | | String | | proxyPort (proxy) | EC2 클라이언트를 만들 때 사용할 프록시 포트를 지정해요. | | Integer | | proxyProtocol (proxy) |

EC2 클라이언트를 만들 때 사용할 프록시 프로토콜을 지정해요.

Enum values:

  • HTTP

  • HTTPS

| HTTPS | Protocol | | accessKey (security) | Amazon AWS Access Key예요. | | String | | profileCredentialsName (security) | 프로파일 자격 증명 프로바이더를 쓸 때 이 파라미터가 프로파일 이름을 지정해요. | | String | | secretKey (security) | Amazon AWS Secret Key예요. | | String | | sessionToken (security) | 사용자가 IAM 역할을 수행(assume)해야 할 때 쓰는 Amazon AWS Session Token이에요. | | String | | trustAllCertificates (security) | 엔드포인트를 오버라이드하는 경우 모든 인증서를 신뢰할지 여부예요. | false | boolean | | useDefaultCredentialsProvider (security) | EC2 클라이언트가 기본 자격 증명 프로바이더를 통해 자격 증명을 읽을지, 아니면 정적 자격 증명이 전달될 것으로 기대할지 설정해요. | false | boolean | | useProfileCredentialsProvider (security) | EC2 클라이언트가 프로파일 자격 증명 프로바이더를 통해 자격 증명을 읽을지 설정해요. | false | boolean | | useSessionCredentials (security) | EC2 클라이언트가 세션 자격 증명(Session Credentials)을 쓸지 설정해요. EC2에서 연산을 수행하기 위해 사용자가 IAM 역할을 수행(assume)해야 하는 상황에서 유용합니다. | false | boolean |

메시지 헤더 (Message Headers)

AWS EC2 컴포넌트가 지원하는 메시지 헤더는 아래와 같아요:

Name Description Default Type
CamelAwsEC2ImageId (producer) Constant: IMAGE_ID AWS marketplace의 이미지 ID예요. String
CamelAwsEC2InstanceType (producer) Constant: INSTANCE_TYPE

생성하고 실행하려는 인스턴스 타입이에요.

Enum values:

  • a1.medium

  • a1.large

  • a1.xlarge

  • a1.2xlarge

  • a1.4xlarge

  • a1.metal

  • c1.medium

  • c1.xlarge

  • c3.large

  • c3.xlarge

  • c3.2xlarge

  • c3.4xlarge

  • c3.8xlarge

  • c4.large

  • c4.xlarge

  • c4.2xlarge

  • c4.4xlarge

  • c4.8xlarge

  • c5.large

  • c5.xlarge

  • c5.2xlarge

  • c5.4xlarge

  • c5.9xlarge

  • c5.12xlarge

  • c5.18xlarge

  • c5.24xlarge

  • c5.metal

  • c5a.large

  • c5a.xlarge

  • c5a.2xlarge

  • c5a.4xlarge

  • c5a.8xlarge

  • c5a.12xlarge

  • c5a.16xlarge

  • c5a.24xlarge

  • c5ad.large

  • c5ad.xlarge

  • c5ad.2xlarge

  • c5ad.4xlarge

  • c5ad.8xlarge

  • c5ad.12xlarge

  • c5ad.16xlarge

  • c5ad.24xlarge

  • c5d.large

  • c5d.xlarge

  • c5d.2xlarge

  • c5d.4xlarge

  • c5d.9xlarge

  • c5d.12xlarge

  • c5d.18xlarge

  • c5d.24xlarge

  • c5d.metal

  • c5n.large

  • c5n.xlarge

  • c5n.2xlarge

  • c5n.4xlarge

  • c5n.9xlarge

  • c5n.18xlarge

  • c5n.metal

  • c6g.medium

  • c6g.large

  • c6g.xlarge

  • c6g.2xlarge

  • c6g.4xlarge

  • c6g.8xlarge

  • c6g.12xlarge

  • c6g.16xlarge

  • c6g.metal

  • c6gd.medium

  • c6gd.large

  • c6gd.xlarge

  • c6gd.2xlarge

  • c6gd.4xlarge

  • c6gd.8xlarge

  • c6gd.12xlarge

  • c6gd.16xlarge

  • c6gd.metal

  • c6gn.medium

  • c6gn.large

  • c6gn.xlarge

  • c6gn.2xlarge

  • c6gn.4xlarge

  • c6gn.8xlarge

  • c6gn.12xlarge

  • c6gn.16xlarge

  • c6i.large

  • c6i.xlarge

  • c6i.2xlarge

  • c6i.4xlarge

  • c6i.8xlarge

  • c6i.12xlarge

  • c6i.16xlarge

  • c6i.24xlarge

  • c6i.32xlarge

  • c6i.metal

  • cc1.4xlarge

  • cc2.8xlarge

  • cg1.4xlarge

  • cr1.8xlarge

  • d2.xlarge

  • d2.2xlarge

  • d2.4xlarge

  • d2.8xlarge

  • d3.xlarge

  • d3.2xlarge

  • d3.4xlarge

  • d3.8xlarge

  • d3en.xlarge

  • d3en.2xlarge

  • d3en.4xlarge

  • d3en.6xlarge

  • d3en.8xlarge

  • d3en.12xlarge

  • dl1.24xlarge

  • f1.2xlarge

  • f1.4xlarge

  • f1.16xlarge

  • g2.2xlarge

  • g2.8xlarge

  • g3.4xlarge

  • g3.8xlarge

  • g3.16xlarge

  • g3s.xlarge

  • g4ad.xlarge

  • g4ad.2xlarge

  • g4ad.4xlarge

  • g4ad.8xlarge

  • g4ad.16xlarge

  • g4dn.xlarge

  • g4dn.2xlarge

  • g4dn.4xlarge

  • g4dn.8xlarge

  • g4dn.12xlarge

  • g4dn.16xlarge

  • g4dn.metal

  • g5.xlarge

  • g5.2xlarge

  • g5.4xlarge

  • g5.8xlarge

  • g5.12xlarge

  • g5.16xlarge

  • g5.24xlarge

  • g5.48xlarge

  • g5g.xlarge

  • g5g.2xlarge

  • g5g.4xlarge

  • g5g.8xlarge

  • g5g.16xlarge

  • g5g.metal

  • hi1.4xlarge

  • hpc6a.48xlarge

  • hs1.8xlarge

  • h1.2xlarge

  • h1.4xlarge

  • h1.8xlarge

  • h1.16xlarge

  • i2.xlarge

  • i2.2xlarge

  • i2.4xlarge

  • i2.8xlarge

  • i3.large

  • i3.xlarge

  • i3.2xlarge

  • i3.4xlarge

  • i3.8xlarge

  • i3.16xlarge

  • i3.metal

  • i3en.large

  • i3en.xlarge

  • i3en.2xlarge

  • i3en.3xlarge

  • i3en.6xlarge

  • i3en.12xlarge

  • i3en.24xlarge

  • i3en.metal

  • im4gn.large

  • im4gn.xlarge

  • im4gn.2xlarge

  • im4gn.4xlarge

  • im4gn.8xlarge

  • im4gn.16xlarge

  • inf1.xlarge

  • inf1.2xlarge

  • inf1.6xlarge

  • inf1.24xlarge

  • is4gen.medium

  • is4gen.large

  • is4gen.xlarge

  • is4gen.2xlarge

  • is4gen.4xlarge

  • is4gen.8xlarge

  • m1.small

  • m1.medium

  • m1.large

  • m1.xlarge

  • m2.xlarge

  • m2.2xlarge

  • m2.4xlarge

  • m3.medium

  • m3.large

  • m3.xlarge

  • m3.2xlarge

  • m4.large

  • m4.xlarge

  • m4.2xlarge

  • m4.4xlarge

  • m4.10xlarge

  • m4.16xlarge

  • m5.large

  • m5.xlarge

  • m5.2xlarge

  • m5.4xlarge

  • m5.8xlarge

  • m5.12xlarge

  • m5.16xlarge

  • m5.24xlarge

  • m5.metal

  • m5a.large

  • m5a.xlarge

  • m5a.2xlarge

  • m5a.4xlarge

  • m5a.8xlarge

  • m5a.12xlarge

  • m5a.16xlarge

  • m5a.24xlarge

  • m5ad.large

  • m5ad.xlarge

  • m5ad.2xlarge

  • m5ad.4xlarge

  • m5ad.8xlarge

  • m5ad.12xlarge

  • m5ad.16xlarge

  • m5ad.24xlarge

  • m5d.large

  • m5d.xlarge

  • m5d.2xlarge

  • m5d.4xlarge

  • m5d.8xlarge

  • m5d.12xlarge

  • m5d.16xlarge

  • m5d.24xlarge

  • m5d.metal

  • m5dn.large

  • m5dn.xlarge

  • m5dn.2xlarge

  • m5dn.4xlarge

  • m5dn.8xlarge

  • m5dn.12xlarge

  • m5dn.16xlarge

  • m5dn.24xlarge

  • m5dn.metal

  • m5n.large

  • m5n.xlarge

  • m5n.2xlarge

  • m5n.4xlarge

  • m5n.8xlarge

  • m5n.12xlarge

  • m5n.16xlarge

  • m5n.24xlarge

  • m5n.metal

  • m5zn.large

  • m5zn.xlarge

  • m5zn.2xlarge

  • m5zn.3xlarge

  • m5zn.6xlarge

  • m5zn.12xlarge

  • m5zn.metal

  • m6a.large

  • m6a.xlarge

  • m6a.2xlarge

  • m6a.4xlarge

  • m6a.8xlarge

  • m6a.12xlarge

  • m6a.16xlarge

  • m6a.24xlarge

  • m6a.32xlarge

  • m6a.48xlarge

  • m6g.metal

  • m6g.medium

  • m6g.large

  • m6g.xlarge

  • m6g.2xlarge

  • m6g.4xlarge

  • m6g.8xlarge

  • m6g.12xlarge

  • m6g.16xlarge

  • m6gd.metal

  • m6gd.medium

  • m6gd.large

  • m6gd.xlarge

  • m6gd.2xlarge

  • m6gd.4xlarge

  • m6gd.8xlarge

  • m6gd.12xlarge

  • m6gd.16xlarge

  • m6i.large

  • m6i.xlarge

  • m6i.2xlarge

  • m6i.4xlarge

  • m6i.8xlarge

  • m6i.12xlarge

  • m6i.16xlarge

  • m6i.24xlarge

  • m6i.32xlarge

  • m6i.metal

  • mac1.metal

  • p2.xlarge

  • p2.8xlarge

  • p2.16xlarge

  • p3.2xlarge

  • p3.8xlarge

  • p3.16xlarge

  • p3dn.24xlarge

  • p4d.24xlarge

  • r3.large

  • r3.xlarge

  • r3.2xlarge

  • r3.4xlarge

  • r3.8xlarge

  • r4.large

  • r4.xlarge

  • r4.2xlarge

  • r4.4xlarge

  • r4.8xlarge

  • r4.16xlarge

  • r5.large

  • r5.xlarge

  • r5.2xlarge

  • r5.4xlarge

  • r5.8xlarge

  • r5.12xlarge

  • r5.16xlarge

  • r5.24xlarge

  • r5.metal

  • r5a.large

  • r5a.xlarge

  • r5a.2xlarge

  • r5a.4xlarge

  • r5a.8xlarge

  • r5a.12xlarge

  • r5a.16xlarge

  • r5a.24xlarge

  • r5ad.large

  • r5ad.xlarge

  • r5ad.2xlarge

  • r5ad.4xlarge

  • r5ad.8xlarge

  • r5ad.12xlarge

  • r5ad.16xlarge

  • r5ad.24xlarge

  • r5b.large

  • r5b.xlarge

  • r5b.2xlarge

  • r5b.4xlarge

  • r5b.8xlarge

  • r5b.12xlarge

  • r5b.16xlarge

  • r5b.24xlarge

  • r5b.metal

  • r5d.large

  • r5d.xlarge

  • r5d.2xlarge

  • r5d.4xlarge

  • r5d.8xlarge

  • r5d.12xlarge

  • r5d.16xlarge

  • r5d.24xlarge

  • r5d.metal

  • r5dn.large

  • r5dn.xlarge

  • r5dn.2xlarge

  • r5dn.4xlarge

  • r5dn.8xlarge

  • r5dn.12xlarge

  • r5dn.16xlarge

  • r5dn.24xlarge

  • r5dn.metal

  • r5n.large

  • r5n.xlarge

  • r5n.2xlarge

  • r5n.4xlarge

  • r5n.8xlarge

  • r5n.12xlarge

  • r5n.16xlarge

  • r5n.24xlarge

  • r5n.metal

  • r6g.medium

  • r6g.large

  • r6g.xlarge

  • r6g.2xlarge

  • r6g.4xlarge

  • r6g.8xlarge

  • r6g.12xlarge

  • r6g.16xlarge

  • r6g.metal

  • r6gd.medium

  • r6gd.large

  • r6gd.xlarge

  • r6gd.2xlarge

  • r6gd.4xlarge

  • r6gd.8xlarge

  • r6gd.12xlarge

  • r6gd.16xlarge

  • r6gd.metal

  • r6i.large

  • r6i.xlarge

  • r6i.2xlarge

  • r6i.4xlarge

  • r6i.8xlarge

  • r6i.12xlarge

  • r6i.16xlarge

  • r6i.24xlarge

  • r6i.32xlarge

  • r6i.metal

  • t1.micro

  • t2.nano

  • t2.micro

  • t2.small

  • t2.medium

  • t2.large

  • t2.xlarge

  • t2.2xlarge

  • t3.nano

  • t3.micro

  • t3.small

  • t3.medium

  • t3.large

  • t3.xlarge

  • t3.2xlarge

  • t3a.nano

  • t3a.micro

  • t3a.small

  • t3a.medium

  • t3a.large

  • t3a.xlarge

  • t3a.2xlarge

  • t4g.nano

  • t4g.micro

  • t4g.small

  • t4g.medium

  • t4g.large

  • t4g.xlarge

  • t4g.2xlarge

  • u-6tb1.56xlarge

  • u-6tb1.112xlarge

  • u-9tb1.112xlarge

  • u-12tb1.112xlarge

  • u-6tb1.metal

  • u-9tb1.metal

  • u-12tb1.metal

  • u-18tb1.metal

  • u-24tb1.metal

  • vt1.3xlarge

  • vt1.6xlarge

  • vt1.24xlarge

  • x1.16xlarge

  • x1.32xlarge

  • x1e.xlarge

  • x1e.2xlarge

  • x1e.4xlarge

  • x1e.8xlarge

  • x1e.16xlarge

  • x1e.32xlarge

  • x2iezn.2xlarge

  • x2iezn.4xlarge

  • x2iezn.6xlarge

  • x2iezn.8xlarge

  • x2iezn.12xlarge

  • x2iezn.metal

  • x2gd.medium

  • x2gd.large

  • x2gd.xlarge

  • x2gd.2xlarge

  • x2gd.4xlarge

  • x2gd.8xlarge

  • x2gd.12xlarge

  • x2gd.16xlarge

  • x2gd.metal

  • z1d.large

  • z1d.xlarge

  • z1d.2xlarge

  • z1d.3xlarge

  • z1d.6xlarge

  • z1d.12xlarge

  • z1d.metal

  • x2idn.16xlarge

  • x2idn.24xlarge

  • x2idn.32xlarge

  • x2iedn.xlarge

  • x2iedn.2xlarge

  • x2iedn.4xlarge

  • x2iedn.8xlarge

  • x2iedn.16xlarge

  • x2iedn.24xlarge

  • x2iedn.32xlarge

  • c6a.large

  • c6a.xlarge

  • c6a.2xlarge

  • c6a.4xlarge

  • c6a.8xlarge

  • c6a.12xlarge

  • c6a.16xlarge

  • c6a.24xlarge

  • c6a.32xlarge

  • c6a.48xlarge

  • c6a.metal

  • m6a.metal

  • i4i.large

  • i4i.xlarge

  • i4i.2xlarge

  • i4i.4xlarge

  • i4i.8xlarge

  • i4i.16xlarge

  • i4i.32xlarge

  • i4i.metal

  • x2idn.metal

  • x2iedn.metal

  • c7g.medium

  • c7g.large

  • c7g.xlarge

  • c7g.2xlarge

  • c7g.4xlarge

  • c7g.8xlarge

  • c7g.12xlarge

  • c7g.16xlarge

  • mac2.metal

  • c6id.large

  • c6id.xlarge

  • c6id.2xlarge

  • c6id.4xlarge

  • c6id.8xlarge

  • c6id.12xlarge

  • c6id.16xlarge

  • c6id.24xlarge

  • c6id.32xlarge

  • c6id.metal

  • m6id.large

  • m6id.xlarge

  • m6id.2xlarge

  • m6id.4xlarge

  • m6id.8xlarge

  • m6id.12xlarge

  • m6id.16xlarge

  • m6id.24xlarge

  • m6id.32xlarge

  • m6id.metal

  • r6id.large

  • r6id.xlarge

  • r6id.2xlarge

  • r6id.4xlarge

  • r6id.8xlarge

  • r6id.12xlarge

  • r6id.16xlarge

  • r6id.24xlarge

  • r6id.32xlarge

  • r6id.metal

  • r6a.large

  • r6a.xlarge

  • r6a.2xlarge

  • r6a.4xlarge

  • r6a.8xlarge

  • r6a.12xlarge

  • r6a.16xlarge

  • r6a.24xlarge

  • r6a.32xlarge

  • r6a.48xlarge

  • r6a.metal

  • p4de.24xlarge

  • u-3tb1.56xlarge

  • u-18tb1.112xlarge

  • u-24tb1.112xlarge

  • trn1.2xlarge

  • trn1.32xlarge

  • hpc6id.32xlarge

  • c6in.large

  • c6in.xlarge

  • c6in.2xlarge

  • c6in.4xlarge

  • c6in.8xlarge

  • c6in.12xlarge

  • c6in.16xlarge

  • c6in.24xlarge

  • c6in.32xlarge

  • m6in.large

  • m6in.xlarge

  • m6in.2xlarge

  • m6in.4xlarge

  • m6in.8xlarge

  • m6in.12xlarge

  • m6in.16xlarge

  • m6in.24xlarge

  • m6in.32xlarge

  • m6idn.large

  • m6idn.xlarge

  • m6idn.2xlarge

  • m6idn.4xlarge

  • m6idn.8xlarge

  • m6idn.12xlarge

  • m6idn.16xlarge

  • m6idn.24xlarge

  • m6idn.32xlarge

  • r6in.large

  • r6in.xlarge

  • r6in.2xlarge

  • r6in.4xlarge

  • r6in.8xlarge

  • r6in.12xlarge

  • r6in.16xlarge

  • r6in.24xlarge

  • r6in.32xlarge

  • r6idn.large

  • r6idn.xlarge

  • r6idn.2xlarge

  • r6idn.4xlarge

  • r6idn.8xlarge

  • r6idn.12xlarge

  • r6idn.16xlarge

  • r6idn.24xlarge

  • r6idn.32xlarge

  • c7g.metal

  • m7g.medium

  • m7g.large

  • m7g.xlarge

  • m7g.2xlarge

  • m7g.4xlarge

  • m7g.8xlarge

  • m7g.12xlarge

  • m7g.16xlarge

  • m7g.metal

  • r7g.medium

  • r7g.large

  • r7g.xlarge

  • r7g.2xlarge

  • r7g.4xlarge

  • r7g.8xlarge

  • r7g.12xlarge

  • r7g.16xlarge

  • r7g.metal

  • c6in.metal

  • m6in.metal

  • m6idn.metal

  • r6in.metal

  • r6idn.metal

  • inf2.xlarge

  • inf2.8xlarge

  • inf2.24xlarge

  • inf2.48xlarge

  • trn1n.32xlarge

  • i4g.large

  • i4g.xlarge

  • i4g.2xlarge

  • i4g.4xlarge

  • i4g.8xlarge

  • i4g.16xlarge

  • hpc7g.4xlarge

  • hpc7g.8xlarge

  • hpc7g.16xlarge

  • c7gn.medium

  • c7gn.large

  • c7gn.xlarge

  • c7gn.2xlarge

  • c7gn.4xlarge

  • c7gn.8xlarge

  • c7gn.12xlarge

  • c7gn.16xlarge

  • p5.48xlarge

  • m7i.large

  • m7i.xlarge

  • m7i.2xlarge

  • m7i.4xlarge

  • m7i.8xlarge

  • m7i.12xlarge

  • m7i.16xlarge

  • m7i.24xlarge

  • m7i.48xlarge

  • m7i-flex.large

  • m7i-flex.xlarge

  • m7i-flex.2xlarge

  • m7i-flex.4xlarge

  • m7i-flex.8xlarge

  • m7a.medium

  • m7a.large

  • m7a.xlarge

  • m7a.2xlarge

  • m7a.4xlarge

  • m7a.8xlarge

  • m7a.12xlarge

  • m7a.16xlarge

  • m7a.24xlarge

  • m7a.32xlarge

  • m7a.48xlarge

  • m7a.metal-48xl

  • hpc7a.12xlarge

  • hpc7a.24xlarge

  • hpc7a.48xlarge

  • hpc7a.96xlarge

  • c7gd.medium

  • c7gd.large

  • c7gd.xlarge

  • c7gd.2xlarge

  • c7gd.4xlarge

  • c7gd.8xlarge

  • c7gd.12xlarge

  • c7gd.16xlarge

  • m7gd.medium

  • m7gd.large

  • m7gd.xlarge

  • m7gd.2xlarge

  • m7gd.4xlarge

  • m7gd.8xlarge

  • m7gd.12xlarge

  • m7gd.16xlarge

  • r7gd.medium

  • r7gd.large

  • r7gd.xlarge

  • r7gd.2xlarge

  • r7gd.4xlarge

  • r7gd.8xlarge

  • r7gd.12xlarge

  • r7gd.16xlarge

  • r7a.medium

  • r7a.large

  • r7a.xlarge

  • r7a.2xlarge

  • r7a.4xlarge

  • r7a.8xlarge

  • r7a.12xlarge

  • r7a.16xlarge

  • r7a.24xlarge

  • r7a.32xlarge

  • r7a.48xlarge

  • c7i.large

  • c7i.xlarge

  • c7i.2xlarge

  • c7i.4xlarge

  • c7i.8xlarge

  • c7i.12xlarge

  • c7i.16xlarge

  • c7i.24xlarge

  • c7i.48xlarge

  • mac2-m2pro.metal

  • r7iz.large

  • r7iz.xlarge

  • r7iz.2xlarge

  • r7iz.4xlarge

  • r7iz.8xlarge

  • r7iz.12xlarge

  • r7iz.16xlarge

  • r7iz.32xlarge

  • c7a.medium

  • c7a.large

  • c7a.xlarge

  • c7a.2xlarge

  • c7a.4xlarge

  • c7a.8xlarge

  • c7a.12xlarge

  • c7a.16xlarge

  • c7a.24xlarge

  • c7a.32xlarge

  • c7a.48xlarge

  • c7a.metal-48xl

  • r7a.metal-48xl

  • r7i.large

  • r7i.xlarge

  • r7i.2xlarge

  • r7i.4xlarge

  • r7i.8xlarge

  • r7i.12xlarge

  • r7i.16xlarge

  • r7i.24xlarge

  • r7i.48xlarge

  • dl2q.24xlarge

  • mac2-m2.metal

  • i4i.12xlarge

  • i4i.24xlarge

  • c7i.metal-24xl

  • c7i.metal-48xl

  • m7i.metal-24xl

  • m7i.metal-48xl

  • r7i.metal-24xl

  • r7i.metal-48xl

  • r7iz.metal-16xl

  • r7iz.metal-32xl

  • c7gd.metal

  • m7gd.metal

  • r7gd.metal

  • g6.xlarge

  • g6.2xlarge

  • g6.4xlarge

  • g6.8xlarge

  • g6.12xlarge

  • g6.16xlarge

  • g6.24xlarge

  • g6.48xlarge

  • gr6.4xlarge

  • gr6.8xlarge

  • c7i-flex.large

  • c7i-flex.xlarge

  • c7i-flex.2xlarge

  • c7i-flex.4xlarge

  • c7i-flex.8xlarge

  • u7i-12tb.224xlarge

  • u7in-16tb.224xlarge

  • u7in-24tb.224xlarge

  • u7in-32tb.224xlarge

  • u7ib-12tb.224xlarge

  • c7gn.metal

  • r8g.medium

  • r8g.large

  • r8g.xlarge

  • r8g.2xlarge

  • r8g.4xlarge

  • r8g.8xlarge

  • r8g.12xlarge

  • r8g.16xlarge

  • r8g.24xlarge

  • r8g.48xlarge

  • r8g.metal-24xl

  • r8g.metal-48xl

  • mac2-m1ultra.metal

  • g6e.xlarge

  • g6e.2xlarge

  • g6e.4xlarge

  • g6e.8xlarge

  • g6e.12xlarge

  • g6e.16xlarge

  • g6e.24xlarge

  • g6e.48xlarge

  • c8g.medium

  • c8g.large

  • c8g.xlarge

  • c8g.2xlarge

  • c8g.4xlarge

  • c8g.8xlarge

  • c8g.12xlarge

  • c8g.16xlarge

  • c8g.24xlarge

  • c8g.48xlarge

  • c8g.metal-24xl

  • c8g.metal-48xl

  • m8g.medium

  • m8g.large

  • m8g.xlarge

  • m8g.2xlarge

  • m8g.4xlarge

  • m8g.8xlarge

  • m8g.12xlarge

  • m8g.16xlarge

  • m8g.24xlarge

  • m8g.48xlarge

  • m8g.metal-24xl

  • m8g.metal-48xl

  • x8g.medium

  • x8g.large

  • x8g.xlarge

  • x8g.2xlarge

  • x8g.4xlarge

  • x8g.8xlarge

  • x8g.12xlarge

  • x8g.16xlarge

  • x8g.24xlarge

  • x8g.48xlarge

  • x8g.metal-24xl

  • x8g.metal-48xl

  • i7ie.large

  • i7ie.xlarge

  • i7ie.2xlarge

  • i7ie.3xlarge

  • i7ie.6xlarge

  • i7ie.12xlarge

  • i7ie.18xlarge

  • i7ie.24xlarge

  • i7ie.48xlarge

  • i8g.large

  • i8g.xlarge

  • i8g.2xlarge

  • i8g.4xlarge

  • i8g.8xlarge

  • i8g.12xlarge

  • i8g.16xlarge

  • i8g.24xlarge

  • i8g.metal-24xl

  • u7i-6tb.112xlarge

  • u7i-8tb.112xlarge

  • u7inh-32tb.480xlarge

  • p5e.48xlarge

  • p5en.48xlarge

  • f2.12xlarge

  • f2.48xlarge

  • trn2.48xlarge

  • c7i-flex.12xlarge

  • c7i-flex.16xlarge

  • m7i-flex.12xlarge

  • m7i-flex.16xlarge

  • i7ie.metal-24xl

  • i7ie.metal-48xl

  • i8g.48xlarge

  • c8gd.medium

  • c8gd.large

  • c8gd.xlarge

  • c8gd.2xlarge

  • c8gd.4xlarge

  • c8gd.8xlarge

  • c8gd.12xlarge

  • c8gd.16xlarge

  • c8gd.24xlarge

  • c8gd.48xlarge

  • c8gd.metal-24xl

  • c8gd.metal-48xl

  • i7i.large

  • i7i.xlarge

  • i7i.2xlarge

  • i7i.4xlarge

  • i7i.8xlarge

  • i7i.12xlarge

  • i7i.16xlarge

  • i7i.24xlarge

  • i7i.48xlarge

  • i7i.metal-24xl

  • i7i.metal-48xl

  • p6-b200.48xlarge

  • m8gd.medium

  • m8gd.large

  • m8gd.xlarge

  • m8gd.2xlarge

  • m8gd.4xlarge

  • m8gd.8xlarge

  • m8gd.12xlarge

  • m8gd.16xlarge

  • m8gd.24xlarge

  • m8gd.48xlarge

  • m8gd.metal-24xl

  • m8gd.metal-48xl

  • r8gd.medium

  • r8gd.large

  • r8gd.xlarge

  • r8gd.2xlarge

  • r8gd.4xlarge

  • r8gd.8xlarge

  • r8gd.12xlarge

  • r8gd.16xlarge

  • r8gd.24xlarge

  • r8gd.48xlarge

  • r8gd.metal-24xl

  • r8gd.metal-48xl

  • c8gn.medium

  • c8gn.large

  • c8gn.xlarge

  • c8gn.2xlarge

  • c8gn.4xlarge

  • c8gn.8xlarge

  • c8gn.12xlarge

  • c8gn.16xlarge

  • c8gn.24xlarge

  • c8gn.48xlarge

  • c8gn.metal-24xl

  • c8gn.metal-48xl

  • f2.6xlarge

  • p6e-gb200.36xlarge

  • g6f.large

  • g6f.xlarge

  • g6f.2xlarge

  • g6f.4xlarge

  • gr6f.4xlarge

  • p5.4xlarge

  • r8i.large

  • r8i.xlarge

  • r8i.2xlarge

  • r8i.4xlarge

  • r8i.8xlarge

  • r8i.12xlarge

  • r8i.16xlarge

  • r8i.24xlarge

  • r8i.32xlarge

  • r8i.48xlarge

  • r8i.96xlarge

  • r8i.metal-48xl

  • r8i.metal-96xl

  • r8i-flex.large

  • r8i-flex.xlarge

  • r8i-flex.2xlarge

  • r8i-flex.4xlarge

  • r8i-flex.8xlarge

  • r8i-flex.12xlarge

  • r8i-flex.16xlarge

  • m8i.large

  • m8i.xlarge

  • m8i.2xlarge

  • m8i.4xlarge

  • m8i.8xlarge

  • m8i.12xlarge

  • m8i.16xlarge

  • m8i.24xlarge

  • m8i.32xlarge

  • m8i.48xlarge

  • m8i.96xlarge

  • m8i.metal-48xl

  • m8i.metal-96xl

  • m8i-flex.large

  • m8i-flex.xlarge

  • m8i-flex.2xlarge

  • m8i-flex.4xlarge

  • m8i-flex.8xlarge

  • m8i-flex.12xlarge

  • m8i-flex.16xlarge

  • i8ge.large

  • i8ge.xlarge

  • i8ge.2xlarge

  • i8ge.3xlarge

  • i8ge.6xlarge

  • i8ge.12xlarge

  • i8ge.18xlarge

  • i8ge.24xlarge

  • i8ge.48xlarge

  • i8ge.metal-24xl

  • i8ge.metal-48xl

  • mac-m4.metal

  • mac-m4pro.metal

  • r8gn.medium

  • r8gn.large

  • r8gn.xlarge

  • r8gn.2xlarge

  • r8gn.4xlarge

  • r8gn.8xlarge

  • r8gn.12xlarge

  • r8gn.16xlarge

  • r8gn.24xlarge

  • r8gn.48xlarge

  • r8gn.metal-24xl

  • r8gn.metal-48xl

  • c8i.large

  • c8i.xlarge

  • c8i.2xlarge

  • c8i.4xlarge

  • c8i.8xlarge

  • c8i.12xlarge

  • c8i.16xlarge

  • c8i.24xlarge

  • c8i.32xlarge

  • c8i.48xlarge

  • c8i.96xlarge

  • c8i.metal-48xl

  • c8i.metal-96xl

  • c8i-flex.large

  • c8i-flex.xlarge

  • c8i-flex.2xlarge

  • c8i-flex.4xlarge

  • c8i-flex.8xlarge

  • c8i-flex.12xlarge

  • c8i-flex.16xlarge

  • r8gb.medium

  • r8gb.large

  • r8gb.xlarge

  • r8gb.2xlarge

  • r8gb.4xlarge

  • r8gb.8xlarge

  • r8gb.12xlarge

  • r8gb.16xlarge

  • r8gb.24xlarge

  • r8gb.metal-24xl

  • m8a.medium

  • m8a.large

  • m8a.xlarge

  • m8a.2xlarge

  • m8a.4xlarge

  • m8a.8xlarge

  • m8a.12xlarge

  • m8a.16xlarge

  • m8a.24xlarge

  • m8a.48xlarge

  • m8a.metal-24xl

  • m8a.metal-48xl

  • trn2.3xlarge

  • r8a.medium

  • r8a.large

  • r8a.xlarge

  • r8a.2xlarge

  • r8a.4xlarge

  • r8a.8xlarge

  • r8a.12xlarge

  • r8a.16xlarge

  • r8a.24xlarge

  • r8a.48xlarge

  • r8a.metal-24xl

  • r8a.metal-48xl

  • p6-b300.48xlarge

  • c8a.medium

  • c8a.large

  • c8a.xlarge

  • c8a.2xlarge

  • c8a.4xlarge

  • c8a.8xlarge

  • c8a.12xlarge

  • c8a.16xlarge

  • c8a.24xlarge

  • c8a.48xlarge

  • c8a.metal-24xl

  • c8a.metal-48xl

  • c8gb.12xlarge

  • c8gb.16xlarge

  • c8gb.24xlarge

  • c8gb.2xlarge

  • c8gb.4xlarge

  • c8gb.8xlarge

  • c8gb.large

  • c8gb.medium

  • c8gb.metal-24xl

  • c8gb.xlarge

  • c8gb.48xlarge

  • c8gb.metal-48xl

  • m8gb.12xlarge

  • m8gb.16xlarge

  • m8gb.24xlarge

  • m8gb.2xlarge

  • m8gb.4xlarge

  • m8gb.8xlarge

  • m8gb.large

  • m8gb.medium

  • m8gb.xlarge

  • m8gb.48xlarge

  • m8gb.metal-24xl

  • m8gb.metal-48xl

  • m8gn.12xlarge

  • m8gn.16xlarge

  • m8gn.24xlarge

  • m8gn.2xlarge

  • m8gn.48xlarge

  • m8gn.4xlarge

  • m8gn.8xlarge

  • m8gn.large

  • m8gn.medium

  • m8gn.xlarge

  • m8gn.metal-24xl

  • m8gn.metal-48xl

  • x8aedz.12xlarge

  • x8aedz.24xlarge

  • x8aedz.3xlarge

  • x8aedz.6xlarge

  • x8aedz.large

  • x8aedz.metal-12xl

  • x8aedz.metal-24xl

  • x8aedz.xlarge

  • m8azn.medium

  • m8azn.large

  • m8azn.xlarge

  • m8azn.3xlarge

  • m8azn.6xlarge

  • m8azn.12xlarge

  • m8azn.24xlarge

  • m8azn.metal-12xl

  • m8azn.metal-24xl

  • x8i.large

  • x8i.xlarge

  • x8i.2xlarge

  • x8i.4xlarge

  • x8i.8xlarge

  • x8i.12xlarge

  • x8i.16xlarge

  • x8i.24xlarge

  • x8i.32xlarge

  • x8i.48xlarge

  • x8i.64xlarge

  • x8i.96xlarge

  • x8i.metal-48xl

  • x8i.metal-96xl

  • mac-m4max.metal

  • g7e.2xlarge

  • g7e.4xlarge

  • g7e.8xlarge

  • g7e.12xlarge

  • g7e.24xlarge

  • g7e.48xlarge

  • r8id.large

  • r8id.xlarge

  • r8id.2xlarge

  • r8id.4xlarge

  • r8id.8xlarge

  • r8id.12xlarge

  • r8id.16xlarge

  • r8id.24xlarge

  • r8id.32xlarge

  • r8id.48xlarge

  • r8id.96xlarge

  • r8id.metal-48xl

  • r8id.metal-96xl

  • c8id.large

  • c8id.xlarge

  • c8id.2xlarge

  • c8id.4xlarge

  • c8id.8xlarge

  • c8id.12xlarge

  • c8id.16xlarge

  • c8id.24xlarge

  • c8id.32xlarge

  • c8id.48xlarge

  • c8id.96xlarge

  • c8id.metal-48xl

  • c8id.metal-96xl

  • m8id.large

  • m8id.xlarge

  • m8id.2xlarge

  • m8id.4xlarge

  • m8id.8xlarge

  • m8id.12xlarge

  • m8id.16xlarge

  • m8id.24xlarge

  • m8id.32xlarge

  • m8id.48xlarge

  • m8id.96xlarge

  • m8id.metal-48xl

  • m8id.metal-96xl

  • hpc8a.96xlarge

  • c8in.large

  • c8in.xlarge

  • c8in.2xlarge

  • c8in.4xlarge

  • c8in.8xlarge

  • c8in.12xlarge

  • c8in.16xlarge

  • c8in.24xlarge

  • c8in.32xlarge

  • c8in.48xlarge

  • c8in.96xlarge

  • c8in.metal-48xl

  • c8in.metal-96xl

  • c8ib.large

  • c8ib.xlarge

  • c8ib.2xlarge

  • c8ib.4xlarge

  • c8ib.8xlarge

  • c8ib.12xlarge

  • c8ib.16xlarge

  • c8ib.24xlarge

  • c8ib.32xlarge

  • c8ib.48xlarge

  • c8ib.96xlarge

  • c8ib.metal-48xl

  • c8ib.metal-96xl

  • r8in.large

  • r8in.xlarge

  • r8in.2xlarge

  • r8in.4xlarge

  • r8in.8xlarge

  • r8in.12xlarge

  • r8in.16xlarge

  • r8in.24xlarge

  • r8in.32xlarge

  • r8in.48xlarge

  • r8in.96xlarge

  • r8ib.large

  • r8ib.xlarge

  • r8ib.2xlarge

  • r8ib.4xlarge

  • r8ib.8xlarge

  • r8ib.12xlarge

  • r8ib.16xlarge

  • r8ib.24xlarge

  • r8ib.32xlarge

  • r8ib.48xlarge

  • r8ib.96xlarge

  • m8in.large

  • m8in.xlarge

  • m8in.2xlarge

  • m8in.4xlarge

  • m8in.8xlarge

  • m8in.12xlarge

  • m8in.16xlarge

  • m8in.24xlarge

  • m8in.32xlarge

  • m8in.48xlarge

  • m8in.96xlarge

  • m8ib.large

  • m8ib.xlarge

  • m8ib.2xlarge

  • m8ib.4xlarge

  • m8ib.8xlarge

  • m8ib.12xlarge

  • m8ib.16xlarge

  • m8ib.24xlarge

  • m8ib.32xlarge

  • m8ib.48xlarge

  • m8ib.96xlarge

  • m8ine.large

  • m8ine.xlarge

  • m8ine.2xlarge

  • m8ine.4xlarge

  • m8ine.8xlarge

  • m8ine.12xlarge

  • c8ine.large

  • c8ine.xlarge

  • c8ine.2xlarge

  • c8ine.4xlarge

  • c8ine.8xlarge

  • c8ine.12xlarge

  • m8idn.large

  • m8idn.xlarge

  • m8idn.2xlarge

  • m8idn.4xlarge

  • m8idn.8xlarge

  • m8idn.12xlarge

  • m8idn.16xlarge

  • m8idn.24xlarge

  • m8idn.32xlarge

  • m8idn.48xlarge

  • m8idn.96xlarge

  • r8idn.large

  • r8idn.xlarge

  • r8idn.2xlarge

  • r8idn.4xlarge

  • r8idn.8xlarge

  • r8idn.12xlarge

  • r8idn.16xlarge

  • r8idn.24xlarge

  • r8idn.32xlarge

  • r8idn.48xlarge

  • r8idn.96xlarge

  • m8idb.large

  • m8idb.xlarge

  • m8idb.2xlarge

  • m8idb.4xlarge

  • m8idb.8xlarge

  • m8idb.12xlarge

  • m8idb.16xlarge

  • m8idb.24xlarge

  • m8idb.32xlarge

  • m8idb.48xlarge

  • m8idb.96xlarge

  • r8idb.large

  • r8idb.xlarge

  • r8idb.2xlarge

  • r8idb.4xlarge

  • r8idb.8xlarge

  • r8idb.12xlarge

  • r8idb.16xlarge

  • r8idb.24xlarge

  • r8idb.32xlarge

  • r8idb.48xlarge

  • r8idb.96xlarge

  • mac-m3ultra.metal

  • m9g.large

  • m9g.xlarge

  • m9g.2xlarge

  • m9g.4xlarge

  • m9g.8xlarge

  • m9g.12xlarge

  • m9g.16xlarge

  • m9g.24xlarge

  • m9g.48xlarge

  • m9g.metal-24xl

  • m9g.metal-48xl

  • m9gd.large

  • m9gd.xlarge

  • m9gd.2xlarge

  • m9gd.4xlarge

  • m9gd.8xlarge

  • m9gd.12xlarge

  • m9gd.16xlarge

  • m9gd.24xlarge

  • m9gd.48xlarge

  • m9gd.metal-24xl

  • m9gd.metal-48xl

  • r8in.metal-48xl

  • r8in.metal-96xl

  • r8ib.metal-48xl

  • r8ib.metal-96xl

  • r8idn.metal-48xl

  • r8idn.metal-96xl

  • r8idb.metal-48xl

  • r8idb.metal-96xl

  • m8in.metal-48xl

  • m8in.metal-96xl

  • m8ib.metal-48xl

  • m8ib.metal-96xl

  • m8idn.metal-48xl

  • m8idn.metal-96xl

  • m8idb.metal-48xl

  • m8idb.metal-96xl

  • g7.2xlarge

  • g7.4xlarge

  • g7.8xlarge

  • g7.12xlarge

  • g7.24xlarge

  • g7.48xlarge

  • c9g.medium

  • c9g.large

  • c9g.xlarge

  • c9g.2xlarge

  • c9g.4xlarge

  • c9g.8xlarge

  • c9g.12xlarge

  • c9g.16xlarge

  • c9g.24xlarge

  • c9g.48xlarge

  • c9g.metal-48xl

  • c9gd.medium

  • c9gd.large

  • c9gd.xlarge

  • c9gd.2xlarge

  • c9gd.4xlarge

  • c9gd.8xlarge

  • c9gd.12xlarge

  • c9gd.16xlarge

  • c9gd.24xlarge

  • c9gd.48xlarge

  • c9gd.metal-48xl

  • r9g.medium

  • r9g.large

  • r9g.xlarge

  • r9g.2xlarge

  • r9g.4xlarge

  • r9g.8xlarge

  • r9g.12xlarge

  • r9g.16xlarge

  • r9g.24xlarge

  • r9g.48xlarge

  • r9g.metal-48xl

  • r9gd.medium

  • r9gd.large

  • r9gd.xlarge

  • r9gd.2xlarge

  • r9gd.4xlarge

  • r9gd.8xlarge

  • r9gd.12xlarge

  • r9gd.16xlarge

  • r9gd.24xlarge

  • r9gd.48xlarge

  • r9gd.metal-48xl

  • m9g.medium

  • null

| | InstanceType | | CamelAwsEC2Operation (producer) Constant: OPERATION | 수행하려는 연산이에요. | | String | | CamelAwsEC2InstanceMinCount (producer) Constant: INSTANCE_MIN_COUNT | 실행하려는 인스턴스의 최소 개수예요. | | Integer | | CamelAwsEC2InstanceMaxCount (producer) Constant: INSTANCE_MAX_COUNT | 실행하려는 인스턴스의 최대 개수예요. | | Integer | | CamelAwsEC2InstanceMonitoring (producer) Constant: INSTANCE_MONITORING | 실행 중인 인스턴스를 모니터링할지 여부예요. | | Boolean | | CamelAwsEC2InstanceKernelId (producer) Constant: INSTANCE_KERNEL_ID | 커널의 ID예요. | | String | | CamelAwsEC2InstanceEbsOptimized (producer) Constant: INSTANCE_EBS_OPTIMIZED | 생성하는 인스턴스가 EBS I/O에 최적화될지 여부예요. | | Boolean | | CamelAwsEC2InstanceSecurityGroups (producer) Constant: INSTANCE_SECURITY_GROUPS | 인스턴스에 연결할 보안 그룹들이에요. | | Collection | | CamelAwsEC2InstancesIds (producer) Constant: INSTANCES_IDS | start, stop, describe, terminate 연산을 수행할 인스턴스 ID 모음이에요. | | Collection | | CamelAwsEC2InstancesKeyPair (producer) Constant: INSTANCES_KEY_PAIR | 키 페어의 이름이에요. | | String | | CamelAwsEC2InstancesClientToken (producer) Constant: INSTANCES_CLIENT_TOKEN | 요청의 멱등성(idempotency)을 보장하기 위해 제공하는 고유하고 대소문자를 구분하는 식별자예요. | | String | | CamelAwsEC2InstancesPlacement (producer) Constant: INSTANCES_PLACEMENT | 인스턴스의 배치(placement)예요. | | Placement | | CamelAwsEC2InstancesTags (producer) Constant: INSTANCES_TAGS | EC2 리소스에 추가하거나 제거할 태그 모음이에요. | | Collection | | CamelAwsEC2SubnetId (producer) Constant: SUBNET_ID | 인스턴스를 시작할 서브넷의 ID예요. | | String | | CamelAwsEC2NextToken (describeInstances describeInstancesStatus) Constant: NEXT_TOKEN | 다음 결과 집합을 가져올 토큰이에요. | | String | | CamelAwsEC2MaxResults (describeInstances describeInstancesStatus) Constant: MAX_RESULTS | 반환할 결과의 최대 개수예요. | | Integer | | CamelAwsEC2IsTruncated (describeInstances describeInstancesStatus) Constant: IS_TRUNCATED | 응답에 결과가 더 있는지(잘렸는지) 여부예요. | | Boolean |

EC2 컴포넌트 필수 옵션 (Required EC2 component options)

Amazon EC2 서비스에 접근하려면 레지스트리에 amazonEc2Client를 제공하거나 accessKey와 secretKey를 지정해야 해요.

사용법 (Usage)

정적 자격 증명, 기본 자격 증명 프로바이더, 프로파일 자격 증명 프로바이더 (Static credentials, Default Credential Provider and Profile Credentials Provider)

useDefaultCredentialsProvider 옵션을 지정하고 true로 설정하면, 명시적인 정적 자격 증명을 쓰지 않도록 할 수 있어요.

기본 자격 증명 프로바이더(Default Credentials Provider)의 평가 순서는 다음과 같아요:

  • Java 시스템 프로퍼티 - aws.accessKeyId와 aws.secretKey.

  • 환경 변수 - AWS_ACCESS_KEY_ID와 AWS_SECRET_ACCESS_KEY.

  • AWS STS의 Web Identity Token.

  • 공유 credentials 및 config 파일.

  • Amazon ECS 컨테이너 자격 증명 - 환경 변수 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI가 설정돼 있으면 Amazon ECS에서 읽어와요.

  • Amazon EC2 인스턴스 프로파일 자격 증명.

useProfileCredentialsProvider 옵션을 true로 지정하고 profileCredentialsName에 프로파일 이름을 넣으면, 프로파일 자격 증명 프로바이더(Profile Credentials Provider)를 쓸 수도 있어요.

정적, 기본, 프로파일 자격 증명 중 한 가지만 동시에 사용할 수 있어요.

이에 대한 자세한 내용은 AWS credentials documentation에서 확인할 수 있습니다.

지원되는 producer 연산 (Supported producer operations)

  • createAndRunInstances

  • startInstances

  • stopInstances

  • terminateInstances

  • describeInstances

  • describeInstancesStatus

  • rebootInstances

  • monitorInstances

  • unmonitorInstances

  • createTags

  • deleteTags

예시 (Examples)

producer 예제 (Producer Examples)

  • createAndRunInstances: EC2 인스턴스를 하나 생성하고 실행하는 연산이에요.
from("direct:createAndRun")
     .setHeader("CamelAwsEC2ImageId", constant("ami-fd65ba94"))
     .setHeader("CamelAwsEC2InstanceType", constant(InstanceType.T2_MICRO))
     .setHeader("CamelAwsEC2InstanceMinCount", constant("1"))
     .setHeader("CamelAwsEC2InstanceMaxCount", constant("1"))
     .to("aws2-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=createAndRunInstances");
<route>
  <from uri="direct:createAndRun"/>
  <setHeader name="CamelAwsEC2ImageId">
    <constant>ami-fd65ba94</constant>
  </setHeader>
  <setHeader name="CamelAwsEC2InstanceType">
    <constant>t2.micro</constant>
  </setHeader>
  <setHeader name="CamelAwsEC2InstanceMinCount">
    <constant>1</constant>
  </setHeader>
  <setHeader name="CamelAwsEC2InstanceMaxCount">
    <constant>1</constant>
  </setHeader>
  <to uri="aws2-ec2://TestDomain?accessKey=xxxx&amp;secretKey=xxxx&amp;operation=createAndRunInstances"/>
</route>
- route:
    from:
      uri: direct:createAndRun
      steps:
        - setHeader:
            name: CamelAwsEC2ImageId
            constant: "ami-fd65ba94"
        - setHeader:
            name: CamelAwsEC2InstanceType
            constant: "t2.micro"
        - setHeader:
            name: CamelAwsEC2InstanceMinCount
            constant: "1"
        - setHeader:
            name: CamelAwsEC2InstanceMaxCount
            constant: "1"
        - to:
            uri: aws2-ec2://TestDomain
            parameters:
              accessKey: xxxx
              secretKey: xxxx
              operation: createAndRunInstances
  • startInstances: EC2 인스턴스 목록을 시작하는 연산이에요.

Java 전용: 인스턴스 ID 모음을 헤더로 설정해요

from("direct:start")
     .process(exchange -> {
         exchange.getIn().setHeader("CamelAwsEC2InstancesIds", List.of("myinstance"));
     })
     .to("aws2-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=startInstances");
  • stopInstances: EC2 인스턴스 목록을 중지하는 연산이에요.

Java 전용: 인스턴스 ID 모음을 헤더로 설정해요

from("direct:stop")
     .process(exchange -> {
         exchange.getIn().setHeader("CamelAwsEC2InstancesIds", List.of("myinstance"));
     })
     .to("aws2-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=stopInstances");
  • terminateInstances: EC2 인스턴스 목록을 종료하는 연산이에요.

Java 전용: 인스턴스 ID 모음을 헤더로 설정해요

from("direct:terminate")
     .process(exchange -> {
         exchange.getIn().setHeader("CamelAwsEC2InstancesIds", List.of("myinstance"));
     })
     .to("aws2-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=terminateInstances");

POJO를 본문으로 쓰기 (Using a POJO as body)

옵션이 여러 개다 보니 AWS 요청을 만드는 게 복잡할 때가 있어요. 그래서 POJO를 본문으로 쓰는 방법도 제공돼요. AWS EC2에서는 제출할 수 있는 연산이 여러 가지인데, 예를 들어 인스턴스를 생성하고 실행(Create and run an instance)하는 요청이라면 이렇게 할 수 있어요:

Java 전용: AWS SDK RunInstancesRequest를 POJO 본문으로 사용해요

from("direct:start")
  .setBody(RunInstancesRequest.builder().imageId("test-1").instanceType(InstanceType.T2_MICRO).build())
  .to("aws2-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=createAndRunInstances&pojoRequest=true");

이렇게 하면 이 연산과 관련된 헤더와 옵션을 일일이 넘기지 않고도 요청을 바로 전달할 수 있어요.

의존성 (Dependencies)

Maven 사용자는 pom.xml에 다음 의존성을 추가해야 해요.

pom.xml

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-aws2-ec2</artifactId>
    <version>${camel-version}</version>
</dependency>

여기서 ${camel-version}은 실제 Camel 버전으로 바꿔야 해요.

더 알아보기 (Learn more)

인스턴스 생성·실행, 시작·중지·종료 같은 연산의 실제 사용 예는 위의 예시 (Examples) 섹션에서 확인할 수 있어요. 자격 증명 설정 방법이 궁금하면 AWS credentials documentation을 참고하고, 다른 AWS 서비스 컴포넌트는 AWS 2 컴포넌트 문서에서 찾아볼 수 있습니다. 의존성 좌표는 위의 의존성(Dependencies) 섹션 그대로 camel-aws2-ec2 아티팩트를 쓰면 돼요.