

# 시작 템플릿을 사용하여 EC2 인스턴스 시작
<a name="launch-instances-from-launch-template"></a>

Amazon EC2 시작 템플릿은 인스턴스 시작 파라미터를 저장하므로 인스턴스를 시작할 때마다 파라미터를 지정할 필요가 없습니다.

일부 인스턴스 시작 서비스는 인스턴스를 시작할 때 선택적으로 시작 템플릿을 사용할 수 있지만, EC2 플릿 등의 다른 서비스의 경우 시작 템플릿을 사용하지 않으면 인스턴스를 시작할 수 없습니다. 이 주제에서는 EC2 인스턴스 시작 마법사, Amazon EC2 Auto Scaling, EC2 플릿 및 스팟 플릿을 사용하여 인스턴스를 시작할 때 시작 템플릿을 사용하는 방법을 설명합니다.

시작 템플릿을 생성하는 방법을 비롯하여 시작 템플릿에 대한 자세한 내용은 [Amazon EC2 시작 템플릿에 인스턴스 시작 파라미터 저장](ec2-launch-templates.md) 섹션을 참조하세요.

**Topics**
+ [시작 템플릿을 사용하여 Amazon EC2 인스턴스 시작](#launch-instance-from-launch-template)
+ [시작 템플릿을 사용하여 Amazon EC2 Auto Scaling 그룹에서 인스턴스를 시작합니다.](#launch-templates-as)
+ [시작 템플릿을 사용하여 EC2 플릿 시작](#launch-templates-ec2-fleet)
+ [시작 템플릿을 사용하여 스팟 플릿 시작](#launch-templates-spot-fleet)

## 시작 템플릿을 사용하여 Amazon EC2 인스턴스 시작
<a name="launch-instance-from-launch-template"></a>

시작 템플릿에 포함된 파라미터를 사용하여 Amazon EC2 인스턴스를 시작할 수 있습니다. 시작 템플릿을 선택한 후 인스턴스를 시작하기 전에 시작 파라미터를 수정할 수 있습니다.

시작 템플릿을 사용해 시작되는 인스턴스에는 `aws:ec2launchtemplate:id` 및 `aws:ec2launchtemplate:version` 등 두 개의 키를 통해 두 개의 태그가 자동 할당됩니다. 이러한 태그는 제거 또는 편집이 불가능합니다.

------
#### [ Console ]

**시작 템플릿을 사용하여 인스턴스를 시작하려면 다음을 수행하세요.**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 다음 옵션 중 하나를 사용하여 시작 템플릿을 선택합니다.
   + Amazon EC2 콘솔 대시보드에서 **인스턴스 시작** 옆의 아래쪽 화살표를 선택하고 **템플릿에서 인스턴스 시작**을 선택한 다음 **소스 템플릿**에서 시작 템플릿을 선택합니다.
   + 탐색 창에서 **시작 템플릿**을 선택하고 시작 템플릿을 선택한 다음 **작업**, **템플릿에서 인스턴스 시작**을 선택합니다.

1. **소스 템플릿 버전**의 경우 사용할 시작 템플릿 버전을 선택합니다.

1. (선택 사항) 시작 파라미터의 값을 수정할 수 있습니다. 값을 수정하지 않으면 시작 템플릿에 정의한 값이 사용됩니다. 시작 템플릿에 값이 지정되지 않은 경우 파라미터의 기본값이 사용됩니다.

1. **요약** 패널의 **인스턴스 수**에 시작할 인스턴스 수를 지정합니다.

1. **인스턴스 시작**을 선택합니다.

   인스턴스가 시작하지 않거나 상태가 `terminated`이 아닌 `running`로 변경되는 경우, [Amazon EC2 인스턴스 시작 문제 해결](troubleshooting-launch.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**시작 템플릿에서 인스턴스를 시작하려면 다음을 수행하세요.**
+ [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 `--launch-template` 파라미터를 지정합니다. 선택에 따라 사용할 시작 템플릿 버전을 지정합니다. 버전을 지정하지 않으면 기본 버전이 사용됩니다.

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}},Version={{1}}
  ```
+ 시작 템플릿 파라미터를 재정의하려면 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령에서 파라미터를 지정합니다. 아래 예제는 시작 템플릿(존재하는 경우)에 지정된 인스턴스 유형을 재정의합니다.

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}} \
      --instance-type {{t2.small}}
  ```
+ 복합 구조의 일부인 중첩 파라미터를 지정하면 시작 템플릿에 지정된 복합 구조를 비롯하여 지정된 추가 중첩 파라미터를 사용하여 인스턴스가 시작됩니다.

  아래 예제에서는 `{{Owner}}={{TeamA}}` 태그를 비롯해 시작 템플릿에 지정된 기타 태그를 통해 인스턴스가 시작됩니다. 시작 템플릿이 `{{Owner}}` 키와 함께 기존 태그를 가지고 있는 경우, 이 값이 `{{TeamA}}`로 바뀝니다.

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}} \
      --tag-specifications "ResourceType=instance,Tags=[{Key={{Owner}},Value={{TeamA}}}]"
  ```

  아래 예제에서는 디바이스 이름 {{`/dev/xvdb`}}를 비롯해 시작 템플릿에 지정된 기타 블록 디바이스 매핑을 통해 볼륨에서 인스턴스가 시작됩니다. 시작 템플릿이 {{`/dev/xvdb`}}에 정의된 기존 볼륨을 가지고 있는 경우, 이 값이 지정된 값으로 바뀝니다.

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}} \
      --block-device-mappings "DeviceName={{/dev/xvdb}},Ebs={VolumeSize={{20}},VolumeType={{gp2}}}"
  ```

인스턴스가 시작하지 않거나 상태가 `terminated`이 아닌 `running`로 변경되는 경우, [Amazon EC2 인스턴스 시작 문제 해결](troubleshooting-launch.md) 섹션을 참조하세요.

------
#### [ PowerShell ]

**AWS Tools for PowerShell를 사용하여 시작 템플릿에서 인스턴스를 시작하려면**
+ [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) 명령을 사용하여 `-LaunchTemplate` 파라미터를 지정합니다. 선택에 따라 사용할 시작 템플릿 버전을 지정합니다. 버전을 지정하지 않으면 기본 버전이 사용됩니다.

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
      } 
  )
  ```
+ 시작 템플릿 파라미터를 재정의하려면 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) 명령에서 파라미터를 지정합니다. 아래 예제는 시작 템플릿(존재하는 경우)에 지정된 인스턴스 유형을 재정의합니다.

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType {{t4g.small}} `
      -LaunchTemplate (
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
      } 
  )
  ```
+ 복합 구조의 일부인 중첩 파라미터를 지정하면 시작 템플릿에 지정된 복합 구조를 비롯하여 지정된 추가 중첩 파라미터를 사용하여 인스턴스가 시작됩니다.

  아래 예제에서는 `{{Owner}}={{TeamA}}` 태그를 비롯해 시작 템플릿에 지정된 기타 태그를 통해 인스턴스가 시작됩니다. 시작 템플릿이 `{{Owner}}` 키와 함께 기존 태그를 가지고 있는 경우, 이 값이 `{{TeamA}}`로 바뀝니다.

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType {{t4g.small}}  `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
          } 
  ) `
      -TagSpecification ( 
          New-Object -TypeName Amazon.EC2.Model.TagSpecification -Property @{ 
              ResourceType = 'instance'; 
              Tags         = @( 
                  @{key = "{{Owner}}"; value = "{{TeamA}}" }, 
                  @{key = "{{Department}}"; value = "{{Operations}}" } 
              ) 
          } 
  )
  ```

  아래 예제에서는 디바이스 이름 {{`/dev/xvdb`}}를 비롯해 시작 템플릿에 지정된 기타 블록 디바이스 매핑을 통해 볼륨에서 인스턴스가 시작됩니다. 시작 템플릿이 {{`/dev/xvdb`}}에 정의된 기존 볼륨을 가지고 있는 경우, 이 값이 지정된 값으로 바뀝니다.

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType {{t4g.small}}  `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
      } 
  ) `
      -BlockDeviceMapping  ( 
          New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping -Property @{ 
              DeviceName = '{{/dev/xvdb}}'; 
              EBS        = ( 
                  New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{ 
                      VolumeSize = {{25}}; 
                      VolumeType = '{{gp3}}' 
                  } 
              ) 
          } 
  )
  ```

인스턴스가 시작하지 않거나 상태가 `terminated`이 아닌 `running`로 변경되는 경우, [Amazon EC2 인스턴스 시작 문제 해결](troubleshooting-launch.md) 섹션을 참조하세요.

------

## 시작 템플릿을 사용하여 Amazon EC2 Auto Scaling 그룹에서 인스턴스를 시작합니다.
<a name="launch-templates-as"></a>

Auto Scaling 그룹을 생성하고 그룹에 사용할 시작 템플릿을 지정할 수 있습니다. Amazon EC2 Auto Scaling은 Auto Scaling 그룹에서 인스턴스를 시작할 때 연결된 시작 템플릿에 정의된 시작 파라미터를 사용합니다.

시작 템플릿을 사용하여 Auto Scaling 그룹을 생성하려면 먼저 Auto Scaling 그룹의 인스턴스를 시작하는 데 필요한 파라미터를 포함하는 시작 템플릿을 생성해야 합니다. AMI의 ID와 같은 일부 파라미터는 필수이며, 일부 파라미터는 Auto Scaling 그룹에서 사용할 수 없습니다. 콘솔에 Amazon EC2 Auto Scaling에서 사용할 수 있는 템플릿을 생성하는 데 도움이 되는 지침이 나와 있습니다.

**콘솔을 사용하여 시작 템플릿으로 Auto Scaling 그룹을 생성하려면 다음을 수행하세요.**
+ 자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 [시작 템플릿을 사용하여 Auto Scaling 그룹 생성]()을 참조하세요.

**AWS CLI를 사용하여 시작 템플릿으로 Auto Scaling 생성 또는 업데이트**
+ [create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) 또는 [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) 명령을 사용하여 `--launch-template` 파라미터를 지정합니다.

자세한 내용은 *Amazon EC2 Auto Scaling 사용 설명서*의 다음 주제를 참조하세요.
+ [Auto Scaling 그룹에 대한 시작 템플릿 생성](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+ [고급 설정을 사용하여 시작 템플릿 생성](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)
+ [Examples for creating and managing launch templates with the AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/autoscaling/ec2/userguide/examples-launch-templates-aws-cli.html) – 다양한 파라미터 조합으로 시작 템플릿을 생성하는 방법을 보여주는 예제를 제공합니다.
+ [시작 템플릿을 사용하여 Auto Scaling 생성](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-auto-scaling-groups-launch-template.html)
+ [Auto Scaling 업데이트](https://docs.aws.amazon.com/autoscaling/ec2/userguide/update-auto-scaling-group.html)

## 시작 템플릿을 사용하여 EC2 플릿 시작
<a name="launch-templates-ec2-fleet"></a>

시작 템플릿은 EC2 Fleet 요청 생성 시 필수 사항입니다. Amazon EC2는 EC2 Fleet 요청을 이행할 때 연결된 시작 템플릿에 정의된 시작 파라미터를 사용합니다. 시작 템플릿에 지정된 일부 파라미터는 재정의가 가능합니다. 자세한 내용은 [EC2 집합 생성](create-ec2-fleet.md) 섹션을 참조하세요.

**AWS CLI를 사용하여 시작 템플릿으로 EC2 Fleet을 생성하려면**
+ [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) 명령을 사용합니다. `--launch-template-configs` 파라미터를 사용하여 시작 템플릿과 시작 템플릿에 대한 모든 재구성을 지정합니다.

## 시작 템플릿을 사용하여 스팟 플릿 시작
<a name="launch-templates-spot-fleet"></a>

**중요**  
스팟 플릿은 계획된 투자가 없는 레거시 API를 사용합니다. 대신 EC2 플릿 또는 Auto Scaling 그룹을 사용하는 것이 좋습니다. 자세한 내용은 [어떤 플릿 방법을 사용하는 것이 최선입니까?](which-fleet-method-to-use.md) 섹션을 참조하세요.

시작 템플릿은 스팟 플릿 요청 생성 시 선택 사항입니다. 시작 템플릿을 사용하지 않는 경우 시작 파라미터 값을 수동으로 지정할 수 있습니다. 시작 템플릿을 사용하는 경우 Amazon EC2는 스팟 플릿 요청을 이행할 때 연결된 시작 템플릿에 정의된 시작 파라미터가 사용됩니다. 시작 템플릿에 지정된 일부 파라미터는 재정의가 가능합니다. 자세한 내용은 [스팟 플릿 생성](create-spot-fleet.md) 섹션을 참조하세요.

**시작 템플릿을 사용하여 스팟 플릿 요청을 생성하려면 다음을 수행하세요.**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **스팟 요청**을 선택합니다.

1. **스팟 인스턴스 요청**을 선택합니다.

1. **Launch parameters**(시작 파라미터)에서 **Use a launch template**(시작 템플릿 사용)을 선택합니다.

1. **Launch template**(시작 템플릿)에서 시작 템플릿을 선택한 다음 오른쪽 필드에서 시작 템플릿 버전을 선택합니다.

1. 이 화면에서 다른 옵션을 선택하여 스팟 플릿을 구성합니다. 이러한 옵션에 대한 자세한 내용은 [정의된 파라미터를 사용하여 스팟 플릿 요청 생성](create-spot-fleet.md#create-spot-fleet-advanced) 섹션을 참조하세요.

1. 스팟 플릿을 생성할 준비가 되면 **Launch**(시작)를 선택합니다.

**시작 템플릿을 사용하여 스팟 플릿 요청을 생성하려면 다음을 수행하세요.**
+ [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) 명령을 사용합니다. `LaunchTemplateConfigs` 파라미터를 사용하여 시작 템플릿과 시작 템플릿에 대한 모든 재구성을 지정합니다.