버스터블 성능 인스턴스 구성하기

버스터블 성능 인스턴스 구성하기 (Configure burstable performance instances)

버스터블 성능 인스턴스(T 인스턴스)를 시작·모니터링·수정하는 단계는 비슷해요. 핵심 차이는 시작할 때의 기본 크레딧 사양(credit specification)이에요.

출처: 문서

본문

각 T 인스턴스 패밀리는 다음과 같은 기본 크레딧 사양을 가져요.

  • T8i, T4g, T3a, T3 인스턴스는 unlimited로 시작해요.
  • Dedicated Host의 T3 인스턴스는 standard로만 시작할 수 있어요.
  • T2 인스턴스는 standard로 시작해요.

계정의 기본 크레딧 사양을 변경할 수도 있어요.

시작 시 크레딧 사양 구성하기 (Configure the credit specification at launch)

T 인스턴스를 unlimited 또는 standard 크레딧 사양으로 시작할 수 있어요. Auto Scaling 그룹 사용에 대한 정보는 "Configure an Auto Scaling group to set the credit specification as unlimited"을 참고하세요.

콘솔: 인스턴스 시작 절차를 따르고, Instance type 아래에서 T 인스턴스 유형을 선택하고, Advanced details를 펼쳐 Credit specification에서 크레딧 사양을 선택한 뒤 Summary 패널에서 구성을 검토하고 Launch instance를 선택해요.

AWS CLI: run-instances 명령에 --credit-specification 옵션을 사용해요.

--credit-specification CpuCredits=unlimited

PowerShell: New-EC2Instance cmdlet에 -CreditSpecification_CpuCredit 파라미터를 사용해요.

-CreditSpecification_CpuCredit unlimited

Auto Scaling 그룹을 unlimited 크레딧 사양으로 구성하기

T 인스턴스는 시작되거나 시작될 때 부트스트랩을 원활하게 하기 위해 CPU 크레딧이 필요해요. Auto Scaling 그룹으로 인스턴스를 시작한다면 인스턴스를 unlimited로 구성할 것을 권장해요. 그러면 Auto Scaling 그룹이 자동으로 인스턴스를 시작하거나 다시 시작할 때 잉여 크레딧(surplus credits)을 사용하고, 성능 제한을 방지할 수 있어요.

시작 템플릿 만들기 (AWS CLI)

Auto Scaling 그룹에서 인스턴스를 unlimited로 시작하려면 반드시 시작 템플릿(launch template)을 사용해야 해요. 시작 구성(launch configuration)은 unlimited 시작을 지원하지 않아요. create-launch-template 명령을 사용해요.

aws ec2 create-launch-template \
    --launch-template-name my-launch-template \
    --version-description FirstVersion \
    --launch-template-data CreditSpecification={CpuCredits=unlimited}

PowerShell: New-EC2LaunchTemplate cmdlet을 사용하고 시작 템플릿 데이터의 크레딧 사양을 다음과 같이 정의해요.

$creditSpec = New-Object Amazon.EC2.Model.CreditSpecificationRequest
$creditSpec.CpuCredits = "unlimited"
$launchTemplateData = New-Object Amazon.EC2.Model.RequestLaunchTemplateData
$launchTemplateData.CreditSpecification = $creditSpec

콘솔: "Amazon EC2 Auto Scaling 사용자 가이드"의 "Create a launch template using advanced settings" 절차를 따르고, Launch template contents의 Instance type에서 인스턴스 크기를 고르고, Advanced details의 Credit specification에서 Unlimited를 선택한 뒤 Create launch template을 선택해요. 콘솔로 시작 템플릿을 쓰는 Auto Scaling 그룹을 만들거나 기존 그룹에 시작 템플릿을 추가해요(Auto Scaling 그룹 목록에서 그룹을 선택해 Actions, Edit → Details 탭의 Launch Template에서 템플릿 선택 후 Save). CLI는 create-auto-scaling-group(또는 update-auto-scaling-group) 명령에 --launch-template 파라미터를, PowerShell는 New-ASAutoScalingGroup(또는 Update-ASAutoScalingGroup) cmdlet에 -LaunchTemplate_LaunchTemplateId 또는 -LaunchTemplate_LaunchTemplateName 파라미터를 사용해요.

버스터블 성능 인스턴스의 크레딧 사양 관리하기

실행 중이거나 중지된 T 인스턴스의 크레딧 사양을 언제든 unlimited와 standard 사이에서 전환할 수 있어요. unlimited 모드에서는 인스턴스가 잉여 크레딧을 사용할 수 있고, 이는 추가 요금이 발생할 수 있어요. 자세한 내용은 "Surplus credits can incur charges"를 참고하세요.

콘솔: Instances를 선택하고, (선택) 인스턴스의 Details 탭에서 Credit specification 필드를 확인해요(값은 unlimited 또는 standard). 여러 인스턴스를 동시에 수정하려면 모두 선택하고 Actions, Instance settings, Change credit specification을 선택해요(이 옵션은 T 인스턴스를 선택했을 때만 활성화돼요). Unlimited mode에서 각 인스턴스 ID 옆의 체크박스를 선택하거나 해제해요.

AWS CLI — 크레딧 사양 조회:

aws ec2 describe-instance-credit-specifications \
    --instance-id i-1234567890abcdef0 \
    --query InstanceCreditSpecifications[].CpuCredits \
    --output text

인스턴스 ID를 지정하지 않으면 크레딧 사양이 unlimited인 모든 인스턴스가 반환돼요. 이전에 unlimited로 구성된 인스턴스도 포함돼요. 예를 들어 unlimited로 구성된 T3 인스턴스를 M4 인스턴스로 크기를 바꾸면 Amazon EC2가 그 M4 인스턴스를 반환해요.

AWS CLI — 크레딧 사양 설정:

aws ec2 modify-instance-credit-specification \
    --region us-east-1 \
    --instance-credit-specification "InstanceId=i-1234567890abcdef0,CpuCredits=unlimited"

PowerShell — 조회: Get-EC2CreditSpecification cmdlet.

(Get-EC2CreditSpecification `
    -InstanceId i-1234567890abcdef0).CpuCredits

PowerShell — 설정: Edit-EC2InstanceCreditSpecification cmdlet.

Edit-EC2InstanceCreditSpecification `
    -Region us-east-1 `
    -InstanceCreditSpecification @({InstanceId="i-1234567890abcdef0" CpuCredits="unlimited"})

계정의 기본 크레딧 사양 관리하기

각 T 인스턴스 패밀리에는 기본 크레딧 사양이 있어요. AWS 리전별로 계정 수준에서 각 T 인스턴스 패밀리의 기본 크레딧 사양을 변경할 수 있어요. 기본 크레딧 사양의 유효한 값은 unlimited와 standard예요.

EC2 콘솔의 시작 인스턴스 마법사로 인스턴스를 시작하면 선택한 크레딧 사양 값이 계정 수준 기본값을 덮어써요. AWS CLI로 시작하면 계정의 모든 새 T 인스턴스가 기본 크레딧 사양으로 시작돼요. 기존의 실행 중이거나 중지된 인스턴스의 크레딧 사양에는 영향을 주지 않아요.

고려 사항: 인스턴스 패밀리의 기본 크레딧 사양은 5분 단위로 한 번, 24시간 단위로 최대 4번만 수정할 수 있어요.

콘솔: Dashboard → Account attributes 카드의 Settings 아래 Default credit specification → Manage → 각 인스턴스 패밀리마다 Unlimited 또는 Standard를 선택하고 Update를 선택해요.

AWS CLI — 조회: get-default-credit-specification 명령.

aws ec2 get-default-credit-specification \
    --region us-east-1 \
    --instance-family t2 \
    --query InstanceFamilyCreditSpecifications[].CpuCredits \
    --output text

AWS CLI — 설정: modify-default-credit-specification 명령. 다음 예시는 값을 unlimited로 설정해요.

aws ec2 modify-default-credit-specification \
    --region us-east-1 \
    --instance-family t2 \
    --cpu-credits unlimited

PowerShell — 조회: Get-EC2DefaultCreditSpecification cmdlet.

(Get-EC2DefaultCreditSpecification `
    -Region us-east-1 `
    -InstanceFamily t2).CpuCredits

PowerShell — 설정: Edit-EC2DefaultCreditSpecification cmdlet. 다음 예시는 값을 unlimited로 설정해요.

Edit-EC2DefaultCreditSpecification `
    -Region us-east-1 `
    -InstanceFamily t2 `
    -CpuCredit unlimited

더 알아보기