

AWS Tools for PowerShell V4가 유지 관리 모드로 전환되었습니다.

[AWS Tools for PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/)로 마이그레이션하는 것이 좋습니다. 마이그레이션 방법에 대한 자세한 내용과 정보는 [유지 관리 모드 공지](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/)를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon EC2 및 Tools for Windows PowerShell
<a name="pstools-ec2"></a>

AWS Tools for PowerShell을 사용하여 Amazon EC2와 관련된 일반적인 작업을 수행할 수 있습니다.

여기에 표시된 예제에서는 PowerShell 세션의 기본 자격 증명 및 기본 리전을 설정했다고 가정합니다. 그러므로 cmdlet을 호출할 때 자격 증명이나 리전을 포함하지 않습니다. 자세한 내용은 [AWS Tools for Windows PowerShell 시작](pstools-getting-started.md) 섹션을 참조하세요.

**Topics**
+ [키 페어 생성](pstools-ec2-keypairs.md)
+ [보안 그룹 생성](pstools-ec2-sg.md)
+ [AMI 찾기](pstools-ec2-get-amis.md)
+ [인스턴스 시작](pstools-ec2-launch.md)

# 키 페어 만들기
<a name="pstools-ec2-keypairs"></a>

다음 `New-EC2KeyPair` 예제에서는 키 페어를 만들고 PowerShell 변수 `$myPSKeyPair`에 이를 저장합니다.

```
PS > $myPSKeyPair = New-EC2KeyPair -KeyName myPSKeyPair
```

키 페어 객체를 `Get-Member` cmdlet에 파이프하여 객체의 구조를 확인합니다.

```
PS > $myPSKeyPair | Get-Member

     TypeName: Amazon.EC2.Model.KeyPair

  Name                MemberType   Definition
  ----                ----------   ----------
  Equals              Method       bool Equals(System.Object obj)
  GetHashCode         Method       int GetHashCode()
  GetType             Method       type GetType()
  ToString            Method       string ToString()
  KeyFingerprint      Property     System.String KeyFingerprint {get;set;}
  KeyMaterial         Property     System.String KeyMaterial {get;set;}
  KeyName             Property     System.String KeyName {get;set;}
```

키 페어 객체를 `Format-List` cmdlet에 파이프하여 `KeyName`, `KeyFingerprint` 및 `KeyMaterial` 멤버의 값을 봅니다. (읽기 쉽도록 출력을 잘랐습니다.)

```
PS > $myPSKeyPair | Format-List KeyName, KeyFingerprint, KeyMaterial

  KeyName        : myPSKeyPair
  KeyFingerprint : 09:06:70:8e:26:b6:e7:ef:8f:fe:4a:1d:bc:9c:6a:63:11:ac:ad:3c
  KeyMaterial    : ----BEGIN RSA PRIVATE KEY----
                   MIIEogIBAAKCAQEAkK+ANYUS9c7niNjYfaCn6KYj/D0I6djnFoQE...
                   Mz6btoxPcE7EMeH1wySUp8nouAS9xbl9l7+VkD74bN9KmNcPa/Mu...
                   Zyn4vVe0Q5il/MpkrRogHqOB0rigeTeV5Yc3lvO0RFFPu0Kz4kcm...
                   w3Jg8dKsWn0plOpX7V3sRC02KgJIbejQUvBFGi5OQK9bm4tXBIeC...
                   daxKIAQMtDUdmBDrhR1/YMv8itFe5DiLLbq7Ga+FDcS85NstBa3h...
                   iuskGkcvgWkcFQkLmRHRoDpPb+OdFsZtjHZDpMVFmA9tT8EdbkEF...
                   3SrNeqZPsxJJIxOodb3CxLJpg75JU5kyWnb0+sDNVHoJiZCULCr0...
                   GGlLfEgB95KjGIk7zEv2Q7K6s+DHclrDeMZWa7KFNRZuCuX7jssC...
                   xO98abxMr3o3TNU6p1ZYRJEQ0oJr0W+kc+/8SWb8NIwfLtwhmJEy...
                   1BX9X8WFX/A8VLHrT1elrKmLkNECgYEAwltkV1pOJAFhz9p7ZFEv...
                   vvVsPaF0Ev9bk9pqhx269PB5Ox2KokwCagDMMaYvasWobuLmNu/1...
                   lmwRx7KTeQ7W1J3OLgxHA1QNMkip9c4Tb3q9vVc3t/fPf8vwfJ8C...
                   63g6N6rk2FkHZX1E62BgbewUd3eZOS05Ip4VUdvtGcuc8/qa+e5C...
                   KXgyt9nl64pMv+VaXfXkZhdLAdY0Khc9TGB9++VMSG5TrD15YJId...
                   gYALEI7m1jJKpHWAEs0hiemw5VmKyIZpzGstSJsFStERlAjiETDH...
                   YAtnI4J8dRyP9I7BOVOn3wNfIjk85gi1/0Oc+j8S65giLAfndWGR...
                   9R9wIkm5BMUcSRRcDy0yuwKBgEbkOnGGSD0ah4HkvrUkepIbUDTD...
                   AnEBM1cXI5UT7BfKInpUihZi59QhgdK/hkOSmWhlZGWikJ5VizBf...
                   drkBr/vTKVRMTi3lVFB7KkIV1xJxC5E/BZ+YdZEpWoCZAoGAC/Cd...
                   TTld5N6opgOXAcQJwzqoGa9ZMwc5Q9f4bfRc67emkw0ZAAwSsvWR...
                   x3O2duuy7/smTwWwskEWRK5IrUxoMv/VVYaqdzcOajwieNrblr7c...
                   -----END RSA PRIVATE KEY-----
```

`KeyMaterial` 멤버는 키 페어의 프라이빗 키를 저장합니다. 퍼블릭 키는 AWS에 저장됩니다. AWS에서 퍼블릭 키를 검색할 수는 없지만, 프라이빗 키의 `KeyFingerprint`를 퍼블릭 키용으로 AWS에서 반환된 것과 비교하여 퍼블릭 키를 확인할 수 있습니다.

## 키 페어 지문 보기
<a name="get-ec2keypair"></a>

`Get-EC2KeyPair` cmdlet을 사용하여 키 페어의 지문을 볼 수 있습니다.

```
PS > Get-EC2KeyPair -KeyName myPSKeyPair | format-list KeyName, KeyFingerprint

  KeyName        : myPSKeyPair
  KeyFingerprint : 09:06:70:8e:26:b6:e7:ef:8f:fe:4a:1d:bc:9c:6a:63:11:ac:ad:3c
```

## 프라이빗 키 저장
<a name="store-ec2keypair"></a>

프라이빗 키를 파일에 저장하려면 `KeyFingerMaterial` 멤버를 `Out-File` cmdlet에 파이프합니다.

```
PS > $myPSKeyPair.KeyMaterial | Out-File -Encoding ascii myPSKeyPair.pem
```

프라이빗 키를 파일에 쓸 때 `-Encoding ascii`를 지정해야 합니다. 그렇지 않으면, `openssl`과 같은 도구에서 파일을 올바르게 읽지 못할 수도 있습니다. 다음과 같은 명령을 사용하여 결과 파일의 형식이 올바른지 확인할 수 있습니다.

```
PS > openssl rsa -check < myPSKeyPair.pem
```

(`openssl` 도구는 AWS Tools for PowerShell 또는 AWS SDK for .NET에 포함되지 않습니다.)

## 키 페어 제거
<a name="remove-ec2keypair"></a>

인스턴스를 시작하고 연결하려면 키 페어가 필요합니다. 키 페어를 사용한 후 제거할 수 있습니다. AWS에서 퍼블릭 키를 제거하려면 `Remove-EC2KeyPair` cmdlet을 사용합니다. 메시지가 표시되면 `Enter`를 눌러서 키 페어를 제거합니다.

```
PS > Remove-EC2KeyPair -KeyName myPSKeyPair

Confirm
Performing the operation "Remove-EC2KeyPair (DeleteKeyPair)" on target "myPSKeyPair".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
```

`$myPSKeyPair` 변수는 현재 PowerShell 세션에 여전히 존재하며 여전히 키 페어 정보를 포함합니다. `myPSKeyPair.pem` 파일도 존재합니다. 하지만 키 페어의 퍼블릭 키가 AWS에 더 이상 저장되어 있지 않으므로 프라이빗 키는 더 이상 유효하지 않습니다.

# Windows PowerShell을 사용하여 보안 그룹 생성
<a name="pstools-ec2-sg"></a>

AWS Tools for PowerShell를 사용하여 보안 그룹을 생성 및 구성할 수 있습니다. 응답으로 보안 그룹의 ID가 반환됩니다.

인스턴스에 연결해야 하는 경우 SSH 트래픽(Linux) 또는 RDP 트래픽(Windows)를 허용하도록 보안 그룹을 구성해야 합니다.

**Topics**
+ [사전 조건](#sg-prerequisites)
+ [EC2-VPC에 대한 보안 그룹 생성](#new-ec2securitygroup-vpc)

## 사전 조건
<a name="sg-prerequisites"></a>

컴퓨터의 퍼블릭 IP 주소를 CIDR 표기법으로 지정해야 합니다. 서비스를 사용하여 로컬 컴퓨터의 퍼블릭 IP 주소를 확인할 수 있습니다. 예를 들면, Amazon에서는 [http://checkip.amazonaws.com/](http://checkip.amazonaws.com/) 또는 [https://checkip.amazonaws.com/](https://checkip.amazonaws.com/) 서비스를 제공합니다. IP 주소를 제공하는 다른 서비스를 찾으려면 "what is my IP address"로 검색하십시오. 고정 IP 주소 없이 ISP를 통해, 또는 방화벽 뒤에서 연결하는 경우에는 클라이언트 컴퓨터가 사용할 수 있는 IP 주소의 범위를 찾아야 합니다.

**주의**  
`0.0.0.0/0`을 지정하면 전 세계의 모든 IP 주소에서 트래픽을 사용하도록 설정됩니다. SSH 및 RDP 프로토콜의 경우, 테스트 환경에서 잠시 사용하는 것은 괜찮지만 프로덕션 환경에서는 안전하지 않습니다. 프로덕션 환경에서는 적절한 개별 IP 주소 또는 주소 범위에서만 액세스 권한을 부여해야 합니다.

## EC2-VPC에 대한 보안 그룹 생성
<a name="new-ec2securitygroup-vpc"></a>

**주의**  
EC2-Classic은 2022년 8월 15일에 사용 중지되었습니다. EC2-Classic에서 VPC로 마이그레이션하는 것이 좋습니다. 자세한 내용은 블로그 게시물 [EC2-Classic 네트워킹은 사용 중지 중입니다. 준비 방법은 다음과 같습니다](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/)를 참조하세요.

다음 `New-EC2SecurityGroup` 예제에서는 `-VpcId` 매개 변수를 추가하여 지정된 VPC에 대한 보안 그룹을 생성합니다.

```
PS > $groupid = New-EC2SecurityGroup `
    -VpcId "vpc-da0013b3" `
    -GroupName "myPSSecurityGroup" `
    -GroupDescription "EC2-VPC from PowerShell"
```

보안 그룹의 초기 구성을 보려면 `Get-EC2SecurityGroup` cmdlet을 사용합니다. 기본적으로 VPC의 보안 그룹은 모든 아웃바운드 트래픽을 허용하는 아웃바운드 규칙을 포함합니다. 이름으로 EC2-VPC에 대한 보안 그룹을 참조할 수 없습니다.

```
PS > Get-EC2SecurityGroup -GroupId sg-5d293231

OwnerId             : 123456789012
GroupName           : myPSSecurityGroup
GroupId             : sg-5d293231
Description         : EC2-VPC from PowerShell
IpPermissions       : {}
IpPermissionsEgress : {Amazon.EC2.Model.IpPermission}
VpcId               : vpc-da0013b3
Tags                : {}
```

TCP 포트 22(SSH) 및 TCP 포트 3389에서 인바운드 트래픽에 대한 권한을 정의하려면 `New-Object` cmdlet을 사용합니다. 다음 예제 스크립트는 단일 IP 주소 `203.0.113.25/32`에서 TCP 포트 22 및 3389에 대한 사용 권한을 정의합니다.

```
$ip1 = new-object Amazon.EC2.Model.IpPermission 
$ip1.IpProtocol = "tcp" 
$ip1.FromPort = 22 
$ip1.ToPort = 22 
$ip1.IpRanges.Add("203.0.113.25/32") 
$ip2 = new-object Amazon.EC2.Model.IpPermission 
$ip2.IpProtocol = "tcp" 
$ip2.FromPort = 3389 
$ip2.ToPort = 3389 
$ip2.IpRanges.Add("203.0.113.25/32") 
Grant-EC2SecurityGroupIngress -GroupId $groupid -IpPermissions @( $ip1, $ip2 )
```

보안 그룹이 업데이트되었는지 확인하려면 `Get-EC2SecurityGroup` cmdlet을 다시 사용합니다.

```
PS > Get-EC2SecurityGroup -GroupIds sg-5d293231

OwnerId             : 123456789012
GroupName           : myPSSecurityGroup
GroupId             : sg-5d293231
Description         : EC2-VPC from PowerShell
IpPermissions       : {Amazon.EC2.Model.IpPermission}
IpPermissionsEgress : {Amazon.EC2.Model.IpPermission}
VpcId               : vpc-da0013b3
Tags                : {}
```

인바운드 규칙을 보기 위해 이전 명령에서 반환한 컬렉션 개체에서 `IpPermissions` 속성을 검색할 수 있습니다.

```
PS > (Get-EC2SecurityGroup -GroupIds sg-5d293231).IpPermissions

IpProtocol       : tcp
FromPort         : 22
ToPort           : 22
UserIdGroupPairs : {}
IpRanges         : {203.0.113.25/32}

IpProtocol       : tcp
FromPort         : 3389
ToPort           : 3389
UserIdGroupPairs : {}
IpRanges         : {203.0.113.25/32}
```

# Windows PowerShell을 사용하여 Amazon Machine Images 찾기
<a name="pstools-ec2-get-amis"></a>

Amazon EC2 인스턴스를 시작할 때 인스턴스의 템플릿으로 사용할 Amazon Machine Images(AMI)를 지정합니다. 그러나는 최신 업데이트 및 보안 개선 사항을 새 AMIs에 AWS 제공하기 때문에 AWS Windows AMIs의 IDs는 자주 변경됩니다. [Get-EC2Image](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-EC2Image.html) 및 [Get-EC2ImageByName](https://docs.aws.amazon.com/powershell/v4/reference/items/Get-EC2ImageByName.html) cmdlet을 사용하여 현재 Windows AMI를 찾아서 해당 ID를 가져올 수 있습니다.

**Topics**
+ [Get-EC2Image](#pstools-ec2-get-image)
+ [Get-EC2ImageByName](#pstools-ec2-get-ec2imagebyname)

## Get-EC2Image
<a name="pstools-ec2-get-image"></a>

`Get-EC2Image` cmdlet은 사용할 수 있는 AMI 목록을 검색합니다.

`-Owner`에서 Amazon이나 사용자에게 속하는 AMI만 검색되도록 `amazon, self` 파라미터와 어레이 값 `Get-EC2Image`를 사용합니다. 이 컨텍스트에서 *사용자*란 cmdlet을 호출하는 데 사용한 자격 증명을 가진 사용자를 지칭합니다.

```
PS > Get-EC2Image -Owner amazon, self
```

`-Filter` 파라미터를 사용하여 결과의 범위를 지정할 수 있습니다. 필터를 지정하려면 `Amazon.EC2.Model.Filter` 유형의 객체를 생성합니다. 예를 들어, 다음 필터를 사용하면 Windows AMI만 표시됩니다.

```
$platform_values = New-Object 'collections.generic.list[string]'
$platform_values.add("windows")
$filter_platform = New-Object Amazon.EC2.Model.Filter -Property @{Name = "platform"; Values = $platform_values}
Get-EC2Image -Owner amazon, self -Filter $filter_platform
```

다음 예에서는 이 cmdlet에서 반환되는 AMI 중 하나를 보여 주며, 이전 명령의 실제 출력은 여러 AMI에 대한 정보를 제공합니다.

```
Architecture        : x86_64
BlockDeviceMappings : {/dev/sda1, xvdca, xvdcb, xvdcc…}
CreationDate        : 2019-06-12T10:41:31.000Z
Description         : Microsoft Windows Server 2019 Full Locale English with SQL Web 2017 AMI provided by Amazon
EnaSupport          : True
Hypervisor          : xen
ImageId             : ami-000226b77608d973b
ImageLocation       : amazon/Windows_Server-2019-English-Full-SQL_2017_Web-2019.06.12
ImageOwnerAlias     : amazon
ImageType           : machine
KernelId            : 
Name                : Windows_Server-2019-English-Full-SQL_2017_Web-2019.06.12
OwnerId             : 801119661308
Platform            : Windows
ProductCodes        : {}
Public              : True
RamdiskId           : 
RootDeviceName      : /dev/sda1
RootDeviceType      : ebs
SriovNetSupport     : simple
State               : available
StateReason         : 
Tags                : {}
VirtualizationType  : hvm
```

## Get-EC2ImageByName
<a name="pstools-ec2-get-ec2imagebyname"></a>

`Get-EC2ImageByName` cmdlet에서는 관심 있는 서버 구성 유형에 따라 AWS Windows AMI 목록을 필터링할 수 있습니다.

매개 변수 없이 실행할 경우 다음과 같이 cmdlet에서 현재 필터 이름의 전체 세트가 방출됩니다.

```
PS > Get-EC2ImageByName

WINDOWS_2016_BASE
WINDOWS_2016_NANO
WINDOWS_2016_CORE
WINDOWS_2016_CONTAINER
WINDOWS_2016_SQL_SERVER_ENTERPRISE_2016
WINDOWS_2016_SQL_SERVER_STANDARD_2016
WINDOWS_2016_SQL_SERVER_WEB_2016
WINDOWS_2016_SQL_SERVER_EXPRESS_2016
WINDOWS_2012R2_BASE
WINDOWS_2012R2_CORE
WINDOWS_2012R2_SQL_SERVER_EXPRESS_2016
WINDOWS_2012R2_SQL_SERVER_STANDARD_2016
WINDOWS_2012R2_SQL_SERVER_WEB_2016
WINDOWS_2012R2_SQL_SERVER_EXPRESS_2014
WINDOWS_2012R2_SQL_SERVER_STANDARD_2014
WINDOWS_2012R2_SQL_SERVER_WEB_2014
WINDOWS_2012_BASE
WINDOWS_2012_SQL_SERVER_EXPRESS_2014
WINDOWS_2012_SQL_SERVER_STANDARD_2014
WINDOWS_2012_SQL_SERVER_WEB_2014
WINDOWS_2012_SQL_SERVER_EXPRESS_2012
WINDOWS_2012_SQL_SERVER_STANDARD_2012
WINDOWS_2012_SQL_SERVER_WEB_2012
WINDOWS_2012_SQL_SERVER_EXPRESS_2008
WINDOWS_2012_SQL_SERVER_STANDARD_2008
WINDOWS_2012_SQL_SERVER_WEB_2008
WINDOWS_2008R2_BASE
WINDOWS_2008R2_SQL_SERVER_EXPRESS_2012
WINDOWS_2008R2_SQL_SERVER_STANDARD_2012
WINDOWS_2008R2_SQL_SERVER_WEB_2012
WINDOWS_2008R2_SQL_SERVER_EXPRESS_2008
WINDOWS_2008R2_SQL_SERVER_STANDARD_2008
WINDOWS_2008R2_SQL_SERVER_WEB_2008
WINDOWS_2008RTM_BASE
WINDOWS_2008RTM_SQL_SERVER_EXPRESS_2008
WINDOWS_2008RTM_SQL_SERVER_STANDARD_2008
WINDOWS_2008_BEANSTALK_IIS75
WINDOWS_2012_BEANSTALK_IIS8
VPC_NAT
```

반환되는 이미지 세트의 범위를 좁히려면 `Names` 파라미터를 사용하여 하나 이상의 필터 이름을 지정합니다.

```
PS > Get-EC2ImageByName -Names WINDOWS_2016_CORE

Architecture        : x86_64
BlockDeviceMappings : {/dev/sda1, xvdca, xvdcb, xvdcc…}
CreationDate        : 2019-08-16T09:36:09.000Z
Description         : Microsoft Windows Server 2016 Core Locale English AMI provided by Amazon
EnaSupport          : True
Hypervisor          : xen
ImageId             : ami-06f2a2afca06f15fc
ImageLocation       : amazon/Windows_Server-2016-English-Core-Base-2019.08.16
ImageOwnerAlias     : amazon
ImageType           : machine
KernelId            : 
Name                : Windows_Server-2016-English-Core-Base-2019.08.16
OwnerId             : 801119661308
Platform            : Windows
ProductCodes        : {}
Public              : True
RamdiskId           : 
RootDeviceName      : /dev/sda1
RootDeviceType      : ebs
SriovNetSupport     : simple
State               : available
StateReason         : 
Tags                : {}
VirtualizationType  : hvm
```

# Windows PowerShell을 사용하여 Amazon EC2 인스턴스 시작
<a name="pstools-ec2-launch"></a>

Amazon EC2 인스턴스를 시작하려면 이전 단원에서 생성한 키 페어 및 보안 그룹이 필요합니다. Amazon Machine Images(AMI)의 ID도 필요합니다. 자세한 내용은 다음 설명서를 참조하세요.
+  [키 페어 만들기](pstools-ec2-keypairs.md) 
+  [Windows PowerShell을 사용하여 보안 그룹 생성](pstools-ec2-sg.md) 
+  [Windows PowerShell을 사용하여 Amazon Machine Images 찾기](pstools-ec2-get-amis.md) 

**중요**  
시작하는 인스턴스가 프리 티어에 해당되지 않는 경우 인스턴스를 시작한 후에 요금이 청구되고 유휴 상태를 포함해 인스턴스가 실행된 시간에 대해 과금됩니다.

**Topics**
+ [VPC에서 인스턴스 시작](#new-ec2instance-vpc)
+ [VPC에서 스팟 인스턴스 시작](#new-ec2instance-spot)

## VPC에서 인스턴스 시작
<a name="new-ec2instance-vpc"></a>

**주의**  
EC2-Classic은 2022년 8월 15일에 사용 중지되었습니다. EC2-Classic에서 VPC로 마이그레이션하는 것이 좋습니다. 자세한 내용은 블로그 게시물 [EC2-Classic 네트워킹은 사용 중지 중입니다. 준비 방법은 다음과 같습니다](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/)를 참조하세요.

다음 명령은 지정된 프라이빗 서브넷에서 단일 `m1.small` 인스턴스를 생성합니다. 보안 그룹은 지정된 서브넷에 대해 유효해야 합니다.

```
PS > New-EC2Instance `
    -ImageId ami-c49c0dac `
    -MinCount 1 -MaxCount 1 `
    -KeyName myPSKeyPair `
    -SecurityGroupId sg-5d293231 `
    -InstanceType m1.small `
    -SubnetId subnet-d60013bf

ReservationId   : r-b70a0ef1
OwnerId         : 123456789012
RequesterId     :
Groups          : {}
GroupName       : {}
Instances       : {}
```

처음에는 인스턴스가 `pending` 상태이지만 몇 분 후에 `running` 상태가 됩니다. 인스턴스에 대한 정보를 보려면 `Get-EC2Instance` cmdlet을 사용합니다. 인스턴스가 두 개 이상인 경우 `Filter` 파라미터를 사용하여 예약 ID에 대해 결과를 필터링할 수 있습니다. 먼저 `Amazon.EC2.Model.Filter` 유형의 객체를 생성합니다. 그런 다음 필터를 사용하고 `Get-EC2Instance` 속성을 표시하는 `Instances`을 호출합니다.

```
PS > $reservation = New-Object 'collections.generic.list[string]'
PS > $reservation.add("r-b70a0ef1")
PS > $filter_reservation = New-Object Amazon.EC2.Model.Filter -Property @{Name = "reservation-id"; Values = $reservation}
PS > (Get-EC2Instance -Filter $filter_reservation).Instances

AmiLaunchIndex        : 0
Architecture          : x86_64
BlockDeviceMappings   : {/dev/sda1}
ClientToken           :
EbsOptimized          : False
Hypervisor            : xen
IamInstanceProfile    :
ImageId               : ami-c49c0dac
InstanceId            : i-5203422c
InstanceLifecycle     :
InstanceType          : m1.small
KernelId              :
KeyName               : myPSKeyPair
LaunchTime            : 12/2/2018 3:38:52 PM
Monitoring            : Amazon.EC2.Model.Monitoring
NetworkInterfaces     : {}
Placement             : Amazon.EC2.Model.Placement
Platform              : Windows
PrivateDnsName        :
PrivateIpAddress      : 10.25.1.11
ProductCodes          : {}
PublicDnsName         :
PublicIpAddress       : 198.51.100.245
RamdiskId             :
RootDeviceName        : /dev/sda1
RootDeviceType        : ebs
SecurityGroups        : {myPSSecurityGroup}
SourceDestCheck       : True
SpotInstanceRequestId :
SriovNetSupport       :
State                 : Amazon.EC2.Model.InstanceState
StateReason           :
StateTransitionReason :
SubnetId              : subnet-d60013bf
Tags                  : {}
VirtualizationType    : hvm
VpcId                 : vpc-a01106c2
```

## VPC에서 스팟 인스턴스 시작
<a name="new-ec2instance-spot"></a>

다음 예제 스크립트는 지정된 서브넷에서 스팟 인스턴스를 요청합니다. 보안 그룹은 지정된 서브넷을 포함하는 VPC에 대해 생성된 보안 그룹이어야 합니다.

```
$interface1 = New-Object Amazon.EC2.Model.InstanceNetworkInterfaceSpecification
$interface1.DeviceIndex = 0
$interface1.SubnetId = "subnet-b61f49f0"
$interface1.PrivateIpAddress = "10.0.1.5"
$interface1.Groups.Add("sg-5d293231")
Request-EC2SpotInstance `
    -SpotPrice 0.007 `
    -InstanceCount 1 `
    -Type one-time `
    -LaunchSpecification_ImageId ami-7527031c `
    -LaunchSpecification_InstanceType m1.small `
    -Region us-west-2 `
    -LaunchSpecification_NetworkInterfaces $interface1
```