

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

# Snowball Edge에서 Amazon EC2-compatible 컴퓨팅 인스턴스 사용
<a name="using-ec2"></a>

Snowball Edge에 호스팅된 Amazon EC2 호환 컴퓨팅 인스턴스를 `sbe1`, `sbe-c` 및 `sbe-g` 인스턴스 유형으로 실행할 수 있습니다. `sbe1` 인스턴스 유형은 Snowball Edge 스토리지 최적화 옵션으로 디바이스에서 작동합니다. `sbe-c` 인스턴스 유형은 Snowball Edge 컴퓨팅 최적화 옵션으로 디바이스에서 작동합니다. 지원되는 인스턴스 유형의 목록은 [Snowball Edge 디바이스에서 컴퓨팅 인스턴스 사용 시 할당량](ec2-edge-limits.md) 섹션을 참조하세요.

Snowball Edge 디바이스 옵션용으로 지원되는 세 가지 컴퓨팅 인스턴스 유형은 모두 Snowball Edge 디바이스에 대해 고유합니다. 이에 상응하는 클라우드 기반 인스턴스와 마찬가지로 이들 인스턴스 역시 시작하려면 Amazon Machine Image(AMI)가 필요합니다. Snowball Edge 작업을 생성하기 전에 AMI를 클라우드에서 인스턴스의 기본 이미지로 선택합니다.

Snowball Edge에서 컴퓨팅 인스턴스를 사용하려면 작업을 생성하여 Snowball Edge 디바이스를 주문하고 AMIs를 지정합니다. [AWS Snow 패밀리 관리 콘솔](https://console.aws.amazon.com/snowfamily/home), AWS CLI또는 AWS SDKs. 일반적으로, 인스턴스를 사용하기 위해 작업을 생성하기 전에 수행해야 하는 정리 작업 사전 조건이 있습니다.

디바이스가 도착한 후 AMI 및 인스턴스 관리를 시작할 수 있습니다. Amazon EC2 호환 엔드포인트를 통해 Snowball Edge에서 컴퓨팅 인스턴스를 관리할 수 있습니다. 이러한 유형의 엔드포인트는 AWS SDK에 관련된 많은 Amazon EC2 호환 CLI 명령 및 작업을 지원합니다. Snowball Edge AWS Management Console 의를 사용하여 AMIs 및 컴퓨팅 인스턴스를 관리할 수 없습니다.

디바이스 사용을 마치면 로 반환합니다 AWS. 디바이스가 가져오기 작업에 사용되었다면 Amazon S3 어댑터 또는 NFS 인터페이스를 사용해 전송된 데이터는 Amazon S3으로 가져옵니다. 그렇지 않으면 디바이스가 반환될 때 디바이스를 완전히 삭제합니다 AWS. 이 삭제는 NIST(National Institute of Standards and Technology) 800-88 표준에 따른 것입니다.

**중요**  
Snowball Edge Edge 디바이스에서 암호화된 AMIs 사용은 지원되지 않습니다.
Snowball Edge에서 실행되는 컴퓨팅 인스턴스의 데이터는 로 가져오지 않습니다 AWS.

**Topics**
+ [Snowball Edge에서 Amazon EC2와 Amazon EC2-compatible 인스턴스의 차이점](#ec2-compatible-sbe)
+ [Snowball Edge의 컴퓨팅 인스턴스 요금](#pricing-for-ec2-edge)
+ [Snowball Edge에서 Amazon EC2-compatible AMI 사용](using-ami.md)
+ [Snowball Edge 디바이스로 가상 머신 이미지 가져오기](ec2-ami-import-cli.md)
+ [Snowball Edge 디바이스에서 AWS CLI 및 API 작업 사용](using-ec2-cli-specify-region.md)
+ [Snowball Edge의 컴퓨팅 인스턴스에 대한 네트워크 구성](network-config-ec2.md)
+ [SSH를 사용하여 Snowball Edge의 컴퓨팅 인스턴스에 연결](ssh-ec2-edge.md)
+ [동일한 Snowball Edge의 EC2-compatible 컴퓨팅 인스턴스에서 S3 버킷으로 데이터 전송](data-transfer-ec2-s3-edge.md)
+ [EC2-compatible 인스턴스 자동 시작](using-ec2-edge-client.md)
+ [Snowball Edge에서 Amazon EC2-compatible 엔드포인트 사용](using-ec2-endpoint.md)
+ [Snowball Edge에서 시작 템플릿을 사용하여 EC2-compatible 인스턴스 자동 시작](ec2-autostart.md)
+ [Snowball Edge에서 Amazon EC2-compatible 인스턴스와 함께 Snow용 인스턴스 메타데이터 서비스 사용](imds.md)
+ [Snowball Edge에서 Amazon EC2-compatible 인스턴스와 함께 블록 스토리지 사용](edge-ebs.md)
+ [Snowball Edge의 보안 그룹을 사용하여 네트워크 트래픽 제어](edge-security-groups.md)
+ [Snowball Edge에서 지원되는 EC2-compatible 인스턴스 메타데이터 및 사용자 데이터](edge-compute-instance-metadata.md)
+ [Snowball Edge에서 실행 중인 EC2-compatible 인스턴스 중지](#managing-ec2-instances)

## Snowball Edge에서 Amazon EC2와 Amazon EC2-compatible 인스턴스의 차이점
<a name="ec2-compatible-sbe"></a>

AWS Snowball Edge EC2-compatible 인스턴스를 사용하면 고객이 EC2-compatible AMIs. EC2 APIs 

## Snowball Edge의 컴퓨팅 인스턴스 요금
<a name="pricing-for-ec2-edge"></a>

컴퓨팅 인스턴스 사용 시에는 추가 비용이 발생합니다. 자세한 내용은 [AWS Snowball Edge 요금](https://aws.amazon.com/snowball-edge/pricing)을 참조하세요.

# Snowball Edge에서 Amazon EC2-compatible AMI 사용
<a name="using-ami"></a>

 AWS Snowball Edge 디바이스에서 Amazon Machine Image(AMI)를 사용하려면 먼저 디바이스에 추가해야 합니다. AMI 추가 방법은 다음과 같습니다.
+ 디바이스를 주문할 때 AMI를 업로드합니다.
+ 디바이스가 현장에 도착하면 AMI를 추가합니다.

Snowball Edge와 함께 제공되는 Amazon EC2 컴퓨팅 인스턴스는 디바이스에 추가하는 Amazon EC2 AMIs를 기반으로 시작됩니다. Amazon EC2 호환 AMI는 Linux와 Microsoft Windows 운영 체제를 모두 지원합니다.

**Linux**  
지원되는 Linux 운영 체제는 다음과 같습니다.
+ [Amazon Linux 2 for Snowball Edge](https://aws.amazon.com/marketplace/pp/B08Q76DLTM/             )
**참고**  
이 AMI의 최신 버전은 Snowball Edge가 배송을 준비할 때 제공됩니다 AWS. 디바이스에서 이 AMI의 버전을 수신할 때 확인하려면 [Snowball Edge용 Amazon Linux 2 AMI 버전 확인](#snow-al-version) 섹션을 참조하세요.
+ [CentOS 7 (x86\$164) - HVM 업데이트 포함](https://aws.amazon.com/marketplace/pp/B00O7WM7QW)
+ Ubuntu 16.04 LTS - Xenial (HVM)
**참고**  
Ubuntu 16.04 LTS - Xenial(HVM) 이미지는에서 더 이상 지원되지 AWS Marketplace않지만 Amazon EC2 VM Import/Export를 통해 Snowball Edge 디바이스에서 사용할 수 있으며 AMIs.
+ [Ubuntu 20.04 LTS - Focal](https://aws.amazon.com/marketplace/pp/prodview-iftkyuwv2sjxi)
+ [Ubuntu 22.04 LTS - Jammy](https://aws.amazon.com/marketplace/pp/prodview-f2if34z3a4e3i)

보안을 위한 모범 사례로 새로운 Amazon Linux 2 AMIs가 출시되면 Snowball Edge에서 Amazon Linux 2 AMIs up-to-date 유지하세요. [Snowball Edge에서 Amazon Linux 2 AMIs 업데이트](update-ami.md)을(를) 참조하세요.

**Windows**  
지원되는 Windows 운영 체제는 다음과 같습니다.
+ Windows Server 2012 R2
+ Windows Server 2016
+ Windows Server 2019

VM Import/Export를 AWS 사용하여 로 Windows AMIs를 추가할 수 있습니다. 아니면 디바이스를 현장에 배포한 후 바로 이미지를 디바이스로 가져올 수 있습니다. 자세한 내용은 [Snowball Edge에 Microsoft Windows AMI 추가](#windows-ami) 단원을 참조하십시오.

**참고**  
에서 시작된 Windows AMIs는 디바이스에 추가할 AWS 수 없습니다.  
UEFI는 지원되지 않으므로 로컬에서 가져온 AMI는 BIOS 부팅 모드여야 합니다.

 Snowball Edge는 기존 보유 라이선스 사용(BYOL) 모델을 지원합니다. 자세한 내용은 [Snowball Edge에 Microsoft Windows AMI 추가](#windows-ami) 단원을 참조하십시오.

**참고**  
AWS Snowball Edge EC2-compatible 인스턴스를 사용하면 고객이 EC2-compatible AMIs. EC2 APIs 

**Topics**
+ [Snowball Edge 주문 작업을 생성할 때 AMI 추가](#add-ami-order)
+ [에서 Snowball Edge AWS Marketplace 에 AMI 추가](#add-marketplace-ami)
+ [디바이스 수신 후 Snowball Edge에 AMI 추가](#add-ami-locally)
+ [Snowball Edge에 Microsoft Windows AMI 추가](#windows-ami)
+ [Snowball Edge로 VM 이미지 가져오기](#import-vm-image)
+ [Snowball Edge용 최신 Amazon Linux 2 AMI 내보내기](#export-latest-al2-ami)

## Snowball Edge 주문 작업을 생성할 때 AMI 추가
<a name="add-ami-order"></a>

디바이스를 주문하면 AWS Snow 패밀리 관리 콘솔의 **Compute using EC2 instances - optional** 섹션에서 AMI를 선택하여 디바이스에 AMI를 추가할 수 있습니다. **Compute using EC2 instances - optional**에는 디바이스에 로드할 수 있는 모든 AMI가 나열되어 있습니다. 이러한 AMI는 다음 범주로 분류됩니다.
+ ** AWS Marketplace의 AMIs**- 지원되는 AMIs 목록에서 생성된 AMIs. AWS Marketplace에서 지원되는 AMI에서 AMIs[에서 Snowball Edge AWS Marketplace 에 AMI 추가](#add-marketplace-ami).
+ **VM Import를 사용하여 업로드한 AMI** - 디바이스를 주문하면 VM Import를 사용하여 업로드한 AMI가 콘솔에 나열됩니다. 자세한 내용은 VM Import/Export 사용 설명서**에서 [VM Import/Export를 사용하여 VM을 이미지로 가져오기](https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)를 참조하세요. 지원되는 가상화 환경에 대한 자세한 내용은 [VM Import/Export Requirements](https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html) 섹션을 참조하세요.

## 에서 Snowball Edge AWS Marketplace 에 AMI 추가
<a name="add-marketplace-ami"></a>

 AWS Marketplace 인스턴스 AWS Marketplace 를 시작하고, 인스턴스에서 AMIs를 생성하고, Snow 디바이스를 주문할 리전과 동일한 리전에서 AMI를 구성하여의 여러 AMI를 Snowball Edge 디바이스에 추가할 수 있습니다. 그런 다음 디바이스 주문 작업을 생성할 때 디바이스에 AMI를 포함하도록 선택할 수 있습니다. Marketplace에서 AMI를 선택할 때 지원되는 제품 코드와 플랫폼이 있는지 확인합니다.

**Topics**
+ [Snowball Edge용 AWS Marketplace AMIs의 제품 코드 및 플랫폼 세부 정보 확인](#check-marketplace-ami-codes-snb)
+ [Snowball Edge용 Amazon Linux 2 AMI 버전 확인](#snow-al-version)
+ [Snowball Edge 디바이스의 AMI 구성](#configure-ami-snow-device)

### Snowball Edge용 AWS Marketplace AMIs의 제품 코드 및 플랫폼 세부 정보 확인
<a name="check-marketplace-ami-codes-snb"></a>

에서 Snowball Edge 디바이스 AWS Marketplace 에 AMI를 추가하는 프로세스를 시작하기 전에 AMI의 제품 코드 및 플랫폼 세부 정보가에서 지원되는지 확인합니다 AWS 리전.

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

1. 탐색 모음에서 인스턴스를 시작할 리전과 Snowball Edge 디바이스 주문 작업을 생성할 리전을 선택합니다. 현재 위치와 관계없이 사용자가 고를 수 있는 리전을 임의로 선택합니다.

1. 탐색 창에서 **AMI**를 선택합니다.

1. 필터 및 검색 옵션을 사용하여 기준과 일치하는 AMI만 볼 수 있도록 표시되는 AMI 목록의 범위를 지정합니다. 예를 들어에서 제공하는 AMIs는 **퍼블릭 이미지를** AWS Marketplace선택합니다. 그런 다음 검색 옵션을 사용하여 표시되는 AMI 목록의 범위를 추가로 지정할 수 있습니다.
   + (새 콘솔) **검색** 창을 선택하고 메뉴에서 **소유자 별칭**, = 연산자, 값 **amazon**을 차례로 선택합니다.
   + (기존 콘솔) **검색(Search)** 창을 선택하고 메뉴에서 **소유자(Owner)**, 값 **Amazon 이미지(Amazon images)**를 차례로 선택합니다.
**참고**  
AMIs에는 **소스** 열에 **aws-marketplace**가 AWS Marketplace 포함됩니다.

1. **AMI ID** 열에서 AMI의 AMI ID를 선택합니다.

1. AMI의 **이미지 요약**에서 해당 리전에서 **제품 코드**를 지원하는지 확인합니다. 자세한 내용은 아래 표를 참조하세요.  
**지원되는 AWS Marketplace AMI 제품 코드**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/snowball/latest/developer-guide/using-ami.html)

1. 그런 다음 **플랫폼 세부 정보**에 아래 목록의 항목 중 하나가 포함되어 있는지도 확인합니다.
   + Amazon Linux, Ubuntu 또는 Debian
   + Red Hat Linux bring-your-own-license
   + Amazon RDS for Oracle bring-your-own-license
   + Windows bring-your-own-license

### Snowball Edge용 Amazon Linux 2 AMI 버전 확인
<a name="snow-al-version"></a>

다음 절차에 따라 Snowball Edge에서 Snowball Edge용 Amazon Linux 2 AMI의 버전을 확인합니다. 계속하기 AWS CLI 전에 최신 버전의를 설치합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서의 [의 최신 버전 설치 또는 업데이트를 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 참조하세요.
+ `describe-images` AWS CLI 명령을 사용하여 AMI에 대한 설명을 확인합니다. 버전은 설명에 포함되어 있습니다. 이전 단계의 퍼블릭 키 인증서를 제공합니다. 자세한 내용은 AWS CLI 명령 참조의 [describe-images](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html)를 참조하세요.

  ```
  aws ec2 describe-images --endpoint http://snow-device-ip:8008 --region snow                    
  ```  
**Example / `describe-images` 명령의 출력**  

  ```
  {
      "Images": [
          {
              "CreationDate": "2024-02-12T23:24:45.705Z",
              "ImageId": "s.ami-02ba84cb87224e16e",
              "Public": false,
              "ProductCodes": [
                  {
                      "ProductCodeId": "avyfzznywektkgl5qv5f57ska",
                      "ProductCodeType": "marketplace"
                  }
              ],
              "State": "AVAILABLE",
              "BlockDeviceMappings": [
                  {
                      "DeviceName": "/dev/xvda",
                      "Ebs": {
                          "DeleteOnTermination": true,
                          "Iops": 0,
                          "SnapshotId": "s.snap-0efb49f2f726fde63",
                          "VolumeSize": 8,
                          "VolumeType": "sbp1"
                      }
                  }
              ],
              "Description": "Snow Family Amazon Linux 2 AMI 2.0.20240131.0 x86_64 HVM gp2",
              "EnaSupport": false,
              "Name": "amzn2-ami-snow-family-hvm-2.0.20240131.0-x86_64-gp2-b7e7f8d2-1b9e-4774-a374-120e0cd85d5a",
              "RootDeviceName": "/dev/xvda"
          }
      ]
  }
  ```

  이 예제에서 Snowball Edge용 Amazon Linux 2 AMI의 버전은 입니다`2.0.20240131.0`. `Description` 이름 값에서 찾을 수 있습니다.

### Snowball Edge 디바이스의 AMI 구성
<a name="configure-ami-snow-device"></a>

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

1. 에서 지원되는 AMI의 새 인스턴스를 시작합니다 AWS Marketplace.
**참고**  
인스턴스 시작 시 인스턴스에 할당하는 스토리지 크기가 해당 사용 사례에 적합한지 확인합니다. Amazon EC2 콘솔에서는 **스토리지 추가**에서 이 작업을 수행합니다.

1. Snowball Edge에서 실행하고 싶은 애플리케이션을 설치 및 구성한 후 예상대로 작동하는지 테스트합니다.
**중요**  
단일 볼륨 AMI만 지원됩니다.
AMI의 EBS 볼륨은 10TB 이하여야 합니다. AMI 데이터에 필요한 EBS 볼륨 크기를 프로비저닝하는 것이 좋습니다. 이렇게 하면 AMI를 내보내고 디바이스로 로드하는 데 걸리는 시간을 줄일 수 있습니다. 디바이스를 배포한 후 인스턴스 크기를 조정하거나 인스턴스에 볼륨을 추가할 수 있습니다.
AMI의 EBS 스냅샷은 암호화되지 않아야 합니다.

1. 이 인스턴스를 생성하기 위해 SSH 키 페어에 사용한 PEM 또는 PPK 파일의 사본을 만듭니다. 이 파일을 Snowball Edge 디바이스와 통신하기 위해 사용하려는 서버에 저장합니다. SSH를 사용하여 디바이스의 EC2 호환 인스턴스에 연결할 때 필요하므로 이 파일의 경로를 기록해 둡니다.
**중요**  
이 절차를 따르지 않으면 Snowball Edge 디바이스의 수령 시 인스턴스를 SSH와 연결할 수 없습니다.

1. 인스턴스를 AMI로 저장합니다. 자세한 정보는 *Amazon EC2 사용 설명서*의 [Linux 인스턴스용 Amazon EC2 사용 설명서](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)를 참조하세요.

1. SSH를 사용하여 연결하려는 각 인스턴스에 대해 1\$14단계를 반복합니다. 각 SSH 키 페어의 사본을 만들고 연결된 AMI를 추적해야 합니다.

1. 이제 디바이스를 주문하면 이러한 AMI를 디바이스에 추가할 수 있습니다.

## 디바이스 수신 후 Snowball Edge에 AMI 추가
<a name="add-ami-locally"></a>

디바이스가 현장에 도착하면 새 AMI를 추가할 수 있습니다. 자세한 내용은 [Snowball Edge 디바이스로 가상 머신 이미지 가져오기](ec2-ami-import-cli.md) 섹션을 참조하세요. 모든 VM이 지원되기는 하지만, 지원되는 AMI만 전체 기능을 테스트했다는 점을 기억하세요.

**참고**  
VM Import를 사용하여 AMI를 디바이스에 추가하거나 디바이스가 배포된 후 VM을 가져오는 경우 운영 체제를 사용하는 VM을 추가할 수 있습니다. 그러나 지원되는 운영 체제만 Snowball Edge에서 테스트 및 검증되었습니다. 디바이스로 가져오는 가상 이미지에 있는 운영 체제 또는 소프트웨어의 이용 약관을 준수할 책임은 사용자에게 있습니다.  
 AWS 서비스가 Snowball Edge에서 제대로 작동하려면 서비스의 포트를 허용해야 합니다. 자세한 내용은 [Snowball Edge의 AWS 서비스에 대한 포트 요구 사항](port-requirements.md)을 참조하세요.

## Snowball Edge에 Microsoft Windows AMI 추가
<a name="windows-ami"></a>

지원되는 Windows 운영 체제를 사용하는 가상 머신(VMs)의 경우 VM Import/Export를 AWS 사용하여 로 Windows VM 이미지를 가져오거나 사이트에 배포된 직후 디바이스로 가져와 AMI를 추가할 수 있습니다.

**기존 보유 라이선스 사용(BYOL)**  
Snowball Edge는 자체 라이선스가 있는 사용자의 디바이스로 Microsoft Windows AMI를 가져올 수 있도록 지원합니다. 기존 보유 라이선스 사용(BYOL)은 온프레미스 라이선스를 사용하여 소유한 AMI를에 가져오는 프로세스입니다 AWS.는 BYOL 옵션에 대한 공유 배포 옵션과 전용 배포 옵션을 모두 AWS 제공합니다.

 VM Import/Export를 AWS 사용하여 로 가져오거나 사이트에 배포된 후 바로 디바이스로 가져와서 디바이스에 Windows VM 이미지를 추가할 수 있습니다. 에서 시작된 Windows AMIs 추가할 수 없습니다 AWS. 따라서 Snowball Edge 디바이스에서 AMI를 사용하려면 자체 Windows VM 이미지를 생성 및 가져오고 자체 라이선스를 가져와야 합니다. Windows 라이선스 및 BYOL에 대한 자세한 내용은 [Amazon Web Services 및 Microsoft: FAQ](https://aws.amazon.com/windows/faq/) 섹션을 참조하세요.

### Snowball Edge로 가져올 Windows VM 이미지 생성
<a name="create-windows-image"></a>

Windows VM 이미지를 생성하려면 Windows 및 macOS 운영 체제에서 지원되는 VirtualBox와 같은 가상화 환경이 필요합니다. Snow 디바이스용 VM을 생성할 때는 RAM이 4GB 이상인 코어를 2개 이상 할당하는 것이 좋습니다. VM이 가동되어 실행되면 운영 체제(Windows Server 2012, 2016 또는 2019)를 설치해야 합니다. Snowball Edge 디바이스에 필요한 드라이버를 설치하려면이 섹션의 지침을 따르세요.

Windows AMI를 Snow 디바이스에서 실행하려면 VirtIO, FLR, NetVCM, Vioinput, Viorng, Vioscsi, Vioserial 및 VioStor 드라이버를 추가해야 합니다. GitHub의 virtio-win-pkg-scripts 리포지토리에서 Windows 이미지에 이러한 드라이버를 설치하기 위한 [Microsoft 소프트웨어 설치 관리자(virtio-win-guest-tools-installer)를 다운로드](https://github.com/virtio-win/virtio-win-pkg-scripts)할 수 있습니다.

**참고**  
배포된 Snow 디바이스로 VM 이미지를 직접 가져오려는 경우 VM 이미지 파일은 RAW 형식이어야 합니다.

**Windows 이미지 생성**

1. Microsoft Windows 컴퓨터에서 **시작**을 선택하고 **devmgmt.msc**를 선택하여 **장치 관리자**를 엽니다.

1. 기본 메뉴에서 **작업**을 선택한 다음 **레거시 하드웨어 추가**를 선택합니다.
**참고**  
Windows 11의 경우 작업 **** 메뉴에 **레거시 하드웨어 추가** 옵션이 나타나기 전에 먼저 아래 패널에서 디바이스를 선택합니다.

1. 마법사에서 **다음**을 선택합니다.

1. **목록에서 수동으로 선택한 하드웨어 설치(고급)**를 선택하고 **다음**을 선택합니다.

1. **모든 장치 보기**를 선택하고 **다음**을 선택합니다.

1. **디스크 있음**을 선택하고 **목록에서 제조업체 파일 복사**를 연 다음 ISO 파일을 탐색합니다.

1. ISO 파일에서 `Driver\W2K8R2\amd64` 디렉터리를 탐색한 다음 해당 `.INF` 파일을 찾습니다.

1. **.INF** 파일을 선택하고 **열기**를 차례로 선택한 다음 **확인**을 선택합니다.

1. 드라이버 이름이 표시되면 **다음**을 선택하고 **다음**을 두 번 더 선택합니다. 그런 다음 **Finish(완료)**를 선택합니다.

   그러면 새 드라이버를 사용하여 디바이스가 설치됩니다. 실제 하드웨어는 존재하지 않으므로 디바이스에 문제가 있음을 나타내는 노란색 느낌표가 표시됩니다. 이 문제를 해결해야 합니다.

**하드웨어 문제 해결**

1. 느낌표가 있는 디바이스의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 엽니다.

1. **제거**를 선택하고 **이 장치의 드라이버 소프트웨어 삭제**를 선택 취소한 다음 **확인**을 선택합니다.

   드라이버가 설치되고 디바이스에서 AMI를 시작할 준비가 되었습니다.

## Snowball Edge로 VM 이미지 가져오기
<a name="import-vm-image"></a>

VM 이미지를 준비한 후 옵션 중 하나를 사용하여 이미지를 디바이스로 가져올 수 있습니다.
+ **VM Import/Export를 사용하는 클라우드에서 **로 VM 이미지를 가져 AWS 와 AMI로 등록할 때에서 주문할 때 디바이스에 추가할 수 있습니다 AWS Snow 패밀리 관리 콘솔. 자세한 내용은 VM Import/Export 사용 설명서**에서 [VM Import/Export를 사용하여 VM을 이미지로 가져오기](https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)를 참조하세요.
+ **사이트에 배포된 디바이스에서 로컬로** - AWS OpsHub 또는 AWS Command Line Interface ()를 사용하여 VM 이미지를 디바이스로 직접 가져올 수 있습니다AWS CLI.

  사용에 대한 자세한 내용은 로컬에서 Amazon EC2 호환 컴퓨팅 인스턴스 사용을 AWS OpsHub참조하세요. [ EC2-compatible ](https://docs.aws.amazon.com/snowball/latest/developer-guide/manage-ec2.html)

  사용에 대한 자세한 내용은 단원을 AWS CLI참조하십시오[Snowball Edge 디바이스로 가상 머신 이미지 가져오기](ec2-ami-import-cli.md).

## Snowball Edge용 최신 Amazon Linux 2 AMI 내보내기
<a name="export-latest-al2-ami"></a>

Amazon Linux 2 AMIs 최신 버전으로 업데이트하려면 먼저 최신 Amazon Linux 2 VM 이미지를에서 내보낸 AWS Marketplace다음 해당 VM 이미지를 Snow 디바이스로 가져옵니다.

1. `ssm get-parameters` AWS CLI 명령을 사용하여에서 Amazon Linux 2 AMI의 최신 이미지 ID를 찾습니다 AWS Marketplace.

   ```
     aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --query 'Parameters[0].[Value]' --region your-region                
   ```

   이 명령은 AMI의 최신 이미지 ID를 반환합니다. 예를 들어 `ami-0ccb473bada910e74`입니다.

1. 최신 Amazon Linux 2 이미지를 내보냅니다. Amazon EC2 사용 설명서의 [Amazon Machine Image(AMI)에서 직접 VM 내보내기](https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)를 참조하세요. `ec2 export-image` 명령의 `image-id` 파라미터 값으로 Amazon Linux 2 AMI의 최신 이미지 ID를 사용합니다.

1.  AWS CLI 또는를 사용하여 VM 이미지를 Snow 디바이스로 가져옵니다 AWS OpsHub.
   + 사용에 대한 자세한 내용은 단원을 AWS CLI참조하십시오[Snowball Edge 디바이스로 가상 머신 이미지 가져오기](ec2-ami-import-cli.md).
   + 사용에 대한 자세한 내용은 단원을 AWS OpsHub참조하십시오[를 사용하여 Amazon EC2-compatible AMI로 이미지 가져오기 AWS OpsHub](ec2-ami-import.md).

# Snowball Edge 디바이스로 가상 머신 이미지 가져오기
<a name="ec2-ami-import-cli"></a>

 AWS CLI 및 VM Import/Export 서비스를 사용하여 가상 머신(VM) 이미지를 Snowball Edge 디바이스로 Amazon Machine Image(AMI)로 가져올 수 있습니다. VM 이미지를 가져온 후 AMI로 등록하고 Amazon EC2-compatible 인스턴스로 시작합니다.

Snowball Edge 디바이스 주문 작업을 생성할 때 Amazon EC2의 AMIs를 디바이스에 추가할 수 있습니다. Snowball Edge 디바이스를 받은 후이 절차를 사용합니다. 자세한 내용은 [컴퓨팅 및 스토리지 옵션 선택](create-job-common.md#compute-storage) 단원을 참조하십시오.

를 사용하여 VM 이미지 파일을 업로드 AWS OpsHub 할 수도 있습니다. 자세한 내용은 [이미지를 Amazon EC2-compatible AMI로 디바이스로 가져오기](https://docs.aws.amazon.com/snowball/latest/developer-guide/manage-ec2.html#ec2-ami-import)를 참조하세요.

**Topics**
+ [1단계: VM 이미지를 준비하여 Snowball Edge 디바이스에 업로드](#prepare-image-cli)
+ [2단계: Snowball Edge에 필요한 권한 설정](#setup-permission-cli)
+ [3단계: Snowball Edge에서 VM 이미지를 스냅샷으로 가져오기](#import-snapshot-cli)
+ [4단계: Snowball Edge에서 스냅샷을 AMI로 등록](#register-snapshot-cli)
+ [5단계: Snowball Edge의 AMI에서 인스턴스 시작](#launch-ami-cli)
+ [Snowball Edge에 대한 추가 AMI 작업](#additional-ami-actions)

## 1단계: VM 이미지를 준비하여 Snowball Edge 디바이스에 업로드
<a name="prepare-image-cli"></a>

VM Import/Export를 AWS 클라우드 사용하여의 Amazon EC2 AMI 또는 인스턴스에서 VM 이미지를 내보내거나 선택한 가상화 플랫폼을 사용하여 로컬에서 VM 이미지를 생성하여 VM 이미지를 준비합니다.

VM Import/Export를 사용하여 Amazon EC2 인스턴스를 VM 이미지로 내보내려면 VM Import/Export 사용 설명서의 [VM Import/Export를 사용하여 인스턴스를 VM으로 내보내기](https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)를 참조하세요. VM Import/Export를 사용하여 Amazon EC2 AMI를 VM 이미지로 내보내려면 VM Import/Export 사용 설명서의 [Amazon Machine Image(AMI)에서 직접 VM 내보내기](https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)를 참조하세요.

로컬 환경에서 VM 이미지를 생성하는 경우 이미지가 Snowball Edge 디바이스에서 AMI로 사용하도록 구성되어 있는지 확인합니다. 환경에 따라 다음 항목을 구성해야 할 수 있습니다.
+ 운영 체제 구성 및 업데이트
+ 호스트 이름을 설정합니다.
+ 네트워크 시간 프로토콜(NTP)이 구성되어 있는지 확인합니다.
+ 필요한 경우 SSH 퍼블릭 키를 포함합니다. 키 페어의 로컬 복사본을 만듭니다. 자세한 내용은 [SSH를 사용하여 Snowball Edge의 컴퓨팅 인스턴스에 연결](https://docs.aws.amazon.com/snowball/latest/developer-guide/ssh-ec2-edge.html)을 참조하세요.
+ Snowball Edge 디바이스에서 사용할 소프트웨어를 설치하고 구성합니다.

**참고**  
Snowball Edge 디바이스의 디스크 스냅샷을 준비할 때 다음 제한 사항에 유의하세요.  
Snowball Edge는 현재 RAW 이미지 형식의 스냅샷 가져오기만 지원합니다.
Snowball Edge는 현재 크기가 1GB\$11TB인 스냅샷 가져오기만 지원합니다.

### Snowball Edge 디바이스의 Amazon S3 버킷에 VM 이미지 업로드
<a name="upload-images-to-your-device"></a>

VM 이미지를 준비한 후 Snowball Edge 디바이스 또는 클러스터의 S3 버킷에 업로드합니다. Snowball Edge에서 S3 어댑터 또는 Amazon S3 호환 스토리지를 사용하여 스냅샷을 업로드할 수 있습니다.

**S3 어댑터를 사용하여 가상 머신 이미지를 업로드하려면**
+ `cp` 명령을 사용하여 VM 이미지 파일을 디바이스의 버킷에 복사합니다.

  ```
  aws s3 cp image-path s3://S3-bucket-name --endpoint http://S3-object-API-endpoint:443 --profile profile-name
  ```

  자세한 내용은이 설명서의 [지원되는 AWS CLI 명령을 참조하세요](https://docs.aws.amazon.com/snowball/latest/developer-guide/using-adapter-cli.html).

**Snowball Edge에서 Amazon S3 호환 스토리지를 사용하여 VM 이미지를 업로드하려면**
+ `put-object` 명령을 사용하여 스냅샷 파일을 디바이스의 버킷에 복사합니다.

  ```
  aws s3api put-object --bucket bucket-name --key path-to-snapshot-file --body snapshot-file --endpoint-url s3api-endpoint-ip --profile your-profile       
  ```

  자세한 내용은 [Snowball Edge 디바이스에서 S3 객체 작업](https://docs.aws.amazon.com/snowball/latest/developer-guide/objects-s3-snow.html)을 참조하세요.

## 2단계: Snowball Edge에 필요한 권한 설정
<a name="setup-permission-cli"></a>

가져오기에 성공하려면 Snowball Edge 디바이스, Amazon EC2 및 사용자에서 VM Import/Export에 대한 권한을 설정해야 합니다.

**참고**  
이러한 권한을 제공하는 서비스 역할 및 정책은 Snowball Edge 디바이스에 있습니다.

### Snowball Edge에서 VM Import/Export에 필요한 권한
<a name="vmie-permissions"></a>

가져오기 프로세스를 시작하려면 먼저 Snowball Edge 디바이스에서 VM Import/Export가 역할을 수임하도록 허용하는 신뢰 정책을 사용하여 IAM 역할을 생성해야 합니다. 디바이스의 VM Import/Export가 디바이스의 S3 버킷에 저장된 이미지에 액세스할 수 있도록 허용하는 추가 권한이 역할에 부여됩니다.

**신뢰 정책 json 파일 생성**

다음은 S3 버킷에서 가져와야 하는 스냅샷에 VM Import가 액세스할 수 있도록 역할에 연결하는 데 필요한 신뢰 정책의 예시입니다.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"vmie.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}
```

------

**신뢰 정책 json 파일로 역할 생성**

역할 이름은 vmimport일 수 있습니다. 명령에서 --role-name 옵션을 사용하여 변경할 수 있습니다.

```
aws iam create-role --role-name role-name --assume-role-policy-document file:///trust-policy-json-path --endpoint http://snowball-ip:6078 --region snow  --profile profile-name
```

다음은 `create-role` 명령의 출력 예시입니다.

```
{
   "Role":{
      "AssumeRolePolicyDocument":{
         "Version":"2012-10-17",
         "Statement":[
            {
               "Action":"sts:AssumeRole",
               "Effect":"Allow",
               "Principal":{
                  "Service":"vmie.amazonaws.com"
               }
            }
         ]
      },
      "MaxSessionDuration":3600,
      "RoleId":"AROACEMGEZDGNBVGY3TQOJQGEZAAAABQBB6NSGNAAAABPSVLTREPY3FPAFOLKJ3",
      "CreateDate":"2022-04-19T22:17:19.823Z",
      "RoleName":"vmimport",
      "Path":"/",
      "Arn":"arn:aws:iam::123456789012:role/vmimport"
   }
}
```

**역할에 대한 정책 생성**

다음 예시 정책에는 Amazon S3에 액세스할 수 있는 최소한의 필수 권한이 있습니다. Amazon S3 버킷 이름을 이미지가 있는 이름으로 변경합니다. 독립형 Snowball Edge 디바이스의 경우 *snow-id*를 작업 ID로 변경합니다. 디바이스 클러스터의 경우 *snow-id*를 클러스터 ID로 변경합니다. 또한 접두사를 사용하여 VM Import가 스냅샷을 가져올 수 있는 위치를 더 좁힐 수 있습니다. 다음과 같은 정책 json 파일을 생성합니다.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket",
            "s3:GetMetadata"
         ],
         "Resource":[
            "arn:aws:s3:snow:account-id:snow/snow-id/bucket/import-snapshot-bucket-name",
            "arn:aws:s3:snow:account-id:snow/snow-id/bucket/import-snapshot-bucket-name/*"
            ]
      }
   ]
}
```

------

**정책 파일을 사용하여 정책을 생성합니다.**

```
aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

다음은 create-policy 명령의 출력 예시입니다.

```
{
   "Policy":{
      "PolicyName":"vmimport-resource-policy",
      "PolicyId":"ANPACEMGEZDGNBVGY3TQOJQGEZAAAABOOEE3IIHAAAABWZJPI2VW4UUTFEDBC2R",
      "Arn":"arn:aws:iam::123456789012:policy/vmimport-resource-policy",
      "Path":"/",
      "DefaultVersionId":"v1",
      "AttachmentCount":0,
      "IsAttachable":true,
      "CreateDate":"2020-07-25T23:27:35.690000+00:00",
      "UpdateDate":"2020-07-25T23:27:35.690000+00:00"
   }
}
```

****정책에 역할 연결****

이전 역할에 정책을 연결하고 필요한 리소스에 액세스할 수 있는 권한을 부여합니다. 이렇게 하면 로컬 VM Import 서비스가 Amazon S3의 스냅샷을 디바이스에 다운로드할 수 있습니다.

```
aws iam attach-role-policy --role-name role-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

### Snowball Edge에서 호출자에게 필요한 권한
<a name="caller-permissions"></a>

Snowball Edge VM Import가 담당할 역할 외에도 사용자가 VMIE에 역할을 넘길 수 있는 권한을 가지고 있는지 확인해야 합니다. 기본 루트 사용자를 사용하여 가져오기를 수행하는 경우 루트 사용자는 이미 필요한 모든 권한을 가지고 있으므로 이 단계를 건너뛰고 3단계로 이동해도 됩니다.

가져오기를 수행하는 사용자에게 다음 두 IAM 권한을 연결합니다.
+ `pass-role`
+ `get-role`

**역할에 대한 정책 생성**

다음은 사용자가 IAM 역할에 대해 `get-role` 및 `pass-role` 작업을 수행할 수 있도록 허용하는 정책 예시입니다.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
        {
            "Effect":"Allow",
            "Action": "iam:GetRole",
            "Resource":"*"
        },
        {
            "Sid": "iamPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/snowball*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "importexport.amazonaws.com"
                }
            }
        }
   ]
}
```

------

****정책 파일을 사용하여 정책을 생성합니다.****

```
aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

다음은 create-policy 명령의 출력 예시입니다.

```
{
   "Policy":{
      "PolicyName":"caller-policy",
      "PolicyId":"ANPACEMGEZDGNBVGY3TQOJQGEZAAAABOOOTUOE3AAAAAAPPBEUM7Q7ARPUE53C6R",
      "Arn":"arn:aws:iam::123456789012:policy/caller-policy",
      "Path":"/",
      "DefaultVersionId":"v1",
      "AttachmentCount":0,
      "IsAttachable":true,
      "CreateDate":"2020-07-30T00:58:25.309000+00:00",
      "UpdateDate":"2020-07-30T00:58:25.309000+00:00"
   }
}
```

정책이 생성되면 Amazon EC2 API 또는 CLI 작업을 직접 호출하여 스냅샷을 가져올 IAM 사용자에게 정책을 연결합니다.

```
aws iam attach-user-policy --user-name your-user-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

### Snowball Edge에서 Amazon EC2 APIs 호출하는 데 필요한 권한
<a name="ec2-permissions"></a>

스냅샷을 가져오려면 IAM 사용자에게 `ec2:ImportSnapshot` 권한이 있어야 합니다. 사용자 액세스를 제한할 필요가 없는 경우 `ec2:*` 권한을 사용하여 전체 Amazon EC2 액세스 권한을 부여할 수 있습니다. 다음은 디바이스의 Amazon EC2에 대해 부여하거나 제한할 수 있는 권한입니다. 표시된 내용에 따라 정책 파일을 생성합니다.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ec2:ImportSnapshot",
            "ec2:DescribeImportSnapshotTasks",
            "ec2:CancelImportTask",
            "ec2:DescribeSnapshots",
            "ec2:DeleteSnapshot",
            "ec2:RegisterImage",
            "ec2:DescribeImages",
            "ec2:DeregisterImage"
         ],
         "Resource":"*"
      }
   ]
}
```

------

**정책 파일을 사용하여 정책을 생성합니다.**

```
aws iam create-policy --policy-name policy-name --policy-document file:///policy-json-file-path --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

다음은 create-policy 명령의 출력 예시입니다.

```
{ 
    "Policy": 
        {
            "PolicyName": "ec2-import.json",
            "PolicyId": "ANPACEMGEZDGNBVGY3TQOJQGEZAAAABQBGPDQC5AAAAATYN62UNBFYTF5WVCSCZS",
            "Arn": "arn:aws:iam::123456789012:policy/ec2-import.json",
            "Path": "/",
            "DefaultVersionId": "v1",
            "AttachmentCount": 0,
            "IsAttachable": true,
            "CreateDate": "2022-04-21T16:25:53.504000+00:00",
            "UpdateDate": "2022-04-21T16:25:53.504000+00:00"
        }
}
```

정책이 생성되면 Amazon EC2 API 또는 CLI 작업을 직접 호출하여 스냅샷을 가져올 IAM 사용자에게 정책을 연결합니다.

```
aws iam attach-user-policy --user-name your-user-name --policy-arn arn:aws:iam::123456789012:policy/policy-name --endpoint http://snowball-ip:6078 --region snow --profile profile-name
```

## 3단계: Snowball Edge에서 VM 이미지를 스냅샷으로 가져오기
<a name="import-snapshot-cli"></a>

다음 단계는 VM 이미지를 디바이스의 스냅샷으로 가져오는 것입니다. `S3Bucket` 파라미터의 값은 VM 이미지가 포함된 버킷의 이름입니다. `S3Key` 파라미터의 값은 이 버킷의 VM 이미지 파일에 대한 경로입니다.

```
aws ec2 import-snapshot --disk-container "Format=RAW,UserBucket={S3Bucket=bucket-name,S3Key=image-file}" --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

자세한 내용은 AWS CLI 명령 참조의 [import-snapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/import-snapshot.html)을 참조하세요.

이 명령은 다음과 같은 스위치를 지원하지 않습니다.
+ [--client-data `value`] 
+ [--client-token `value`]
+ [--dry-run]
+ [--no-dry-run]
+ [--encrypted]
+ [--no-encrypted]
+ [--kms-key-id `value`]
+ [--tag-specifications `value`]

**Example `import-snapshot` 명령의 출력**  

```
{
   "ImportTaskId":"s.import-snap-1234567890abc",
   "SnapshotTaskDetail":{
      "DiskImageSize":2.0,
      "Encrypted":false,
      "Format":"RAW",
      "Progress":"3",
      "Status":"active",
      "StatusMessage":"pending",
      "UserBucket":{
         "S3Bucket":"bucket",
         "S3Key":"vmimport/image01"
      }
   }
}
```
Snowball Edge는 현재 디바이스당 한 번에 하나의 활성 가져오기 작업만 실행하도록 허용합니다. 새 가져오기 작업을 시작하려면 현재 작업이 완료될 때까지 기다리거나 클러스터에서 사용 가능한 다른 노드를 선택합니다. 원하는 경우 현재 가져오기를 취소할 수도 있습니다. 지연을 방지하려면 가져오기가 진행 중인 동안에는 Snowball Edge 디바이스를 재부팅하지 않습니다. 디바이스를 재부팅하면 가져오기가 실패하고 디바이스에 액세스할 수 있게 될 때 진행 상황이 삭제됩니다. 스냅샷 가져오기 태스크 상태를 확인하려면 다음 명령을 사용합니다.  

```
aws ec2 describe-import-snapshot-tasks --import-task-ids id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

## 4단계: Snowball Edge에서 스냅샷을 AMI로 등록
<a name="register-snapshot-cli"></a>

디바이스로 스냅샷을 성공적으로 가져오면 `register-image` 명령을 사용하여 스냅샷을 등록할 수 있습니다.

**참고**  
모든 스냅샷을 사용할 수 있는 경우에만 AMI를 등록할 수 있습니다.

자세한 내용은 AWS CLI 명령 참조의 [register-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/register-image.html)를 참조하세요.

**Example / `register-image` 명령**  

```
aws ec2 register-image \
--name ami-01 \
--description my-ami-01 \
--block-device-mappings "[{\"DeviceName\": \"/dev/sda1\",\"Ebs\":{\"Encrypted\":false,\"DeleteOnTermination\":true,\"SnapshotId\":\"snapshot-id\",\"VolumeSize\":30}}]" \
--root-device-name /dev/sda1 \
--endpoint http://snowball-ip:8008 \
--region snow \
--profile profile-name
```

다음은 블록 디바이스 매핑 JSON의 예시입니다. 자세한 내용은 AWS CLI 명령 참조의 [register-image의 block-device-mapping 파라미터를](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/register-image.html) 참조하세요.

```
[
    {
        "DeviceName": "/dev/sda",
        "Ebs": 
            {
                "Encrypted": false,
                "DeleteOnTermination": true,
                "SnapshotId": "snapshot-id",
                "VolumeSize": 30
            }
    }
]
```

**Example / `register-image` 명령**  

```
{
    "ImageId": "s.ami-8de47d2e397937318"
 }
```

## 5단계: Snowball Edge의 AMI에서 인스턴스 시작
<a name="launch-ami-cli"></a>

인스턴스를 시작하려면 AWS CLI 명령 참조의 [run-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html)를 참조하세요.

`image-id` 파라미터의 값은 `register-image` 명령의 출력으로서 `ImageId` 이름의 값입니다.

```
aws ec2 run-instances --image-id image-id --instance-type instance-type --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

```
{
   "Instances":[
      {
         "SourceDestCheck":false,
         "CpuOptions":{
            "CoreCount":1,
            "ThreadsPerCore":2
         },
         "InstanceId":"s.i-12345a73123456d1",
         "EnaSupport":false,
         "ImageId":"s.ami-1234567890abcdefg",
         "State":{
            "Code":0,
            "Name":"pending"
         },
         "EbsOptimized":false,
         "SecurityGroups":[
            {
               "GroupName":"default",
               "GroupId":"s.sg-1234567890abc"
            }
         ],
         "RootDeviceName":"/dev/sda1",
         "AmiLaunchIndex":0,
         "InstanceType":"sbe-c.large"
      }
   ],
   "ReservationId":"s.r-1234567890abc"
}
```

**참고**  
 AWS OpsHub 를 사용하여 인스턴스를 시작할 수도 있습니다. 자세한 내용은 이 설명서의 [Amazon EC2-compatible 인스턴스 시작하기](https://docs.aws.amazon.com/snowball/latest/developer-guide/manage-ec2.html#launch-instance)를 참조하세요.

## Snowball Edge에 대한 추가 AMI 작업
<a name="additional-ami-actions"></a>

추가 AWS CLI 명령을 사용하여 스냅샷 가져오기 상태를 모니터링하고, 가져온 스냅샷에 대한 세부 정보를 가져오고, 스냅샷 가져오기를 취소하고, 스냅샷을 가져온 후 스냅샷을 삭제하거나 등록 취소할 수 있습니다.

### Snowball Edge에서 스냅샷 가져오기 상태 모니터링
<a name="decribe-import-task-cli"></a>

Amazon EC2 `describe-import-snapshot-tasks` 명령을 실행하여 현재 가져오기 진행 상태를 확인할 수 있습니다. 이 명령은 `task-state`의 페이지 매김 및 필터링을 지원합니다.

**Example / `describe-import-snapshot-tasks` 명령**  

```
aws ec2 describe-import-snapshot-tasks --import-task-ids id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**Example / `describe-import-snapshot-tasks` 명령 출력**  

```
{
        "ImportSnapshotTasks": [
            {
                "ImportTaskId": "s.import-snap-8f6bfd7fc9ead9aca",                
                "SnapshotTaskDetail": {
                    "Description": "Created by AWS-Snowball-VMImport service for s.import-snap-8f6bfd7fc9ead9aca",                    
                    "DiskImageSize": 8.0,                    
                    "Encrypted": false,                    
                    "Format": "RAW",  
                    "Progress": "3",                  
                    "SnapshotId": "s.snap-848a22d7518ad442b",                    
                    "Status": "active", 
                    "StatusMessage": "pending",                   
                    "UserBucket": {
                        "S3Bucket": "bucket1",                        
                        "S3Key": "image1"                        
                    }
                }
            }
        ]
 }
```

**참고**  
이 명령은 지난 7일 이내에 성공적으로 완료되었거나 삭제된 것으로 표시된 작업에 대한 출력만 표시합니다. 필터링은 `Name=task-state`, `Values=active | deleting | deleted | completed`만 지원합니다.

이 명령은 다음과 같은 파라미터를 지원하지 않습니다.
+ [--dry-run]
+ [--no-dry-run]

### Snowball Edge에서 가져오기 작업 취소
<a name="cancel-import-task-cli"></a>

가져오기 태스크를 취소하려면 `cancel-import-task` 명령을 실행합니다.

**Example / `cancel-import-task` 명령**  

```
aws ec2 cancel-import-task --import-task-id import-task-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**Example / `cancel-import-task` 명령 출력**  

```
{
        "ImportTaskId": "s.import-snap-8234ef2a01cc3b0c6",
        "PreviousState": "active",
        "State": "deleting"
}
```
완료 상태가 아닌 태스크만 취소할 수 있습니다.

이 명령은 다음과 같은 파라미터를 지원하지 않습니다.
+ [--dry-run]
+ [--no-dry-run]

### Snowball Edge에서 스냅샷 설명
<a name="describe-snapshots-cli"></a>

스냅샷을 가져온 후 이 명령을 사용하여 스냅샷을 설명할 수 있습니다. 스냅샷을 필터링하려면 이전 가져오기 태스크 응답의 스냅샷 ID를 사용하여 `snapshot-ids`에서 전달할 수 있습니다. 이 명령은 `volume-id`, `status` 및 `start-time`의 페이지 매김 및 필터링을 지원합니다.

**Example / `describe-snapshots` 명령**  

```
aws ec2 describe-snapshots --snapshot-ids snapshot-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**Example / `describe-snapshots` 명령 출력**  

```
{
    "Snapshots": [
        {
            "Description": "Created by AWS-Snowball-VMImport service for s.import-snap-8f6bfd7fc9ead9aca",
            "Encrypted": false,
            "OwnerId": "123456789012",
            "SnapshotId": "s.snap-848a22d7518ad442b",
            "StartTime": "2020-07-30T04:31:05.032000+00:00",
            "State": "completed",
            "VolumeSize": 8
        }
    ]
 }
```

이 명령은 다음과 같은 파라미터를 지원하지 않습니다.
+ [--restorable-by-user-ids `value`] 
+ [--dry-run]
+ [--no-dry-run]

### Snowball Edge 디바이스에서 스냅샷 삭제
<a name="delete-snapshot-cli"></a>

소유하고 있어 더 이상 필요하지 않은 스냅샷을 제거하려면 `delete-snapshot` 명령을 사용할 수 있습니다.

**Example / `delete-snapshot` 명령**  

```
aws ec2 delete-snapshot --snapshot-id snapshot-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

**참고**  
Snowball Edge는 **보류 중** 상태이거나 AMI의 루트 디바이스로 지정된 스냅샷의 삭제를 지원하지 않습니다.

이 명령은 다음과 같은 파라미터를 지원하지 않습니다.
+ [--dry-run]
+ [--no-dry-run]

### Snowball Edge에서 AMI 등록 취소
<a name="deregister-snapshot-cli"></a>

더 이상 필요 없는 AMI의 등록을 취소하려면 `deregister-image` 명령을 사용할 수 있습니다. **보류 중** 상태인 AMI의 등록 취소는 현재 지원되지 않습니다.

**Example / `deregister-image` 명령**  

```
aws ec2 deregister-image --image-id image-id --endpoint http://snowball-ip:8008 --region snow --profile profile-name
```

이 명령은 다음과 같은 파라미터를 지원하지 않습니다.
+ [--dry-run]
+ [--no-dry-run]

# Snowball Edge 디바이스에서 AWS CLI 및 API 작업 사용
<a name="using-ec2-cli-specify-region"></a>

 AWS Command Line Interface (AWS CLI) 또는 API 작업을 사용하여 Snowball Edge에서 IAM, Amazon S3 및 Amazon EC2 명령을 실행할 때는를 ""`region`로 지정해야 합니다`snow`. 다음 예제와 같이 명령 자체 내에서 `AWS configure` 또는를 사용하여이 작업을 수행할 수 있습니다.

```
aws configure --profile ProfileName
AWS Access Key ID [None]: defgh
AWS Secret Access Key [None]: 1234567
Default region name [None]: snow
Default output format [None]: json
```

Or

```
aws s3 ls --endpoint http://192.0.2.0:8080 --region snow --profile ProfileName
```

# Snowball Edge의 컴퓨팅 인스턴스에 대한 네트워크 구성
<a name="network-config-ec2"></a>

Snowball Edge에서 컴퓨팅 인스턴스를 시작한 후에는 네트워크 인터페이스를 생성하여 IP 주소를 제공해야 합니다. Snowball Edges는 가상 네트워크 인터페이스와 직접 네트워크 인터페이스라는 두 가지 종류의 네트워크 인터페이스를 지원합니다.

**가상 네트워크 인터페이스(VNI)** - 가상 네트워크 인터페이스는 Snowball Edge의 EC2-compatible 인스턴스에 연결하기 위한 표준 네트워크 인터페이스입니다. 다이렉트 네트워크 인터페이스 사용 여부에 관계없이 EC2 호환 인스턴스 각각에 대해 VNI를 생성해야 합니다. VNI를 통과하는 트래픽은 설정한 보안 그룹에 의해 보호됩니다. Snowball Edge를 제어하는 데 사용하는 물리적 네트워크 포트에만 VNIs를 연결할 수 있습니다.

**참고**  
VNI는 Snowball Edge를 관리하는 데 사용되는 것과 동일한 물리적 인터페이스(RJ45, SFP\$1 또는 QSFP)를 사용합니다. 디바이스 관리에 사용되는 인터페이스와 다른 물리적 인터페이스에 VNI를 만들면 예상치 못한 결과가 발생할 수 있습니다.

**다이렉트 네트워크 인터페이스(DNI)** – 멀티캐스트 스트림, 전환 라우팅, 로드 밸런싱과 같은 사용 사례를 지원하는 고급 네트워크 기능입니다. 중간 번역 또는 필터링 없이 인스턴스에 계층 2 네트워크 액세스를 제공하여 Snowball Edge의 네트워크 구성에 대한 유연성을 높이고 네트워크 성능을 개선할 수 있습니다. DNI는 VLAN 태그를 지원하고 MAC 주소를 사용자 지정합니다. DNI의 트래픽은 보안 그룹에 의해 보호되지 않습니다.

Snowball Edge 디바이스에서는 DNI를 RJ45, SFP 또는 QSFP 포트와 연결할 수 있습니다. 각 물리적 포트는 최대 63개의 DNI를 지원합니다. DNIs Snowball Edge를 관리하는 데 사용하는 것과 동일한 물리적 네트워크 포트에 연결할 필요가 없습니다.

**참고**  
Snowball Edge 스토리지 최적화(EC2 컴퓨팅 기능 포함) 디바이스는 DNI를 지원하지 않습니다.

**Topics**
+ [Snowball Edge의 DNIs 또는 VNIs에 대한 사전 조건](#snowcone-configuration-prerequisites)
+ [Snowball Edge에서 가상 네트워크 인터페이스(VNI) 설정](#setup-vni)
+ [Snowball Edge에서 직접 네트워크 인터페이스(DNI) 설정](#snowcone-setup-dni)

## Snowball Edge의 DNIs 또는 VNIs에 대한 사전 조건
<a name="snowcone-configuration-prerequisites"></a>

VNI 또는 DNI를 구성하려면 먼저 다음 사전 조건을 충족해야 합니다.

****

1. 디바이스에 전원이 연결되어 있고 RJ45 포트와 같은 물리적 네트워크 인터페이스 중 하나가 IP 주소와 연결되어 있는지 확인합니다.

1. Snowball Edge에서 사용 중인 물리적 네트워크 인터페이스와 연결된 IP 주소를 가져옵니다.

1. Snowball Edge 클라이언트를 구성합니다. 자세한 내용은 [Snowball Edge 클라이언트의 프로필 구성](using-client-commands.md#client-configuration) 단원을 참조하십시오.

1.  AWS CLI구성. 자세한 내용은 AWS Command Line Interface 사용 설명서[의 시작하기 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)를 참조하세요.

1. 디바이스의 잠금을 해제합니다.
   +  AWS OpsHub 를 사용하여 디바이스를 잠금 해제합니다. 자세한 내용은 Snowball Edge 참조하세요.[AWS OpsHub](https://docs.aws.amazon.com/snowball/latest/developer-guide/connect-unlock-device.html)
   + Snowball Edge 클라이언트를 사용하여 디바이스를 잠금 해제합니다. 자세한 내용은 [Snowball Edge 잠금 해제](unlockdevice.md) 단원을 참조하십시오.

1. 디바이스에서 EC2 호환 인스턴스를 시작합니다. VNI를 이 인스턴스와 연결합니다.

1. Snowball Edge 클라이언트를 사용하여 `describe-device` 명령을 실행합니다. 명령의 출력에서 물리적 네트워크 인터페이스 ID 목록을 제공합니다. 자세한 내용은 [Snowball Edge 상태 보기](using-client-commands.md#client-status) 단원을 참조하십시오.

1. 사용하려는 물리적 네트워크 인터페이스의 ID를 알아내 이를 기록해 둡니다.

## Snowball Edge에서 가상 네트워크 인터페이스(VNI) 설정
<a name="setup-vni"></a>

 물리적 네트워크 인터페이스의 ID를 식별한 후 해당하는 물리적 인터페이스를 사용하여 가상 네트워크 인터페이스(VNI)를 설정할 수 있습니다. 다음 절차에 따라 VNI를 설정합니다. VNI를 생성하기 전에 필수 작업을 수행해야 합니다.

**VNI 생성 및 IP 주소 연결**

1. Snowball Edge 클라이언트를 사용하여 `create-virtual-network-interface` 명령을 실행합니다. 다음 예시에서는 두 가지 서로 다른 IP 주소 배정 방법, 즉 `DHCP` 또는 `STATIC`을 사용하여 이 명령을 실행하는 방법을 보여줍니다. `DHCP` 메서드는 Dynamic Host Configuration Protocol(DHCP)를 사용합니다.

   ```
   snowballEdge create-virtual-network-interface \
   --physical-network-interface-id s.ni-abcd1234 \
   --ip-address-assignment DHCP \
   --profile profile-name
           //OR//
           
   snowballEdge create-virtual-network-interface \
   --physical-network-interface-id s.ni-abcd1234 \
   --ip-address-assignment STATIC \
   --static-ip-address-configuration IpAddress=192.0.2.0,Netmask=255.255.255.0 \
   --profile profile-name
   ```

   이 명령은 IP 주소가 포함된 JSON 구조를 반환합니다. 프로세스 후반부에서 `ec2 associate-address` AWS CLI 명령과 함께 사용할 IP 주소를 기록해 둡니다.

   이 IP 주소가 필요할 때마다 Snowball Edge 클라이언트 명령 `describe-virtual-network-interfaces` Snowball Edge 클라이언트 명령 또는 AWS CLI 명령을 사용하여 `aws ec2 describe-addresses` 가져올 수 있습니다.

1.  AWS CLI 를 사용하여 IP 주소를 EC2-compatible 인스턴스와 연결하고 빨간색 텍스트를 값으로 바꿉니다.

   ```
   aws ec2 associate-address --public-ip 192.0.2.0 --instance-id s.i-01234567890123456 --endpoint http://Snowball Edge physical IP address:8008
   ```

## Snowball Edge에서 직접 네트워크 인터페이스(DNI) 설정
<a name="snowcone-setup-dni"></a>

**참고**  
 직접 네트워크 인터페이스 기능은 2021년 1월 12일 이후에 사용할 수 있으며 Snowball Edges를 사용할 수 AWS 리전 있는 모든에서 사용할 수 있습니다.

### Snowball Edge의 DNI에 대한 사전 조건
<a name="use-snowwire-prerequisites"></a>

직접 네트워크 인터페이스(DNI)를 설정하기 전에 사전 조건 섹션의 태스크를 수행해야 합니다.

1. DNI를 설정하기 전에 필수 태스크를 수행합니다. 지침은 [Snowball Edge의 DNIs 또는 VNIs에 대한 사전 조건](#snowcone-configuration-prerequisites) 섹션을 참조하세요.

1. 또한 디바이스에서 인스턴스를 시작하고, VNI를 생성한 다음, 인스턴스와 연결해야 합니다. 지침은 [Snowball Edge에서 가상 네트워크 인터페이스(VNI) 설정](#setup-vni) 섹션을 참조하세요.
**참고**  
현장 소프트웨어 업데이트를 수행하여 기존 디바이스에 직접 네트워킹을 추가한 경우, 기능을 완전히 활성화하려면 디바이스를 두 번 재시작해야 합니다.

**DNI를 생성하고 IP 주소를 연결합니다.**

1. 다음 명령을 실행하여 직접 네트워크 인터페이스를 생성하고 Amazon EC2 호환 인스턴스에 연결합니다. 다음 단계에서는 디바이스의 MAC 주소가 필요합니다.

   ```
   create-direct-network-interface [--endpoint endpoint] [--instance-id instanceId] [--mac macAddress]
                                   [--physical-network-interface-id physicalNetworkInterfaceId] 
                                   [--unlock-code unlockCode] [--vlan vlanId]
   ```

   OPTIONS

   ** --endpoint <endpoint>** 이 요청을 보낼 엔드포인트입니다. 디바이스의 엔드포인트는 `https` 스키마 뒤에 IP 주소를 사용하는 URL이 됩니다. 예를 들어 디바이스의 IP 주소가 123.0.1.2인 경우 디바이스의 엔드포인트는 https://123.0.1.2가 됩니다.

   ** --instance-id <instanceId>** 인터페이스를 연결할 EC2 호환 인스턴스 ID입니다(선택 사항).

   ** --mac <macAddress>** 네트워크 인터페이스의 MAC 주소를 설정합니다(선택 사항).

   **--physical-network-interface-id <physicalNetworkInterfaceId>** 새 가상 네트워크 인터페이스를 생성할 물리적 네트워크 인터페이스의 ID입니다. `describe-device` 명령을 사용하여 Snowball Edge에서 사용할 수 있는 물리적 네트워크 인터페이스를 결정할 수 있습니다.

    **--vlan <vlanId>** 인터페이스에 할당된 VLAN을 설정합니다(선택 사항). 지정된 경우 인터페이스에서 전송되는 모든 트래픽에는 지정된 VLAN ID의 태그가 지정됩니다. 수신 트래픽은 지정된 VLAN ID로 필터링되며, 인스턴스로 전달되기 전에 모든 VLAN 태그가 제거됩니다.

1. DNI를 생성하여 EC2 호환 인스턴스에 연결한 후에는 Amazon EC2 호환 인스턴스 내에서 구성을 두 번 변경해야 합니다.
   + 첫 번째는 EC2 호환 인스턴스와 연결된 VNI를 위한 패킷이 eth0을 통해 전송되도록 변경하는 것입니다.
   + 두 번째는 부팅 시 DCHP 또는 고정 IP를 사용하도록 직접 네트워크 인터페이스를 구성하는 것입니다.

   다음은 이러한 구성을 변경하는 Amazon Linux 2 및 CentOS Linux용 쉘 스크립트의 예시입니다.

------
#### [ Amazon Linux 2 ]

   ```
   # Mac address of the direct network interface. 
   # You got this when you created the direct network interface.
   DNI_MAC=[MAC ADDRESS FROM CREATED DNI]
   
   # Configure routing so that packets meant for the VNI always are sent through eth0.
   PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
   PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}')
   ROUTE_TABLE=10001
   echo "from $PRIVATE_IP table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/rule-eth0
   echo "default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE" > /etc/sysconfig/network-scripts/route-eth0
   echo "169.254.169.254 dev eth0" >> /etc/sysconfig/network-scripts/route-eth0
   
   # Query the persistent DNI name, assigned by udev via ec2net helper.
   #   changable in /etc/udev/rules.d/70-persistent-net.rules
   DNI=$(ip --oneline link | grep -i $DNI_MAC | awk -F ': ' '{ print $2 }')
   
   # Configure DNI to use DHCP on boot.
   cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI
   DEVICE="$DNI"
   NAME="$DNI"
   HWADDR=$DNI_MAC
   ONBOOT=yes
   NOZEROCONF=yes
   BOOTPROTO=dhcp
   TYPE=Ethernet
   MAINROUTETABLE=no
   EOF
   
   # Make all changes live.
   systemctl restart network
   ```

------
#### [ CentOS Linux ]

   ```
   # Mac address of the direct network interface. You got this when you created the direct network interface.
   DNI_MAC=[MAC ADDRESS FROM CREATED DNI]
   # The name to use for the direct network interface. You can pick any name that isn't already in use.
   DNI=eth1
   
   # Configure routing so that packets meant for the VNIC always are sent through eth0 
   PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
   PRIVATE_GATEWAY=$(ip route show to match 0/0 dev eth0 | awk '{print $3}')
   ROUTE_TABLE=10001
   echo from $PRIVATE_IP table $ROUTE_TABLE > /etc/sysconfig/network-scripts/rule-eth0
   echo default via $PRIVATE_GATEWAY dev eth0 table $ROUTE_TABLE > /etc/sysconfig/network-scripts/route-eth0
   
   # Configure your direct network interface to use DHCP on boot.
   cat << EOF > /etc/sysconfig/network-scripts/ifcfg-$DNI
   DEVICE="$DNI"
   NAME="$DNI"
   HWADDR="$DNI_MAC"
   ONBOOT=yes
   NOZEROCONF=yes
   BOOTPROTO=dhcp
   TYPE=Ethernet
   EOF
   
   # Rename DNI device if needed.
   CURRENT_DEVICE_NAME=$(LANG=C ip -o link | awk -F ': ' -vIGNORECASE=1 '!/link\/ieee802\.11/ && /'"$DNI_MAC"'/ { print $2 }')
   ip link set $CURRENT_DEVICE_NAME name $DNI
   
   # Make all changes live.
   systemctl restart network
   ```

------

# SSH를 사용하여 Snowball Edge의 컴퓨팅 인스턴스에 연결
<a name="ssh-ec2-edge"></a>

Secure Shell(SSH)을 사용하여 Snowball Edge의 컴퓨팅 인스턴스에 연결하려면 SSH 키를 제공하거나 생성하는 다음과 같은 옵션이 있습니다.
+ 디바이스 주문 작업을 생성할 때 Amazon Machine Image(AMI)에 SSH 키를 제공할 수 있습니다. 자세한 내용은 [Snowball Edge 주문 작업 생성을 참조하세요](https://docs.aws.amazon.com/snowball/latest/developer-guide/create-job-common.html).
+ Snowball Edge로 가져올 가상 머신 이미지를 생성할 때 AMI의 SSH 키를 제공할 수 있습니다. 자세한 내용은 [Snowball Edge 디바이스로 가상 머신 이미지 가져오기](ec2-ami-import-cli.md) 단원을 참조하십시오.
+ Snowball Edge에서 키 페어를 생성하고 로컬에서 생성된 퍼블릭 키로 인스턴스를 시작하도록 선택할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서의 [Amazon EC2를 사용하여 키 페어 생성](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#having-ec2-create-your-key-pair)을 참조하세요.

**SSH를 통해 EC2 인스턴스에 연결하려면**

1. 디바이스에 전원이 인가되어 있고 네트워크에 연결되어 있으며 잠금 해제가 되어 있는지 확인합니다. 자세한 내용은 [로컬 네트워크에 Snowball Edge 연결](getting-started.md#getting-started-connect) 단원을 참조하십시오.

1. 컴퓨팅 인스턴스에 대해 네트워크 설정이 구성되어 있는지 확인합니다. 자세한 내용은 [Snowball Edge의 컴퓨팅 인스턴스에 대한 네트워크 구성](network-config-ec2.md) 섹션을 참조하십시오.

1. 이러한 특정 인스턴스에 대해 사용한 PEM 또는 PPK 키 페어를 찾기 위해 메모를 확인합니다. 이 파일을 컴퓨터에 복사합니다. PEM 파일의 경로를 적어 둡니다.

1. 다음 예시 명령과 같이 SSH를 통해 인스턴스에 연결합니다. IP 주소는 [Snowball Edge의 컴퓨팅 인스턴스에 대한 네트워크 구성](network-config-ec2.md)에서 설정한 가상 네트워크 인터페이스(VNIC)의 IP 주소입니다.

   ```
     ssh -i path/to/PEM/key/file instance-user-name@192.0.2.0
   ```

   자세한 내용은 *Amazon EC2 사용 설명서*의 [SSH를 사용하여 Linux 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)을 참조하세요.

# 동일한 Snowball Edge의 EC2-compatible 컴퓨팅 인스턴스에서 S3 버킷으로 데이터 전송
<a name="data-transfer-ec2-s3-edge"></a>

동일한 Snowball Edge 디바이스에서 컴퓨팅 인스턴스와 Amazon S3 버킷 간에 데이터를 전송할 수 있습니다. 지원되는 AWS CLI 명령과 적절한 엔드포인트를 사용하여이 작업을 수행할 수 있습니다. 예를 들어, 동일한 디바이스에서 내 `sbe1.xlarge` 인스턴스의 디렉터리에 있는 데이터를 Amazon S3 버킷인 `amzn-s3-demo-bucket`으로 이동하고 싶다고 가정합니다. Amazon S3 compatible storage on Snowball Edge 엔드포인트를 사용하고 있다고 가정합니다`https://S3-object-API-endpoint:443`. 다음 절차를 수행하세요.

**동일한 Snowball Edge에서 컴퓨팅 인스턴스와 버킷 간에 데이터 전송**

1. SSH를 사용하여 컴퓨팅 인스턴스에 연결합니다.

1. 를 다운로드하여 설치합니다 AWS CLI. 인스턴스에 AWS CLI이 없는 경우 다운로드하여 설치합니다. 자세한 정보는 [AWS Command Line Interface설치](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 섹션을 참조하세요.

1. Snowball Edge AWS CLI 의 Amazon S3 엔드포인트와 함께 작동하도록 컴퓨팅 인스턴스에서를 구성합니다. 자세한 내용은 [Snowball Edge에서 로컬 Amazon S3 자격 증명 가져오기 및 사용](using-adapter.md#adapter-credentials) 단원을 참조하십시오.

1. 지원되는 Amazon S3 compatible storage on Snowball Edge 명령을 사용하여 데이터를 전송합니다. 예:

   ```
   aws s3 cp ~/june2018/results s3://amzn-s3-demo-bucket/june2018/results --recursive --endpoint https://S3-object-API-endpoint:443
   ```

# EC2-compatible 인스턴스 자동 시작
<a name="using-ec2-edge-client"></a>

Snowball Edge 클라이언트는 환경에서 실행할 수 있는 독립형 명령줄 인터페이스(CLI) 애플리케이션입니다. 이를 통해 Snowball Edge 디바이스 또는 디바이스 클러스터에서 일부 관리 작업을 할 수 있습니다. 서비스를 시작 및 중지하는 방법을 비롯하여 Snowball Edge 클라이언트를 사용하는 방법에 대한 자세한 내용은 [Snowball Edge 클라이언트 구성 및 사용](using-client-commands.md) 섹션을 참조하세요.

아래에서 사용 예시를 포함하여 컴퓨팅 인스턴스와 관련된 Snowball Edge 클라이언트 명령에 대한 정보를 찾을 수 있습니다.

 AWS Snowball Edge 디바이스에서 사용할 수 있는 Amazon EC2-compatible 명령 목록은 섹션을 참조하세요[Snowball Edge에서 지원되는 Amazon EC2-compatible AWS CLI 명령](using-ec2-endpoint.md#cli-support-ec2-edge).

## Snowball Edge에서 EC2-compatible 시작 구성 생성
<a name="ec2-edge-create-autostart-config"></a>

잠금을 해제한 후 AWS Snowball Edge 디바이스에서 Amazon EC2-compatible 컴퓨팅 인스턴스를 자동으로 시작하려면 시작 구성을 생성할 수 있습니다. 이를 위해서는 다음과 같이 `snowballEdge create-autostart-configuration` 명령을 사용합니다.

**사용량**

```
snowballEdge create-autostart-configuration --physical-connector-type [SFP_PLUS or RJ45 or QSFP] --ip-address-assignment [DHCP or STATIC] [--static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]] --launch-template-id [--launch-template-version]
```

## Snowball Edge에서 EC2-compatible 시작 구성 업데이트
<a name="ec2-edge-update-autostart-config"></a>

Snowball Edge의 기존 시작 구성을 업데이트하려면 `snowballEdge update-autostart-configuration` 명령을 사용합니다. 다음과 같은 사용법을 찾아볼 수 있습니다. 시작 구성을 활성화 또는 비활성화하려면 `--enabled` 파라미터를 지정합니다.

**사용량**

```
snowballEdge update-autostart-configuration --autostart-configuration-arn [--physical-connector-type [SFP_PLUS or RJ45 or QSFP]] [--ip-address-assignment [DHCP or STATIC]] [--static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]][--launch-template-id] [--launch-template-version] [--enabled]
```

## Snowball Edge에서 EC2-compatible 시작 구성 삭제
<a name="ec2-edge-delete-autostart-config"></a>

더 이상 사용하지 않는 시작 구성을 삭제하려면 다음에 따라 `snowballEdge delete-autostart-configuration` 명령을 사용합니다.

**사용량**

```
snowballEdge delete-autostart-configuration --autostart-configuration-arn
```

## Snowball Edge에서 EC2-compatible 시작 구성 나열
<a name="ec2-edge-describe-autostart-configs"></a>

Snowball Edge에서 생성한 시작 구성을 나열하려면 다음에 따라 `describe-autostart-configurations` 명령을 사용합니다.

**사용량**

```
snowballEdge describe-autostart-configurations            
```

## Snowball Edge에서 가상 네트워크 인터페이스 생성
<a name="ec2-edge-create-vnic"></a>

Snowball Edge에서 컴퓨팅 인스턴스를 실행하거나 NFS 인터페이스를 시작하려면 먼저 가상 네트워크 인터페이스(VNIC)를 생성해야 합니다. 각 Snowball Edge에는 이 디바이스의 물리적 네트워크 인터페이스 컨트롤러인 네트워크 인터페이스(NIC)가 세 개 있습니다. 디바이스 후면에 있는 RJ45, SFP, QSFP 포트가 바로 이 인터페이스입니다.

각 VNIC는 물리적 인터페이스에 기반을 두고 있으므로 각 NIC에 VNI를 얼마든지 연결할 수 있습니다. 가상 네트워크 인터페이스를 생성하려면 `snowballEdge create-virtual-network-interface` 명령을 사용하십시오.

**참고**  
`--static-ip-address-configuration` 파라미터는 `--ip-address-assignment` 파라미터에 대해 `STATIC` 옵션을 사용하는 경우에만 유효합니다.

**사용법**

Snowball Edge 클라이언트를 구성하거나 Snowball Edge 클라이언트를 구성하지 않는 두 가지 방법으로 이 명령을 사용할 수 있습니다. 다음 사용 예시는 Snowball Edge 클라이언트가 구성된 방법을 보여줍니다.

```
snowballEdge create-virtual-network-interface --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

다음 사용 예시는 Snowball Edge 클라이언트가 구성되지 않은 방법을 보여줍니다.

```
snowballEdge create-virtual-network-interface --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code] --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

**Example 예시: VNIC 생성(DHCP 사용)**  

```
snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --physical-network-interface-id s.ni-8EXAMPLEaEXAMPLEd
{
  "VirtualNetworkInterface" : {
    "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLEf",
    "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd",
    "IpAddressAssignment" : "DHCP",
    "IpAddress" : "192.0.2.0",
    "Netmask" : "255.255.255.0",
    "DefaultGateway" : "192.0.2.1",
    "MacAddress" : "EX:AM:PL:E1:23:45",
    "MtuSize" : "1500"
  }
}
```

## 가상 네트워크 인터페이스 설명
<a name="ec2-edge-describe-vnic"></a>

디바이스에서 앞서 생성한 VNIC를 설명하려면 `snowballEdge describe-virtual-network-interfaces` 명령을 사용합니다. 다음과 같은 사용법을 찾아볼 수 있습니다.

**사용법**

Snowball Edge 클라이언트를 구성하거나 Snowball Edge 클라이언트를 구성하지 않는 두 가지 방법으로 이 명령을 사용할 수 있습니다. 다음 사용 예시는 Snowball Edge 클라이언트가 구성된 방법을 보여줍니다.

```
snowballEdge describe-virtual-network-interfaces
```

다음 사용 예시는 Snowball Edge 클라이언트가 구성되지 않은 방법을 보여줍니다.

```
snowballEdge describe-virtual-network-interfaces --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code]
```

**Example 예시: VNIC 설명**  

```
snowballEdge describe-virtual-network-interfaces
[
  {
    "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-8EXAMPLE8EXAMPLE8",
    "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd",
    "IpAddressAssignment" : "DHCP",
    "IpAddress" : "192.0.2.0",
    "Netmask" : "255.255.255.0",
    "DefaultGateway" : "192.0.2.1",
    "MacAddress" : "EX:AM:PL:E1:23:45",
    "MtuSize" : "1500"
  },{
    "VirtualNetworkInterfaceArn" : "arn:aws:snowball-device:::interface/s.ni-1EXAMPLE1EXAMPLE1",
    "PhysicalNetworkInterfaceId" : "s.ni-8EXAMPLEaEXAMPLEd",
    "IpAddressAssignment" : "DHCP",
    "IpAddress" : "192.0.2.2",
    "Netmask" : "255.255.255.0",
    "DefaultGateway" : "192.0.2.1",
    "MacAddress" : "12:34:5E:XA:MP:LE",
    "MtuSize" : "1500"
  }  
]
```

## Snowball Edge에서 가상 네트워크 인터페이스 업데이트
<a name="ec2-edge-update-vnic"></a>

VNI(가상 네트워크 인터페이스)를 생성한 후에 `snowballEdge update-virtual-network-interface` 명령을 사용하여 해당 구성을 업데이트할 수 있습니다. 특정 VNI에 Amazon 리소스 이름(ARN)을 제공한 후 업데이트하려는 모든 요소에 대해 이 값만 제공하면 됩니다.

**사용량**

Snowball Edge 클라이언트를 구성하거나 Snowball Edge 클라이언트를 구성하지 않는 두 가지 방법으로 이 명령을 사용할 수 있습니다. 다음 사용 예시는 Snowball Edge 클라이언트가 구성된 방법을 보여줍니다.

```
snowballEdge update-virtual-network-interface --virtual-network-interface-arn [virtual network-interface-arn] --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

 다음 사용 예시는 Snowball Edge 클라이언트가 구성되지 않은 방법을 보여줍니다.

```
snowballEdge update-virtual-network-interface --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code] --virtual-network-interface-arn [virtual network-interface-arn] --ip-address-assignment [DHCP or STATIC] --physical-network-interface-id [physical network interface id] --static-ip-address-configuration IpAddress=[IP address],NetMask=[Netmask]
```

**Example 예시: VNIC 업데이트(DHCP 사용)**  

```
snowballEdge update-virtual-network-interface --virtual-network-interface-arn arn:aws:snowball-device:::interface/s.ni-8EXAMPLEbEXAMPLEd --ip-address-assignment dhcp
```

## Snowball Edge에서 가상 네트워크 인터페이스 삭제
<a name="ec2-edge-delete-vnic"></a>

가상 네트워크 인터페이스(VNI)를 삭제하려면 ` snowballEdge delete-virtual-network-interface` 명령을 사용하면 됩니다.

**사용량**

Snowball Edge 클라이언트를 구성하거나 Snowball Edge 클라이언트를 구성하지 않는 두 가지 방법으로 이 명령을 사용할 수 있습니다. 다음 사용 예시는 Snowball Edge 클라이언트가 구성된 방법을 보여줍니다.

```
snowballEdge delete-virtual-network-interface --virtual-network-interface-arn [virtual network-interface-arn]
```

다음 사용 예시는 Snowball Edge 클라이언트가 구성되지 않은 방법을 보여줍니다.

```
snowballEdge delete-virtual-network-interface --endpoint https://[ip address] --manifest-file /path/to/manifest --unlock-code [unlock code] --virtual-network-interface-arn [virtual network-interface-arn]
```

**Example 예시: VNIC 삭제**  

```
snowballEdge delete-virtual-network-interface --virtual-network-interface-arn arn:aws:snowball-device:::interface/s.ni-8EXAMPLEbEXAMPLEd
```

# Snowball Edge에서 Amazon EC2-compatible 엔드포인트 사용
<a name="using-ec2-endpoint"></a>

아래에서 Amazon EC2 호환 엔드포인트의 개요를 찾을 수 있습니다. 엔드포인트를 통해 Amazon Machine Image(AMI)를 관리하고 Amazon EC2 호환 API 작업을 사용하여 인스턴스를 프로그래밍 방식으로 컴퓨팅할 수 있습니다.

## EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정
<a name="using-ec2-adapter-cli-endpoint"></a>

 AWS CLI 를 사용하여 AWS Snowball Edge 디바이스에 명령을 실행할 때 엔드포인트를 Amazon EC2-compatible 엔드포인트로 지정할 수 있습니다. 다음과 같이 HTTPS 엔드포인트 또는 보안되지 않은 HTTP 엔드포인트를 사용할 수 있습니다.

**HTTPS 보안 엔드포인트**

```
aws ec2 describe-instances --endpoint https://192.0.2.0:8243 --ca-bundle path/to/certificate
```

**HTTP 보안되지 않는 엔드포인트**

```
aws ec2 describe-instances --endpoint http://192.0.2.0:8008
```

HTTPS 엔드포인트 `8243`을 사용하는 경우 전송 중 데이터는 암호화됩니다. 이 암호화는 Snowball Edge가 잠금 해제될 때마다 생성하는 인증서로 보장됩니다. 인증서가 생기면 이를 로컬 `ca-bundle.pem` 파일에 저장할 수 있습니다. 그런 다음, 다음 설명과 같이 인증서 경로를 포함하도록 AWS CLI 프로필을 구성할 수 있습니다.

**인증서를 Amazon EC2 호환 엔드포인트에 연결**

1. Snowball Edge를 전원과 네트워크에 연결한 후 켭니다.

1. 디바이스의 잠금 해제가 완료되면 로컬 네트워크상의 IP 주소를 적어 둡니다.

1. 네트워크의 터미널에서 Snowball Edge를 ping할 수 있는지 확인합니다.

1. 터미널에서 `snowballEdge get-certificate` 명령을 실행합니다. 이 명령에 대한 자세한 내용은 [Snowball Edge에서 퍼블릭 키 인증서 관리](snowball-edge-certificates-cli.md) 섹션을 참조하세요.

1. `snowballEdge get-certificate` 명령의 출력을 파일(예: `ca-bundle.pem`)에 저장합니다.

1. 터미널에서 다음 명령을 실행합니다.

   ```
   aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem
   ```

절차를 완료한 후에는 이러한 로컬 자격 증명, 인증서 및 지정된 엔드포인트로 CLI 명령을 실행할 수 있습니다.

## Snowball Edge에서 지원되는 Amazon EC2-compatible AWS CLI 명령
<a name="cli-support-ec2-edge"></a>

Amazon EC2-compatible 엔드포인트를 통해 Snowball Edge 디바이스에서 컴퓨팅 인스턴스를 관리할 수 있습니다. 이 유형의 엔드포인트는 AWS SDKs의 많은 Amazon EC2 CLI 명령 및 작업을 지원합니다. AWS CLI 호출할 대상 지정을 AWS CLI포함하여 설치 및 설정에 대한 자세한 내용은 [AWS Command Line Interface 사용 설명서를](https://docs.aws.amazon.com/cli/latest/userguide/) 참조 AWS 리전 하세요.

### Snowball Edge에서 지원되는 EC2-compatible AWS CLI 명령 목록
<a name="list-cli-commands-ec2-edge"></a>

아래에서 Snowball Edge 디바이스에서 지원되는 Amazon EC2의 AWS CLI 명령 및 옵션 하위 집합에 대한 설명을 확인할 수 있습니다. 아래에 나열되지 않은 명령이나 옵션은 지원되지 않습니다. 명령과 함께 지원되지 않는 옵션을 선언할 수 있습니다. 하지만 이러한 옵션은 무시됩니다.
+ [associate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-address.html) – 가상 IP 주소를 디바이스의 물리적 네트워크 인터페이스 3개 중 하나에 사용되는 인스턴스와 연결합니다.
  + --instance-id – 단일 `sbe` 인스턴스의 ID입니다.
  + --public-ip – 인스턴스에 액세스하기 위해 사용할 가상 IP 주소입니다.
+ [attach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html) – Amazon EBS 볼륨을 디바이스의 중지되거나 실행 중인 인스턴스에 연결하고 지정된 디바이스 이름이 있는 인스턴스에 공개합니다.
  + --device `value` - 디바이스의 이름입니다.
  + --instance-id - 대상 Amazon EC2 호환 인스턴스의 ID입니다.
  + --volume-id `value` - EBS 볼륨의 ID입니다.
+ [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) - 하나 이상의 송신 규칙을 Snowball Edge 디바이스에 사용할 보안 그룹에 추가합니다. 특히 이 작업을 통해 인스턴스는 하나 이상의 대상 IPv4 CIDR 주소 범위로 트래픽을 보낼 수 있습니다. 자세한 내용은 [Snowball Edge의 보안 그룹을 사용하여 네트워크 트래픽 제어](edge-security-groups.md) 단원을 참조하십시오.
  + --group-id `value` - 보안 그룹의 ID입니다.
  + [--ip-permissions `value`] - 하나 이상의 IP 권한 집합입니다.
+ [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) - 하나 이상의 수신 규칙을 보안 그룹에 추가합니다. `authorize-security-group-ingress` 호출 시 `group-name` 또는 `group-id`에 대한 값을 지정해야 합니다.
  + [--group-name `value`] - 보안 그룹의 이름입니다.
  + [--group-id `value`] - 보안 그룹의 ID입니다.
  + [--ip-permissions `value`] - 하나 이상의 IP 권한 집합입니다.
  + [--protocol `value`] IP 프로토콜. 가능한 값은 `tcp`, `udp` 및 `icmp`입니다. "모든 프로토콜" 값이 지정되지 않는 한(-1) `--port` 인수가 필요합니다.
  + [--port `value`] - TCP 또는 UDP의 경우, 허용할 포트 범위입니다. 이 값은 단일 정수 또는 범위(최소\$1최대)일 수 있습니다.

    ICMP의 경우, 단일 정수 또는 범위(`type`\$1`code`). 여기서 `type`은 ICMP 유형 번호를 나타내고 `code`는 ICMP 코드 번호를 나타냅니다. -1의 값은 모든 ICMP 유형에 대한 모든 ICMP 코드를 나타냅니다. `type`에만 해당되는 -1의 값은 지정된 ICMP 유형에 대한 모든 ICMP 코드를 나타냅니다.
  + [--cidr `value`] - CIDR IP 범위입니다.
+ [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html) - 시작 템플릿을 생성합니다. *시작 템플릿*에는 인스턴스를 시작하기 위한 파라미터가 포함되어 있습니다. `RunInstances`를 사용하여 인스턴스를 시작하면 요청에 시작 파라미터를 제공하는 대신 시작 템플릿을 지정할 수 있습니다. 디바이스당 최대 100개의 템플릿을 생성할 수 있습니다.
  + --launch-template-name `string` - 시작 템플릿의 이름입니다.
  + --launch-template-data `structure` - 시작 템플릿에 대한 정보입니다. 다음과 같은 속성이 지원됩니다.
    + `ImageId`
    + `InstanceType`
    + `SecurityGroupIds`
    + `TagSpecifications`
    + `UserData`

    JSON 구문:

    ```
    {
        "ImageId":"string",
        "InstanceType":"sbe-c.large",
        "SecurityGroupIds":["string", ...],
        "TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"Test"},
        {"Key":"Stack","Value":"Gamma"}]}],
        "UserData":"this is my user data"
    }
    ```
  + [--version-description `string`] - 시작 템플릿의 첫 번째 버전에 대한 설명입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [create-launch-template-version](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template-version.html) - 시작 템플릿의 새 버전을 생성합니다. 새 버전을 기반으로 하는 시작 템플릿의 기존 버전을 지정할 수 있습니다. 시작 템플릿 버전은 생성한 순서대로 번호가 지정됩니다. 시작 템플릿 버전의 숫자는 지정, 변경 또는 대체할 수 없습니다. 각 시작 템플릿의 버전을 최대 100개까지 생성할 수 있습니다.

  요청에서 시작 템플릿 ID 또는 시작 템플릿 이름을 지정합니다.
  + --launch-template-id `string` - 시작 템플릿의 ID입니다.
  + --launch-template-name `string` - 시작 템플릿의 이름입니다.
  + --launch-template-data `structure` - 시작 템플릿에 대한 정보입니다. 다음과 같은 속성이 지원됩니다.
    + `ImageId`
    + `InstanceType`
    + `SecurityGroupIds`
    + `TagSpecifications`
    + `UserData`

    JSON 구문:

    ```
    {
        "ImageId":"string",
        "InstanceType":"sbe-c.large",
        "SecurityGroupIds":["string", ...],
        "TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"Test"},
         {"Key":"Stack","Value":"Gamma"}]}],
        "UserData":"this is my user data"
    }
    ```
  + [--source-version `string`] - 새 버전을 기반으로 하는 시작 템플릿의 버전 번호입니다. 새 버전은 `launch-template-data`에 지정된 파라미터를 제외하고 소스 버전과 동일한 시작 파라미터를 상속합니다.
  + [--version-description `string`] - 시작 템플릿의 첫 번째 버전에 대한 설명입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) - 지정된 리소스에 대해 하나 이상의 태그를 추가하거나 덮어씁니다. 각 리소스는 최대 50개의 태그를 보유할 수 있습니다. 각 태그는 키와 값(선택 사항)으로 구성됩니다. 태그 키는 리소스에 대해 고유해야 합니다. 다음 리소스가 지원됩니다.
  + AMI
  + Instance
  + 시작 템플릿
  + 보안 그룹
  + 키 페어
+ [create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html) - Snowball Edge에 보안 그룹을 생성합니다. 최대 50개의 보안 그룹을 생성할 수 있습니다. 보안 그룹을 생성할 때 친근한 이름을 직접 선택하여 지정합니다.
  + --group-name `value` – 보안 그룹의 이름입니다.
  + --description `value` – 보안 그룹의 설명입니다. 이는 참조용일 뿐입니다. 이 값의 최대 길이는 255자입니다.
+ [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) – 디바이스의 인스턴스에 연결할 수 있는 EBS 볼륨을 생성합니다.
  + [--size `value`] - GiB로 볼륨 크기를 표현하며 크기 범위는 1GiB에서 1TB(1,000GiB)까지입니다.
  + [--snapshot-id `value`] - 볼륨이 생성되는 스냅샷의 ID입니다.
  + [--volume-type `value`] - 볼륨 유형입니다. 값을 지정하지 않을 경우 기본값은 `sbg1`입니다. 가능한 값은 다음을 포함합니다.
    + 마그네틱 볼륨인 `sbg1`
    + SSD 볼륨인 `sbp1`
  + [--tag-specification `value`] - 생성 중 볼륨에 적용되는 태그 목록입니다.
+ [delete-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-launch-template.html) - 시작 템플릿을 삭제합니다. 시작 템플릿을 삭제하면 모든 버전이 삭제됩니다.

  요청에서 시작 템플릿 ID 또는 시작 템플릿 이름을 지정합니다.
  + --launch-template-id `string` - 시작 템플릿의 ID입니다.
  + --launch-template-name `string` - 시작 템플릿의 이름입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [delete-launch-template-version](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-launch-template-version.html) - 시작 템플릿의 버전을 하나 이상 삭제합니다. 시작 템플릿의 기본 버전은 삭제할 수 없으며, 먼저 다른 버전을 기본 버전으로 할당해야 합니다. 기본 버전이 시작 템플릿의 유일한 버전인 경우 `delete-launch-template` 명령을 사용하여 전체 시작 템플릿을 삭제합니다.

  요청에서 시작 템플릿 ID 또는 시작 템플릿 이름을 지정합니다.
  + --launch-template-id `string` - 시작 템플릿의 ID입니다.
  + --launch-template-name `string` - 시작 템플릿의 이름입니다.
  + --versions (list) `"string" "string"` - 삭제할 하나 이상의 시작 템플릿 버전에 대한 버전 번호입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html) - 보안 그룹을 삭제합니다.

  인스턴스와 연결된 보안 그룹이나 다른 보안 그룹에서 참조하는 보안 그룹의 삭제를 시도하는 경우 `DependencyViolation`으로 작업이 실패합니다.
  + --group-name `value` – 보안 그룹의 이름입니다.
  + --description `value` – 보안 그룹의 설명입니다. 이는 참조용일 뿐입니다. 이 값의 최대 길이는 255자입니다.
+ [delete-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-tags.html) - 지정된 리소스(AMI, 컴퓨팅 인스턴스, 시작 템플릿 또는 보안 그룹)에서 지정된 태그 세트를 삭제합니다.
+ [delete-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-volume.html) - 지정된 Amazon EBS 볼륨을 삭제합니다. 이때 볼륨은 `available` 상태(인스턴스에 연결되지 않음)여야 합니다.
  + --volume-id `value` - 볼륨의 ID입니다.
+ [describe-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-addresses.html) - 디바이스에서 동일한 수의 `sbe` 인스턴스와 관련된 하나 이상의 가상 IP 주소를 설명합니다.
  + --public-ips - 인스턴스와 연결된 한 개 이상의 가상 IP 주소입니다.
+ [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) - 사용 가능한 하나 이상의 이미지(AMI)를 설명합니다. 사용 가능한 이미지는 작업 생성 중에 Snowball Edge 디바이스에 추가됩니다.
  + --image-id - AMI의 Snowball AMI ID입니다.
+ [describe-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-attribute.html) - 지정된 인스턴스의 지정된 속성을 설명합니다. 힌 번에 하나의 속성만 지정할 수 있습니다. 다음과 같은 속성이 지원됩니다.
  + `instanceInitiatedShutdownBehavior` 
  + `instanceType`
  + `userData`
+ [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) - 하나 이상의 인스턴스를 설명합니다. 응답은 인스턴스에 할당된 보안 그룹을 반환합니다.
  + --instance-ids - 디바이스에서 중지된 하나 이상의 `sbe` 인스턴스 ID입니다.
  + --page-size - 직접 호출을 받아들일 각 페이지의 크기입니다. 이 값은 명령의 출력을 통해 반환되는 항목의 수에는 영향을 미치지 않습니다. 페이지 크기를 더 작게 설정하면 디바이스에 대한 추가 호출이 이루어져 각 호출에서 더 적은 항목을 가져옵니다. 따라서 호출이 시간 초과되는 것을 방지하는 데 도움이 됩니다.
  + --max-items - 명령의 출력을 통해 반환될 항목의 총 수입니다. 사용 가능한 총 항목 수가 지정된 값을 초과하는 경우 명령의 출력에 `NextToken`이 제공됩니다. 페이지 매김을 재개하려면 후속 명령의 `starting-token` 인수에 `NextToken` 값을 제공합니다.
  + --starting-token - 페이지 매김을 시작할 위치를 지정하기 위한 토큰입니다. 이 토큰은 이전에 잘린 응답에서 도출된 `NextToken` 값입니다.
+ [describe-instance-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-status.html) - 지정된 인스턴스 또는 모든 인스턴스의 상태를 설명합니다. 모든 인스턴스의 상태를 반환하도록 특별히 지정하지 않는 한 기본적으로 실행 중인 인스턴스만 설명됩니다. 인스턴스 상태는 다음 구성 요소를 포함합니다.
  + **상태 확인** - Snow 디바이스는 Amazon EC2 호환 인스턴스에서 상태 확인을 수행하여 하드웨어 및 소프트웨어 문제를 식별합니다.
  + **인스턴스 상태** - 인스턴스를 시작하는 순간부터 종료까지 인스턴스를 관리할 수 있습니다.

  이 명령에서는 다음 필터가 지원됩니다.
  + `[--filters]` (list)

    필터.
    + `instance-state-code` - 인스턴스 상태의 코드(16비트 부호 없는 정수). 상위 바이트는 내부 서비스 보고 용도로 사용되므로 무시해야 합니다. 하위 바이트는 표시된 상태를 기반으로 설정됩니다. 유효한 값은 0(보류 중), 16(실행 중), 32(종료 중), 48(종료됨), 64(중지 중), 80(중지됨)입니다.
    + `instance-state-name` – 인스턴스의 상태입니다(`pending` \$1 `running` \$1 `shutting-down` \$1 `terminated` \$1 `stopping` \$1 `stopped`).
    + `instance-status.reachability` - 이름이 `reachability`인 인스턴스 상태를 기준으로 필터링합니다(`passed` \$1 `failed` \$1 `initializing` \$1 `insufficient-data`).
    + `instance-status.status` – 인스턴스의 상태입니다(`ok` \$1 `impaired` \$1 `initializing` \$1 `insufficient-data` \$1 `not-applicable`).
    + `system-status.reachability` - 이름이 연결 가능 여부인 시스템 상태를 필터링합니다(`passed` \$1 `failed` \$1 `initializing` \$1 `insufficient-data`).
    + `system-status.status` – 인스턴스의 시스템 상태입니다(`ok` \$1 `impaired` \$1 `initializing` \$1 `insufficient-data` \$1 `not-applicable`).
  + JSON 구문.

    ```
    [
      {
        "Name": "string",
        "Values": ["string", ...]
      }
      ...
    ]
    ```
  + `[--instance-ids]` (list)

    인스턴스 ID.

    기본값: 모든 인스턴스에 대해 설명합니다.
  + `[--dry-run|--no-dry-run]`(부울)

    실제로 요청하지 않고 작업에 필요한 권한이 있는지 확인하고 오류 응답을 제공합니다. 필요한 권한이 있는 경우 오류 응답은 `DryRunOperation`입니다 

    그렇지 않으면 `UnauthorizedOperation`입니다.
  + `[--include-all-instances | --no-include-all-instances]`(부울)

    `true` 상태일 경우 모든 인스턴스의 상태를 포함합니다. `false` 상태일 경우 실행 중인 인스턴스의 상태만을 포함합니다.

    기본값: `false`
  + `[--page-size]`(정수) – 직접 호출을 받아들일 각 페이지의 크기입니다. 이 값은 명령의 출력을 통해 반환되는 항목의 수에는 영향을 미치지 않습니다. 페이지 크기를 더 작게 설정하면 디바이스에 대한 추가 호출이 이루어져 각 호출에서 더 적은 항목을 가져옵니다. 따라서 호출이 시간 초과되는 것을 방지하는 데 도움이 됩니다.
  + `[--max-items]`(정수) – 명령의 출력에서 반환되는 항목의 총 수입니다. 사용 가능한 총 항목 수가 지정된 값을 초과하는 경우 명령의 출력에 `NextToken`이 제공됩니다. 페이지 매김을 재개하려면 후속 명령의 `starting-token` 인수에 `NextToken` 값을 제공합니다.
  + `[--starting-token]`(문자열) - 페이지 매김을 시작할 위치를 지정하는 토큰입니다. 이 토큰은 이전에 잘린 응답에서 도출된 `NextToken` 값입니다.
+ [describe-launch-templates](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-templates.html) - 하나 이상의 시작 템플릿을 설명합니다. `describe-launch-templates` 명령은 페이지 매김 작업입니다. 다중 호출을 생성하여 결과의 전체 데이터 세트를 검색할 수 있습니다.

  요청에서 시작 템플릿 ID 또는 시작 템플릿 이름을 지정합니다.
  + --launch-template-ids (list) `"string" "string"` - 시작 템플릿의 ID 목록입니다.
  + --launch-template-names (list) `"string" "string"` - 시작 템플릿의 이름 목록입니다.
  + --page-size - 직접 호출을 받아들일 각 페이지의 크기입니다. 이 값은 명령의 출력을 통해 반환되는 항목의 수에는 영향을 미치지 않습니다. 페이지 크기를 더 작게 설정하면 디바이스에 대한 추가 호출이 이루어져 각 호출에서 더 적은 항목을 가져옵니다. 따라서 호출이 시간 초과되는 것을 방지하는 데 도움이 됩니다.
  + --max-items - 명령의 출력을 통해 반환될 항목의 총 수입니다. 사용 가능한 총 항목 수가 지정된 값을 초과하는 경우 명령의 출력에 `NextToken`이 제공됩니다. 페이지 매김을 재개하려면 후속 명령의 `starting-token` 인수에 `NextToken` 값을 제공합니다.
  + --starting-token - 페이지 매김을 시작할 위치를 지정하기 위한 토큰입니다. 이 토큰은 이전에 잘린 응답에서 도출된 `NextToken` 값입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [describe-launch-template-versions](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-template-versions.html) - 지정된 시작 템플릿의 버전을 하나 이상 설명합니다. 모든 버전, 개별 버전 또는 특정 버전 범위를 설명할 수 있습니다. `describe-launch-template-versions` 명령은 페이지 매김 작업입니다. 다중 호출을 생성하여 결과의 전체 데이터 세트를 검색할 수 있습니다.

  요청에서 시작 템플릿 ID 또는 시작 템플릿 이름을 지정합니다.
  + --launch-template-id `string` - 시작 템플릿의 ID입니다.
  + --launch-template-name `string` - 시작 템플릿의 이름입니다.
  + [--versions (list) `"string" "string"`] - 삭제할 하나 이상의 시작 템플릿 버전에 대한 버전 번호입니다.
  + [--min-version `string`] - 시작 템플릿 버전을 설명하는 최소 버전 번호입니다.
  + [--max-version `string`] - 시작 템플릿 버전을 설명하는 최대 버전 번호입니다.
  + --page-size - 직접 호출을 받아들일 각 페이지의 크기입니다. 이 값은 명령의 출력을 통해 반환되는 항목의 수에는 영향을 미치지 않습니다. 페이지 크기를 더 작게 설정하면 디바이스에 대한 추가 호출이 이루어져 각 호출에서 더 적은 항목을 가져옵니다. 따라서 호출이 시간 초과되는 것을 방지하는 데 도움이 됩니다.
  + --max-items - 명령의 출력을 통해 반환될 항목의 총 수입니다. 사용 가능한 총 항목 수가 지정된 값을 초과하는 경우 명령의 출력에 `NextToken`이 제공됩니다. 페이지 매김을 재개하려면 후속 명령의 `starting-token` 인수에 `NextToken` 값을 제공합니다.
  + --starting-token - 페이지 매김을 시작할 위치를 지정하기 위한 토큰입니다. 이 토큰은 이전에 잘린 응답에서 도출된 `NextToken` 값입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [describe-security-groups](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html) - 하나 이상의 보안 그룹을 설명합니다.

  `describe-security-groups` 명령은 페이지 매김 작업입니다. 다중 API 직접 호출을 발행하여 결과의 전체 데이터 세트를 검색할 수 있습니다.
  + [--group-name `value`] - 보안 그룹의 이름입니다.
  + [--group-id `value`] - 보안 그룹의 ID입니다.
  + [--page-size `value`] - AWS 서비스 호출에서 가져올 각 페이지의 크기입니다. 이 크기는 명령의 출력에서 반환된 항목의 수에 영향을 주지 않습니다. 페이지 크기를 작게 설정하면 AWS 서비스에 대한 직접 호출이 많아지고 각 직접 호출의 항목에서 검색 항목이 줄어듭니다. 이 접근 방식은 AWS 서비스 호출이 시간 초과되는 것을 방지하는 데 도움이 될 수 있습니다. 사용 예시는 *AWS Command Line Interface 사용 설명서*의 [페이지 매김](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html) 섹션을 참조하세요.
  + [--max-items `value`] - 명령의 출력을 통해 반환될 항목의 총 수입니다. 사용 가능한 총 항목 수가 지정된 값을 초과하는 경우 명령의 출력에 `NextToken`이 제공됩니다. 페이지 매김을 재개하려면 후속 명령의 `starting-token` 인수에 `NextToken` 값을 제공합니다. `NextToken` 외부에서 직접 AWS CLI응답 요소를 사용하면 안 됩니다. 사용 예시는 *AWS Command Line Interface 사용 설명서*의 [페이지 매김](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html) 섹션을 참조하세요.
  + [--starting-token `value`] - 페이지 매김이 시작되는 곳을 지정하는 토큰입니다. 이 토큰은 이전에 잘린 응답에서 도출된 `NextToken` 값입니다. 사용 예시는 *AWS Command Line Interface 사용 설명서*의 [페이지 매김](https://docs.aws.amazon.com/cli/latest/userguide/pagination.html) 섹션을 참조하세요.
+ [describe-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html) - 지정된 리소스(`image`, `instance` 또는 보안 그룹)에 대한 하나 이상의 태그를 설명합니다. 이 명령에서는 다음 필터가 지원됩니다.
  + launch-template
  + resource-id
  + resource-type - `image` 또는 `instance`입니다.
  + 키
  + 값
+ [describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) - 지정된 EBS 볼륨을 설명합니다.
  + [--max-items `value`] - 명령의 출력을 통해 반환될 항목의 총 수입니다. 사용 가능한 총 항목 수가 지정된 값을 초과하는 경우 명령의 출력에 `NextToken`이 제공됩니다. 페이지 매김을 재개하려면 후속 명령의 `starting-token` 인수에 `NextToken` 값을 제공합니다.
  + [--starting-token `value`] - 페이지 매김이 시작되는 곳을 지정하는 토큰입니다. 이 토큰은 이전에 잘린 응답에서 도출된 `NextToken` 값입니다.
  + [--volume-ids `value`] - 하나 이상의 볼륨 ID입니다.
+ [detach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-volume.html) - 중지되거나 실행 중인 인스턴스에서 Amazon EBS 볼륨을 분리합니다.
  + [--device `value`] - 디바이스의 이름입니다.
  + [--instance-id] - 대상 Amazon EC2 인스턴스의 ID입니다.
  + --volume-id `value` - 볼륨의 ID입니다.
+ [disassociate-address](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-address.html) - 가상 IP 주소를 연결된 인스턴스에서 분리합니다.
  + --public-ip - 인스턴스에서 분리하려고 하는 가상 IP 주소입니다.
+ [get-launch-template-data](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-launch-template-data.html) - 지정된 인스턴스의 구성 데이터를 검색합니다. 이 데이터를 사용하여 시작 템플릿을 생성할 수 있습니다.
  + --instance-id – 단일 `sbe` 인스턴스의 ID입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [modify-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-launch-template.html) - 시작 템플릿을 수정합니다. 기본 버전으로 설정할 시작 템플릿의 버전을 지정할 수 있습니다. 시작 템플릿 버전을 지정하지 않고 인스턴스를 시작하면 시작 템플릿의 기본 버전이 적용됩니다.

  요청에서 시작 템플릿 ID 또는 시작 템플릿 이름을 지정합니다.
  + --launch-template-id `string` - 시작 템플릿의 ID입니다.
  + --launch-template-name `string` - 시작 템플릿의 이름입니다.
  + --default-version `string` - 기본 버전으로 설정할 시작 템플릿의 버전 번호입니다.
  + --endpoint `snowballEndpoint` - Amazon EC2 호환 API 작업을 사용하여 프로그래밍 방식으로 컴퓨팅 인스턴스를 관리할 수 있는 값입니다. 자세한 내용은 [EC2-compatible 엔드포인트를 Snowball Edge의 AWS CLI 엔드포인트로 지정](#using-ec2-adapter-cli-endpoint) 단원을 참조하십시오.
+ [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) - 지정된 인스턴스의 속성을 수정합니다. 다음과 같은 속성이 지원됩니다.
  + `instanceInitiatedShutdownBehavior`
  + `userData`
+ [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) - 하나 이상의 송신 규칙을 보안 그룹에서 제거합니다.
  + [--group-id `value`] - 보안 그룹의 ID입니다.
  + [--ip-permissions `value`] - 하나 이상의 IP 권한 집합입니다.
+ [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) - 보안 그룹에 대한 하나 이상의 수신 규칙을 해지합니다. `revoke-security-group-ingress` 호출 시 `group-name` 또는 `group-id`에 대한 값을 지정해야 합니다.
  + [--group-name `value`] - 보안 그룹의 이름입니다.
  + [--group-id `value`] - 보안 그룹의 ID입니다.
  + [--ip-permissions `value`] - 하나 이상의 IP 권한 집합입니다.
  + [--protocol `value`] IP 프로토콜. 가능한 값은 `tcp`, `udp` 및 `icmp`입니다. "모든 프로토콜" 값이 지정되지 않는 한(-1) `--port` 인수가 필요합니다.
  + [--port `value`] - TCP 또는 UDP의 경우, 허용할 포트 범위입니다. 단일 정수 또는 범위(최소\$1최대값)입니다.

    ICMP의 경우, 단일 정수 또는 범위(`type`\$1`code`). 여기서 `type`은 ICMP 유형 번호를 나타내고 `code`는 ICMP 코드 번호를 나타냅니다. -1의 값은 모든 ICMP 유형에 대한 모든 ICMP 코드를 나타냅니다. `type`에만 해당되는 -1의 값은 지정된 ICMP 유형에 대한 모든 ICMP 코드를 나타냅니다.
  + [--cidr `value`] - CIDR IP 범위입니다.
+ [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) - AMI에 대해 Snowball AMI ID를 사용하여 많은 컴퓨팅 인스턴스를 시작합니다.
**참고**  
컴퓨팅 인스턴스의 크기 및 유형에 따라 Snowball Edge에서 컴퓨팅 인스턴스를 시작하는 데 최대 한 시간 반이 소요될 수 있습니다.
  + [--block-device-mappings `(list)]` - 블록 디바이스 매핑 항목입니다. `DeleteOnTermination`, `VolumeSize`, `VolumeType` 파라미터를 지원합니다. 부트 볼륨은 `sbg1` 유형이어야 합니다.

    이 명령어의 JSON 구문은 다음과 같습니다.

    ```
    {
       "DeviceName": "/dev/sdh",
       "Ebs": 
       {
          "DeleteOnTermination": true|false,
          "VolumeSize": 100,
          "VolumeType": "sbp1"|"sbg1"
       }
    }
    ```
  + --count - 시작할 인스턴스의 개수입니다. 단일 숫자가 제공된 경우 최소 개수를 시작하는 것으로 가정합니다(1로 기본 설정). 범위가 `min:max` 형식으로 제공될 경우 첫 번째 수는 시작할 인스턴스의 최소 수로 해석하고 두 번째 수는 시작할 인스턴스의 최대 수로 해석합니다.
  + --image-id - `describe-images`를 직접 호출하여 얻을 수 있는 AMI의 Snowball AMI ID입니다. AMI는 인스턴스를 시작하는 데 필요합니다.
  + --InstanceInitiatedShutdownBehavior - 기본적으로 shutdown 또는 poweroff 등의 명령을 사용하여 인스턴스에서 종료를 시작하면 인스턴스가 중지됩니다. 인스턴스가 중지되지 않고 종료되도록 이 동작을 변경할 수 있습니다. `stop` 및 `terminate` 파라미터가 지원됩니다. 기본값은 `stop`입니다. 자세한 정보는 *Linux 인스턴스용 Amazon EC2 사용 설명서*의 [인스턴스가 시작하는 종료 동작 변경](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) 섹션을 참조하세요.
  + --instance-type - `sbe` 인스턴스 유형입니다.
  + --launch-template `structure` - 인스턴스를 시작하는 데 사용할 시작 템플릿입니다. `run-instances` 명령에서 파라미터를 지정하면 시작 템플릿에 있는 동일한 파라미터가 재정의됩니다. 시작 템플릿의 이름이나 ID는 지정할 수 있지만, 둘 다 지정할 수는 없습니다.

    ```
    {
       "LaunchTemplateId": "string",
       "LaunchTemplateName": "string",
       "Version": "string"
    }
    ```
  + --security-group-ids - 하나 이상의 보안 그룹 ID입니다. [CreateSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html)을 사용하여 보안 그룹을 생성할 수 있습니다. 값이 제공되지 않는 경우 기본 보안 그룹의 ID가 생성된 인스턴스에 할당됩니다.
  + --tag-specifications - 시작 시 리소스에 적용되는 태그입니다. 시작 시에만 인스턴스에 태그를 지정할 수 있습니다. 지정된 태그는 시작 시 생성된 모든 인스턴스에 적용됩니다. 생성된 후에 리소스에 태그를 지정하려면 `create-tags`를 사용합니다.
  + --user-data - 인스턴스에 사용할 수 있는 사용자 데이터입니다. 를 사용하는 경우 AWS CLI base64 인코딩이 자동으로 수행되며 파일에서 텍스트를 로드할 수 있습니다. 그렇지 않으면 base64 인코딩 형식의 텍스트를 입력해야 합니다.
  + --key-name (string) - 키 페어의 이름입니다. `CreateKeyPair` 또는 `ImportKeyPair`를 사용하여 키 페어를 생성할 수 있습니다.
**주의**  
키 페어를 지정하지 않는 경우에는 사용자가 다른 방법으로 로그인할 수 있도록 구성된 AMI를 선택해야만 인스턴스에 연결할 수 있습니다.
+ [start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) - 이전에 중지했던 `sbe` 인스턴스를 시작합니다. 인스턴스에 연결된 모든 자원은 시작 및 중지를 통해 지속되지만 인스턴스가 해지되면 삭제됩니다.
  + --instance-ids - 디바이스에서 중지된 하나 이상의 `sbe` 인스턴스 ID입니다.
+ [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) - 실행 중인 `sbe` 인스턴스를 중지합니다. 인스턴스에 연결된 모든 자원은 시작 및 중지를 통해 지속되지만 인스턴스가 해지되면 삭제됩니다.
  + --instance-ids - 디바이스에서 중지된 하나 이상의 `sbe` 인스턴스 ID입니다.
+ [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) - 하나 이상의 인스턴스를 종료합니다. 이 작업은 멱등성을 갖기 때문에 인스턴스를 2회 이상 종료해도 모든 호출이 성공적으로 처리됩니다. 인스턴스에 연결된 모든 리소스는 시작 및 중지 사태가 발생해도 지속되지만 인스턴스가 종료되면 데이터가 삭제됩니다.
**참고**  
기본적으로 `shutdown` 또는 `poweroff` 등의 명령을 사용하여 인스턴스에서 종료를 시작하면 인스턴스가 중지됩니다. 그러나 이러한 명령이 인스턴스를 종료하도록 `InstanceInitiatedShutdownBehavior` 속성을 사용하여 이 동작을 변경할 수 있습니다. 자세한 정보는 *Linux 인스턴스용 Amazon EC2 사용 설명서*의 [인스턴스가 시작하는 종료 동작 변경](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingInstanceInitiatedShutdownBehavior) 섹션을 참조하세요.
  + --instance-ids - 디바이스에서 종료된 하나 이상의 `sbe` 인스턴스 ID입니다. 이러한 인스턴스에 대해 저장된 연결된 데이터는 모두 손실됩니다.
+ [create-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html) – 지정된 이름으로 2048비트 RSA 키 페어를 생성합니다. Amazon EC2는 퍼블릭 키를 저장하며 파일에 저장할 수 있는 프라이빗 키를 표시합니다. 프라이빗 키는 암호화되지 않은 PEM 인코딩 PKCS\$11 프라이빗 키로 반환됩니다. 지정된 이름의 키 페어가 이미 있는 경우 Amazon EC2에서 오류가 발생합니다.
  + --key-name (string) - 키 페어의 고유 이름입니다.

    제약 조건: ASCII 문자 최대 255자.
  + [--tag-specifications] (list) – 새 키 페어에 적용할 태그입니다.

  ```
  {
      "ResourceType": "image"|"instance"|"key-pair"|"launch-template"|"security-group",
      "Tags": [
        {
          "Key": "string",
          "Value": "string"
        }
        ...
      ]
    }
    ...
  ```
+ [import-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html) – 
  + --key-name (string) - 키 페어의 고유 이름입니다.

    제약 조건: ASCII 문자 최대 255자.
  + --public-key-material (blob) – 퍼블릭 키입니다. API 직접 호출의 경우 텍스트는 base64로 인코딩되어야 합니다. 명령줄 도구의 경우 base64-encoding이 수행됩니다.
  + [--tag-specifications] (list) – 새 키 페어에 적용할 태그입니다.

  ```
  {
      "ResourceType": "image"|"instance"|"key-pair"|"launch-template"|"security-group",
      "Tags": [
        {
          "Key": "string",
          "Value": "string"
        }
        ...
      ]
    }
  ```
+ [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html) – 

  [--filters] (list) – 필터입니다.
  + key-pair-id – 키 페어의 ID입니다.
  + key-name - 키 페어의 이름입니다.
  + tag-key - 리소스에 할당된 태그의 키입니다. 이 필터를 사용하면 태그 값에 상관없이 특정 키가 있는 태그가 할당된 모든 리소스를 찾을 수 있습니다.
  + [--tag-specifications] (list) – 새 키 페어에 적용할 태그입니다.
  + tag :key – 리소스에 할당된 태그의 키/값 조합입니다. 필터 이름에 태그 키를 사용하고 태그 값을 필터 값으로 사용합니다. 예를 들어, `Owner` 키와 `Team A` 값이 있는 태그가 있는 모든 리소스를 찾으려면 필터 이름에 `tag:Owner`를 지정하고 필터 값에 `Team A`를 지정합니다.

  ```
  {
      "Name": "string",
      "Values": ["string", ...]
    }
    ...
  ```
+ [--key-names] (list) – 키 페어 이름입니다.

  기본값: 모든 키 페어를 설명합니다.
+ [--key-pair-ids] (list) – 키 페어의 ID입니다.
+ [delete-key-pair](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html) – 
  + [--key-name] (string) – 키 페어의 이름입니다.
  + [--key-pair-id] (string) – 키 페어의 ID입니다.

## Snowball Edge에서 지원되는 Amazon EC2-compatible API 작업
<a name="using-ec2-adapter-supported-api"></a>

이제 *Amazon EC2 API Reference*의 설명 링크와 함께 Snowball Edge에서 사용할 수 있는 Amazon EC2 호환 API 작업을 찾을 수 있습니다. Amazon EC2 호환 API 직접 호출에는 Signature Version 4(SigV4) 서명이 필요합니다. AWS CLI 또는 AWS SDK를 사용하여 이러한 API 호출을 수행하는 경우 SigV4 서명이 처리됩니다. 그렇지 않은 경우 자체 SigV4 서명 솔루션을 구현해야 합니다. 자세한 내용은 [Snowball Edge에서 로컬 Amazon S3 자격 증명 가져오기 및 사용](using-adapter.md#adapter-credentials) 단원을 참조하십시오.
+ [AssociateAddress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AssociateAddress.html) - 인스턴스 또는 네트워크 인터페이스에 탄력적 IP 주소를 연결합니다.
+  [AttachVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttachVolume.html) - 다음 요청 파라미터가 지원됩니다.
  + `Device`
  + `InstanceId`
  + `VolumeId`
+ [AuthorizeSecurityGroupEgress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupEgress.html) - 하나 이상의 송신 규칙을 Snowball Edge 디바이스에 사용할 보안 그룹에 추가합니다. 특히 이 작업을 통해 인스턴스는 하나 이상의 대상 IPv4 CIDR 주소 범위로 트래픽을 보낼 수 있습니다.
+ [AuthorizeSecurityGroupIngress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AuthorizeSecurityGroupIngress.html) - 하나 이상의 수신 규칙을 보안 그룹에 추가합니다. AuthorizeSecurityGroupIngress 호출 시 `GroupName` 또는 `GroupId`에 대한 값을 지정해야 합니다.
+  [CreateVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) - 다음 요청 파라미터가 지원됩니다.
  + `SnapshotId`
  + `Size`
  + `VolumeType`
  + `TagSpecification.N`
+ [CreateLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) - 다음 요청 파라미터가 지원됩니다.
  + `ImageId`
  + `InstanceType`
  + `SecurityGroupIds`
  + `TagSpecifications`
  + `UserData`
+ [CreateLaunchTemplateVersion](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html)
+ [CreateTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html) - 다음 요청 파라미터가 지원됩니다.
  + `AMI`
  + `Instance`
  + `Launch template`
  + `Security group`
+ [CreateSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html) - Snowball Edge에 보안 그룹을 생성합니다. 최대 50개의 보안 그룹을 생성할 수 있습니다. 보안 그룹을 생성할 때 친근한 이름을 직접 선택하여 지정합니다.
+ [DeleteLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteLaunchTemplate.html)
+ [DeleteLaunchTemplateVersions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteLaunchTemplateVersions.html)
+ [DeleteSecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteSecurityGroup.html) - 보안 그룹을 삭제합니다. 인스턴스와 연결된 보안 그룹이나 다른 보안 그룹에서 참조하는 보안 그룹의 삭제를 시도하는 경우 `DependencyViolation`으로 작업이 실패합니다.
+ [DeleteTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteTags.html) - 지정된 리소스 세트에서 지정된 태그 세트를 삭제합니다.
+  [DeleteVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteVolume.html) - 다음 요청 파라미터가 지원됩니다.
  + `VolumeId`
+ [DescribeAddresses](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html)
+ [DescribeImages](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
+ [DescribeInstanceAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceAttribute.html) - 다음 속성이 지원됩니다.
  + `instanceType`
  + `userData`
+ <a name="API_describe-instance-status"></a>[DescribeInstanceStatus](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceStatus.html)
+ [DescribeLaunchTemplates](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplates.html)
+ [DescribeLaunchTemplateVersions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeLaunchTemplateVersions.html)
+ [DescribeInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
+ [DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html) - 하나 이상의 보안 그룹을 설명합니다. `DescribeSecurityGroups`는 페이지 매김 작업입니다. 다중 API 직접 호출을 발행하여 결과의 전체 데이터 세트를 검색할 수 있습니다.
+ [DescribeTags](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTags.html) - 이 명령과 함께 다음 필터가 지원됩니다.
  + `resource-id`
  + `resource-type` - AMI 또는 컴퓨팅 인스턴스만 해당합니다.
  + `key`
  + `value`
+  [DescribeVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html) - 다음 요청 파라미터가 지원됩니다.
  + `MaxResults`
  + `NextToken`
  + `VolumeId.N`
+  [DetachVolume](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DetachVolumes.html) - 다음 요청 파라미터가 지원됩니다.
  + `Device`
  + `InstanceId`
  + `VolumeId`
+ [DisassociateAddress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DisassociateAddress.html)
+ [GetLaunchTemplateData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetLaunchTemplateData.html)
+ [ModifyLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyLaunchTemplate.html)
+ [ModifyInstanceAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) - `userData` 속성만이 지원됩니다.
+ [RevokeSecurityGroupEgress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RevokeSecurityGroupEgress.html) - 하나 이상의 송신 규칙을 보안 그룹에서 제거합니다.
+ [RevokeSecurityGroupIngress](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RevokeSecurityGroupIngress.html) - 보안 그룹에 대한 하나 이상의 수신 규칙을 해지합니다. RevokeSecurityGroupIngress 호출 시 `group-name` 또는 `group-id`에 대한 값을 지정해야 합니다.
+ [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) –
**참고**  
컴퓨팅 인스턴스의 크기 및 유형에 따라 Snowball Edge에서 컴퓨팅 인스턴스를 시작하는 데 최대 한 시간 반이 소요될 수 있습니다.
+ [StartInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StartInstances.html)
+ [StopInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_StopInstances.html) - 중지된 인스턴스와 연결된 리소스가 지속됩니다. 이러한 리소스를 확보하기 위해 인스턴스를 종료할 수 있습니다. 하지만 연결된 모든 데이터가 삭제됩니다.
+ [TerminateInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html)

# Snowball Edge에서 시작 템플릿을 사용하여 EC2-compatible 인스턴스 자동 시작
<a name="ec2-autostart"></a>

시작 템플릿과 Snowball Edge 클라이언트 시작 구성 명령을 사용하여 AWS Snowball Edge 디바이스에서 Amazon EC2-compatible 인스턴스를 자동으로 시작할 수 있습니다.

*시작 템플릿*에는 Snowball Edge에 Amazon EC2 호환 인스턴스를 생성하는 데 필요한 구성 정보가 포함되어 있습니다. 시작 템플릿을 사용하여 시작 파라미터를 저장할 수 있으므로 Snowball Edge에서 EC2 호환 인스턴스를 시작할 때마다 시작 파라미터를 지정할 필요가 없습니다.

Snowball Edge에서 자동 시작 구성을 사용하면 Amazon EC2 호환 인스턴스를 시작할 파라미터를 구성할 수 있습니다. Snowball Edge가 구성되면 재부팅하고 잠금을 해제할 때 자동 시작 구성을 사용하여 지정한 파라미터로 인스턴스를 시작합니다. 자동 시작 구성을 사용하여 시작한 인스턴스가 중지되면 디바이스를 잠금 해제할 때 인스턴스가 실행을 시작합니다.

**참고**  
자동 시작 구성을 처음 구성한 후에는 디바이스를 다시 시작하십시오. 디바이스가 잠금 해제된 후에는 모든 후속 인스턴스 시작(계획된 재부팅 또는 계획되지 않은 재부팅 이후)이 자동으로 이루어집니다.

시작 템플릿은 해당 인스턴스를 시작할 때 Amazon EC2 호환 인스턴스에 대한 Amazon Machine Image(AMI) ID, 인스턴스 유형, 사용자 데이터, 보안 그룹 및 태그를 지정할 수 있습니다. 지원되는 인스턴스 유형의 목록은 [Snowball Edge 디바이스에서 컴퓨팅 인스턴스 사용 시 할당량](ec2-edge-limits.md) 섹션을 참조하세요.

Snowball Edge에서 EC2 호환 인스턴스를 자동으로 시작하려면 다음 단계를 수행합니다.

1.  AWS Snowball Edge 디바이스를 주문할 때 컴퓨팅 인스턴스가 있는 Snowball Edge 디바이스를 주문하는 작업을 생성합니다. 자세한 내용은 [Snowball Edge 주문 작업 생성을 참조하세요](https://docs.aws.amazon.com/snowball/latest/developer-guide/create-job-common.html).

1. Snowball Edge를 받은 후 잠금을 해제합니다.

1. EC2 호환 API 명령 `aws ec2 create-launch-template`을 사용하여 시작 템플릿을 생성합니다.

1. Snowball Edge 클라이언트 명령 `snowballEdge create-autostart-configuration`을 사용하여 EC2 호환 인스턴스 시작 템플릿을 네트워크 구성에 바인딩합니다. 자세한 내용은 [Snowball Edge에서 EC2-compatible 시작 구성 생성](using-ec2-edge-client.md#ec2-edge-create-autostart-config) 단원을 참조하십시오.

1. 재부팅한 다음 디바이스를 잠금 해제합니다. EC2 호환 인스턴스는 시작 템플릿과 Snowball Edge 클라이언트 명령 `create-autostart-configuration`에 지정된 속성을 사용하여 자동으로 시작됩니다.

실행 중인 인스턴스 상태를 확인하려면 EC2 호환 API 명령 `describe-autostart-configurations`를 사용합니다.

**참고**  
시작 템플릿을 AWS Snowball Edge 지원하기 위한 콘솔 또는 작업 관리 API는 없습니다. EC2 호환 및 Snowball Edge 클라이언트 CLI 명령을 사용하여 AWS Snowball Edge 디바이스에서 EC2 호환 인스턴스를 자동으로 시작합니다.

# Snowball Edge에서 Amazon EC2-compatible 인스턴스와 함께 Snow용 인스턴스 메타데이터 서비스 사용
<a name="imds"></a>

Snow용 IMDS는 Snow의 Amazon EC2 호환 인스턴스에 대한 인스턴스 메타데이터 서비스(IMDS)를 제공합니다. 인스턴스 메타데이터는 인스턴스에 대한 정보 카테고리입니다. 여기에는 *호스트 이름*, *이벤트*, *보안 그룹* 등의 범주가 포함됩니다. Snow용 IMDS를 사용하면 인스턴스 메타데이터로 Amazon EC2 호환 인스턴스를 시작할 때 지정한 사용자 데이터에 액세스할 수 있습니다. 예를 들어, Snow용 IMDS를 사용하여 인스턴스 구성을 위한 파라미터를 지정하거나 단순 스크립트에 이러한 파라미터를 포함시킬 수 있습니다. 일반 AMI를 빌드하고 사용자 데이터를 사용하여 시작 시간에 제공되는 구성 파일을 수정할 수 있습니다.

인스턴스 메타데이터와 사용자 데이터 및 Snow EC2 호환 인스턴스에 대해 알아보려면 이 설명서의 [지원되는 인스턴스 메타데이터 및 사용자 데이터](https://docs.aws.amazon.com/snowball/latest/developer-guide/edge-compute-instance-metadata.html)를 참조하십시오.

**중요**  
사용자는 인스턴스 자체 내에서 인스턴스 메타데이터 및 사용자 데이터에만 액세스할 수 있지만, 데이터는 인증 또는 암호화 방법으로 보호되지 않습니다. 인스턴스에 직접 액세스할 수 있는 모든 사람과 인스턴스에서 실행 중인 모든 소프트웨어는 메타데이터를 볼 수 있습니다. 따라서 암호 또는 수명이 긴 암호화 키와 같은 민감한 데이터를 사용자 데이터로 저장해서는 안 됩니다.

**참고**  
이 섹션의 예에서는 인스턴스 메타데이터 서비스의 IPv4 주소(169.254.169.254)를 사용합니다. 링크-로컬 IPv6 주소를 사용한 인스턴스 메타데이터 검색은 지원되지 않습니다.

**Topics**
+ [Snowball Edge의 IMDS 버전](imds-versions.md)
+ [Snowball Edge에서 IMDSv1 및 IMDSv2를 사용하여 인스턴스 메타데이터를 검색하는 예제](imds-code-examples.md)

# Snowball Edge의 IMDS 버전
<a name="imds-versions"></a>

IMDS 버전 2 또는 IMDS 버전 1을 사용하여 실행 중인 인스턴스에서 인스턴스 메타데이터에 액세스할 수 있습니다.
+ 인스턴스 메타데이터 서비스 버전 2(IMDSv2) – 세션 지향 방법
+ 인스턴스 메타데이터 서비스 버전 1(IMDSv1) – 요청/응답 방법

Snow 소프트웨어 버전에 따라 IMDSv1 또는 IMDSv2를 사용하거나 둘 다 사용할 수 있습니다. 이는 EC2 호환 인스턴스에서 실행되는 AMI 유형에 따라서도 달라집니다. Ubuntu 20.04를 실행하는 AMI와 같은 일부 AMI에는 IMDSv2가 필요합니다. 인스턴스 메타데이터 서비스는 `PUT` 또는 `GET` 헤더의 존재 여부에 따라 IMDSv1 요청과 IMDSv2 요청을 구별합니다. IMDSv2는 이 두 헤더를 모두 사용합니다. IMDSv1은 `GET` 헤더만 사용합니다.

AWS IMDSv2에는 더 높은 보안이 포함되어 있으므로는 IMDSv1 대신 IMDSv2를 사용하도록 권장합니다. 자세한 내용은 [EC2 인스턴스 메타데이터 서비스의 향상된 기능을 통해 개방형 방화벽, 역방향 프록시 및 SSRF 취약성에 대한 심층적인 방어 기능 추가](https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/)를 참조하십시오.

## Snowball Edge의 IMDSv2
<a name="imdsv2"></a>

IMDSv2를 사용하여 인스턴스 메타데이터를 요청하는 경우 요청에는 다음 규칙이 포함되어야 합니다.

1. `PUT` 요청을 사용하여 인스턴스 메타데이터 서비스의 세션을 초기화합니다. `PUT` 요청은 후속 `GET` 요청에 포함되어야 하는 세션 토큰을 인스턴스 메타데이터 서비스에 반환합니다. 세션 기간을 정의하는 세션 토큰입니다. 세션 기간은 최소 1초, 최대 6시간입니다. 지정된 기간 중에는 후속 요청에 동일한 세션 토큰을 사용할 수 있습니다. 지정된 기간이 만료된 후에는 향후 요청에 사용할 새로운 세션 토큰을 생성해야 합니다. 토큰은 IMDSv2를 사용하여 메타데이터에 액세스하는 데 필요합니다.

1. 인스턴스 메타데이터 서비스에 대한 모든 `GET` 요청에 토큰을 포함시킵니다.

   1. 토큰은 인스턴스에 특정한 키입니다. 토큰은 다른 인스턴스에서 유효하지 않으며 해당 토큰이 생성된 인스턴스 외부에서 사용하려고 시도하면 거부됩니다.

   1. `PUT` 요청에는 토큰의 TTL(Time to Live)를 최대 6시간(21,600초)까지 초 단위로 지정하는 헤더가 포함되어야 합니다. 토큰은 논리 세션을 나타냅니다. TTL은 토큰이 유효한 시간 길이를 지정하며 따라서 세션 기간을 지정합니다.

   1. 토큰이 만료된 후 인스턴스 메타데이터에 계속 액세스하려면 다른 `PUT` 요청을 사용하여 새 세션을 생성해야 합니다.

   1. 토큰을 재사용하거나 모든 요청에 새 토큰을 생성하도록 선택할 수 있습니다. 요청 수가 적은 경우 인스턴스 메타데이터 서비스에 액세스해야 할 때마다 토큰을 생성하고 즉시 사용하는 것이 더 간편할 수 있습니다. 하지만 효율성을 향상하려면 인스턴스 메타데이터를 요청해야 할 때마다 `PUT` 요청을 작성하는 대신 토큰에 더 긴 기간을 지정하고 토큰을 재사용할 수 있습니다. 동시 토큰 수에는 실질적인 제한이 없으며 각각은 자체 세션을 나타냅니다.

IMDSv2 인스턴스 메타데이터 요청에서는 HTTP `GET` 및 `HEAD` 메서드가 허용됩니다. `PUT` 요청은 `X-Forwarded-For` 헤더가 포함된 경우 거부됩니다.

기본적으로 `PUT` 요청에 대한 응답에는 IP 프로토콜 수준에서 1의 응답 홉 제한(TTL(Time to Live))이 있습니다. Snow용 IMDS는 `PUT` 응답에 대한 홉 제한을 수정할 수 없습니다.

다음 예에서는 Linux 셸 스크립트와 IMDSv2를 사용하여 최상위 인스턴스 메타데이터 항목을 가져옵니다. 이 예에서는

1. `PUT` 요청을 사용하여 6시간(21,600초) 동안 지속되는 세션 토큰을 생성합니다.

1. `TOKEN`이라는 변수에 세션 토큰 헤더를 저장합니다.

1. 토큰을 사용하여 최상위 메타데이터 항목을 요청합니다.

두 개의 명령을 사용하여 EC2-compatible 토큰을 생성합니다. 명령을 별도로 실행하거나 하나의 명령으로 실행할 수 있습니다.

먼저 다음 명령을 사용하여 토큰을 생성합니다.

**참고**  
`X-aws-ec2-metadata-token-ttl-seconds`는 필수 헤더입니다. 이 헤더가 포함되지 않은 경우 **400 - 파라미터 누락 또는 잘못된 파라미터** 오류 코드를 받게 됩니다.

```
    [ec2-user ~]$ TOKEN=curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"
```

그런 다음 해당 토큰을 사용하여 다음 명령으로 최상위 메타데이터 항목을 생성합니다.

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/
```

**참고**  
토큰을 만드는 데 오류가 발생하면 유효한 토큰 대신에 오류 메시지가 변수에 저장되고 명령이 작동하지 않습니다.

토큰을 저장하고 명령을 결합할 수 있습니다. 다음 예는 위의 두 명령을 결합하고 `TOKEN`이라는 변수에 세션 토큰 헤더를 저장합니다.

**Example 결합된 명령**  

```
    [ec2-user ~]$ TOKEN=curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/
```

토큰을 생성한 후에는 만료될 때까지 토큰을 재사용할 수 있습니다. 다음 예제 명령에서는 인스턴스를 시작하는 데 사용한 AMI의 ID를 가져오고 이전 예에서 생성한 `$TOKEN`에 이를 저장합니다.

**Example 토큰 재사용의 경우**  

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ami-id                        
```

## Snowball Edge의 IMDSv1
<a name="imdsv1"></a>

IMDSv1은 요청-응답 모델을 사용합니다. 인스턴스 메타데이터를 요청하려면 인스턴스 메타데이터 서비스에 `GET` 요청을 전송합니다.

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/                   
```

인스턴스 메타데이터는 실행 중인 인스턴스에서 사용할 수 있으므로 Amazon EC2 콘솔 또는 AWS CLI 를 사용하여 액세스할 필요가 없습니다. 이는 인스턴스에서 실행할 스크립트를 작성할 때 유용합니다. 예를 들어, 사용자는 인스턴스 메타데이터에서 인스턴스의 로컬 IP 주소에 액세스하여 외부 애플리케이션과의 연결을 관리할 수 있습니다. 인스턴스 메타데이터는 몇 가지 범주로 분류될 수 있습니다. 각 인스턴스 메타데이터 범주에 대한 설명은 이 설명서의 [지원되는 인스턴스 메타데이터 및 사용자 데이터](https://docs.aws.amazon.com/snowball/latest/developer-guide/edge-compute-instance-metadata.html)를 참조하십시오.

실행 중인 모든 인스턴스 메타데이터 범주를 살펴보려면 다음 IPv4 URI를 사용하십시오.

```
    http://169.254.169.254/latest/meta-data/
```

IP 주소는 링크-로컬 주소이며 인스턴스에서만 유효합니다. 자세한 내용은 Wikipedia의 [Link-local address](https://en.wikipedia.org/wiki/Link-local_address)를 참조하십시오.

모든 인스턴스 메타데이터는 텍스트(HTTP 콘텐츠 유형 `text/plain`)로 반환됩니다.

특정 메타데이터 리소스를 요청하면 적절한 값이 반환되거나 리소스를 이용할 수 없는 경우 **404 - 찾을 수 없음** HTTP 오류 코드가 반환됩니다.

일반 메타데이터 리소스(`/`로 끝나는 URI)를 요청한 경우 이용 가능한 리소스 목록이 반환되거나 해당 리소스가 없는 경우 **404 - 찾을 수 없음** HTTP 오류 코드가 반환됩니다. 목록 항목은 개별 라인에 표시되고 줄바꿈(ASCII 문자 코드 10)으로 끝납니다.

IMDSv1을 사용하여 수행한 요청의 경우 다음 HTTP 오류 코드가 반환될 수 있습니다.
+ **400 - 파라미터 누락 또는 유효하지 않음** - `PUT` 요청이 유효하지 않습니다.
+ **401 - 권한이 없음** - `GET` 요청이 유효하지 않은 토큰을 사용합니다. 권장되는 작업은 새 토큰을 생성하는 것입니다.
+ **403 - 금지됨** - 요청이 허용되지 않거나 인스턴스 메타데이터 서비스가 꺼져 있습니다.

# Snowball Edge에서 IMDSv1 및 IMDSv2를 사용하여 인스턴스 메타데이터를 검색하는 예제
<a name="imds-code-examples"></a>

다음 예에서는 Linux 인스턴스에서 사용할 수 있는 명령을 제공합니다.

**Example 인스턴스 메타데이터의 사용 가능한 버전 가져오기**  
이 예를 통해 이용 가능한 인스턴스 메타데이터 버전을 가져올 수 있습니다. 각 버전은 새 인스턴스 메타데이터 카테고리가 릴리스될 때 인스턴스 메타데이터 빌드를 참조합니다. 이전 버전의 구조 및 정보를 사용하는 스크립트인 경우 이전 버전을 사용할 수 있습니다.  
IMDSv2  

```
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  Dload  Upload   Total   Spent    Left  Speed
    100        56         100      56      0       0       3733     0    --:--:-- --:--:-- --:--:--  3733
    *   Trying 169.254.169.254...
    * TCP_NODELAY set
    * Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
    > GET / HTTP/1.1
    > Host: 169.254.169.254
    > User-Agent: curl/7.61.1
    > Accept: */*
    > X-aws-ec2-metadata-token: MDAXcxNFLbAwJIYx8KzgNckcHTdxT4Tt69TzpKExlXKTULHIQnjEtXvD
    >
    * HTTP 1.0, assume close after body
    < HTTP/1.0 200 OK
    < Date: Mon, 12 Sep 2022 21:58:03 GMT
    < Content-Length: 274
    < Content-Type: text/plain
    < Server: EC2ws
    <
    1.0
    2007-01-19
    2007-03-01
    2007-08-29
    2007-10-10
    2007-12-15
    2008-02-01
    2008-09-01
    2009-04-04
    2011-01-01
    2011-05-01
    2012-01-12
    2014-02-25
    2014-11-05
    2015-10-20
    2016-04-19
    2016-06-30
    2016-09-02
    2018-03-28
    2018-08-17
    2018-09-24
    2019-10-01
    2020-10-27
    2021-01-03
    2021-03-23
    * Closing connection 0
```
IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/
    1.0
    2007-01-19
    2007-03-01
    2007-08-29
    2007-10-10
    2007-12-15
    2008-02-01
    2008-09-01
    2009-04-04
    2011-01-01
    2011-05-01
    2012-01-12
    2014-02-25
    2014-11-05
    2015-10-20
    2016-04-19
    2016-06-30
    2016-09-02
    2018-03-28
    2018-08-17
    2018-09-24
    2019-10-01
    2020-10-27
    2021-01-03
    2021-03-23
    latest
```

**Example 최고 수준 메타데이터 항목 가져오기**  
이 예는 최고 수준 메타데이터 항목을 가져옵니다. 최상위 메타데이터 항목에 대한 자세한 내용은 이 설명서의 [지원되는 인스턴스 메타데이터 및 사용자](https://docs.aws.amazon.com/snowball/latest/developer-guide/edge-compute-instance-metadata.html) 데이터를 참조하십시오.  
IMDSv2  

```
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ 
    ami-id
    hostname
    instance-id
    instance-type
    local-hostname
    local-ipv4
    mac
    network/
    reservation-id
    security-groups
```
IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/ 
    ami-id
    hostname
    instance-id
    instance-type
    local-hostname
    local-ipv4
    mac
    network/
    reservation-id
    security-groups
```

**Example 최상위 메타데이터의 값 가져오기**  
다음 예에서는 이전 예에서 얻은 몇 가지 최상위 메타데이터 항목의 값을 가져옵니다. IMDSv2 요청에서는 토큰이 만료되지 않았다고 가정하고 이전 예제 명령에서 생성한 저장된 토큰을 사용합니다.  
`ami‐id` IMDSv2  

```
    curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/ami-id ami-0abcdef1234567890                    
```
`ami-id` IMDSv1  

```
    curl http://169.254.169.254/latest/meta-data/ami-id ami-0abcdef1234567890                    
```
`reservation-id` IMDSv2  

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/reservation-id r-0efghijk987654321
```
`reservation-id` IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/reservation-id \
    r-0efghijk987654321
```
`local-hostname` IMDSv2  

```
    [ec2-user ~]$ curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/local-hostname ip-00-000-00-00                    
```
`local-hostname` IMDSv1  

```
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-hostname ip-00-000-00-00
```

# Snowball Edge에서 Amazon EC2-compatible 인스턴스와 함께 블록 스토리지 사용
<a name="edge-ebs"></a>

Snowball Edge의 블록 스토리지는 애플리케이션 요구 사항에 따라 블록 스토리지를 추가하거나 제거할 수 있도록 합니다. Amazon EC2 호환 인스턴스에 연결된 볼륨은 스토리지 볼륨으로 표시되며, 인스턴스 수명과 관계없이 지속됩니다. 익숙한 Amazon EBS API를 사용해 블록 스토리지를 관리할 수 있습니다.

특정 EC2 호환 엔드포인트를 사용하면 일부 Amazon EBS 명령어가 지원됩니다. 지원되는 명령어에는 `attach-volume`, `create-volume`, `delete-volume`, `detach-volume`, `describe-volumes`가 포함됩니다. 이러한 명령에 대한 자세한 내용은 [Snowball Edge에서 지원되는 EC2-compatible AWS CLI 명령 목록](using-ec2-endpoint.md#list-cli-commands-ec2-edge) 섹션을 참조하세요.

**중요**  
볼륨을 분리하기 전에 운영 체제 안에서 디바이스의 파일 시스템을 모두 탑재 해제합니다. 해제하지 않으면 잠재적으로 데이터가 손실될 수 있습니다.

다음으로 Amazon EBS 볼륨 할당량 및 디바이스의 Amazon EBS 볼륨과 클라우드의 Amazon EBS 볼륨 차이를 설명합니다.
+ Amazon EBS 볼륨은 볼륨을 호스팅하는 디바이스에서 실행되는 EC2 호환 인스턴스에서만 사용할 수 있습니다.
+ 볼륨 유형은 용량 최적화 HDD(`sbg1`) 또는 성능 최적화 SSD(`sbp1`)로 제한됩니다. 기본 볼륨 유형은 `sbg1`입니다.
+ Snowball Edge에서는 Amazon S3 객체와 Amazon EBS 간에 HDD 메모리를 공유합니다. 에서 HDD 기반 블록 스토리지를 사용하는 경우 Amazon S3 객체에 사용할 수 있는 메모리 양 AWS Snowball Edge이 줄어듭니다. 마찬가지로 Amazon S3 객체는 HDD 볼륨에서 Amazon EBS 블록 스토리지에 사용할 수 있는 메모리 양을 줄입니다.
+ Amazon EC2 호환 루트 볼륨은 항상 IDE 드라이버를 사용합니다. 추가 Amazon EBS 볼륨은 가능한 경우 Virtio 드라이버를 우선 사용합니다. Virtio 드라이버를 이용할 수 없는 경우 SBE는 IDE 드라이버를 기본으로 사용합니다. 성능이 우수하기 때문에 Virtio 드라이버의 사용을 추천합니다.
+ Amazon EBS 볼륨을 생성할 때 `encrypted` 파라미터는 지원되지 않습니다. 그러나 디바이스의 모든 데이터는 기본적으로 암호화됩니다. 
+ 볼륨 크기는 1GB에서 10TB까지 가능합니다.
+ 하나의 EC2 호환 인스턴스에 최대 10개의 Amazon EBS 볼륨을 연결할 수 있습니다.
+  AWS Snowball Edge 디바이스에 추가할 수 있는 Amazon EBS 볼륨 수에 대한 공식적인 제한은 없습니다. 그러나 디바이스의 사용 가능한 공간에 따라 총 Amazon EBS 볼륨 크기가 제한될 수 있습니다.

# Snowball Edge의 보안 그룹을 사용하여 네트워크 트래픽 제어
<a name="edge-security-groups"></a>

*보안 그룹*은 하나 이상의 인스턴스에 대한 트래픽을 제어하는 가상 방화벽 역할을 합니다. 인스턴스를 시작할 때 하나 이상의 보안 그룹을 인스턴스와 연결합니다. 연결된 인스턴스와 트래픽을 주고받을 수 있게 하는 규칙을 각 보안 그룹에 추가할 수 있습니다. 자세한 내용은 Amazon EC2 사용 설명서의 [Linux 인스턴스용 Amazon EC2 보안 그룹](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)을 참조하세요.

Snowball Edge 디바이스의 보안 그룹은 AWS 클라우드의 보안 그룹과 비슷합니다. Virtual Private Cloud(VPC)는 Snowball Edge 디바이스에서 지원되지 않습니다.

다음에서 Snowball Edge 보안 그룹과 EC2-VPC 보안 그룹의 기타 차이를 확인할 수 있습니다.
+ 각 Snowball Edge의 보안 그룹 수는 50개로 제한됩니다.
+ 기본 보안 그룹은 인바운드와 아웃바운드 트래픽을 모두 허용합니다.
+ 로컬 인스턴스 간의 트래픽은 프라이빗 인스턴스 IP 주소 또는 퍼블릭 IP 주소를 사용할 수 있습니다. 예를 들어 SSH를 사용하여 인스턴스 A에서 인스턴스 B로 연결하려고 합니다. 이 경우 보안 그룹이 이 트래픽을 허용하면 대상 IP 주소는 인스턴스 B의 퍼블릭 IP 또는 프라이빗 IP 주소일 수 있습니다.
+  AWS CLI 작업 및 API 호출에 대해 나열된 파라미터만 지원됩니다. 일반적으로 이는 EC2-VPC 인스턴스에서 지원되는 항목의 하위 집합입니다.

지원되는 AWS CLI 작업에 대한 자세한 내용은 섹션을 참조하세요[Snowball Edge에서 지원되는 EC2-compatible AWS CLI 명령 목록](using-ec2-endpoint.md#list-cli-commands-ec2-edge). 지원되는 API 작업에 대한 자세한 내용은 [Snowball Edge에서 지원되는 Amazon EC2-compatible API 작업](using-ec2-endpoint.md#using-ec2-adapter-supported-api) 섹션을 참조하세요.

# Snowball Edge에서 지원되는 EC2-compatible 인스턴스 메타데이터 및 사용자 데이터
<a name="edge-compute-instance-metadata"></a>

*인스턴스 메타데이터*는 실행 중인 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터입니다. Snowball Edge에서는 컴퓨팅 인스턴스에 대해 인스턴스 메타데이터 범주의 하위 집합을 지원합니다. 자세한 내용은 Amazon EC2 사용 설명서의 [인스턴스 메타데이터 및 사용자 데이터](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)를 참조하세요.

다음과 같은 범주가 지원됩니다. 다른 카테고리를 사용하여 `404` 오류 메시지를 반환합니다.


**Snowball Edge 디바이스에서 지원되는 인스턴스 메타데이터 범주**  

| Data | 설명 | 
| --- | --- | 
|  ami-id  | 인스턴스를 시작하기 위해 사용된 AMI ID. | 
| hostname | 인스턴스의 프라이빗 IPv4 DNS 호스트 이름. | 
|  instance-id  | 이 인스턴스의 ID. | 
|  instance-type  | 인스턴스 유형. | 
|  local-hostname  | 인스턴스의 프라이빗 IPv4 DNS 호스트 이름. | 
|  local-ipv4  | 인스턴스의 프라이빗 IPv4 주소. | 
|  mac  | 인스턴스의 미디어 액세스 제어(MAC) 주소. | 
|  network/interfaces/macs/mac/local-hostname  | 인터페이스의 로컬 호스트이름. | 
|  network/interfaces/macs/mac/local-ipv4s  | 프라이빗 IPv4 주소는 인터페이스와 연결됩니다. | 
|  network/interfaces/macs/mac/mac  | 인스턴스의 MAC 주소. | 
|  network/interfaces/macs/mac/public-ipv4s  | 탄력적 IP 주소는 인터페이스와 연결됩니다. | 
|  public-ipv4  | 퍼블릭 IPv4 주소. | 
|  public-keys/0/openssh-key  | 퍼블릭 키. 시작 시에 인스턴스가 제공된 경우에만 사용할 수 있습니다. | 
|  reservation-id  | 예약 ID: | 
| userData | 시작 시 인스턴스에 명령을 전송하기 위한 Shell 스크립트입니다. | 


**Snowball Edge 디바이스에서 지원되는 인스턴스 동적 데이터 범주**  

| Data | 설명 | 
| --- | --- | 
| instance-identity/document | 인스턴스 속성이 포함된 JSON입니다. instanceId, imageId, privateIp 및 instanceType에만 값이 있고 반환된 기타 속성은 null입니다. 자세한 내용은 Amazon EC2 사용 설명서의 [인스턴스 자격 증명 문서](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-identity-documents.html) 섹션을 참조하세요. | 

## Snowball Edge의 컴퓨터 인스턴스 사용자 데이터
<a name="userdatasupport"></a>

쉘 스크립트를 사용하여 Snowball Edge 디바이스의 컴퓨팅 인스턴스 사용자 데이터에 액세스합니다. Shell 스크립트를 사용하면 시작 시 인스턴스에 명령을 전송할 수 있습니다. `modify-instance-attribute` AWS CLI 명령 또는 `ModifyInstanceAttribute` API 작업을 사용하여 사용자 데이터를 변경할 수 있습니다.

**사용자 데이터 변경하기**

1. `stop-instances` AWS CLI 명령을 사용하여 컴퓨팅 인스턴스를 중지합니다.

1. `modify-instance-attribute` AWS CLI 명령을 사용하여 `userData` 속성을 수정합니다.

1. `start-instances` AWS CLI 명령을 사용하여 컴퓨팅 인스턴스를 다시 시작합니다.

컴퓨팅 인스턴스에서는 Shell 스크립트만 지원됩니다. Snowball Edge 디바이스에서 실행 중인 컴퓨팅 인스턴스에서는 `cloud-init` 패키지 명령이 지원되지 않습니다. AWS CLI 명령 작업에 대한 자세한 내용은 *[AWS CLI 명령](https://docs.aws.amazon.com/cli/latest/reference/) 참조를 참조하세요.*

## Snowball Edge에서 실행 중인 EC2-compatible 인스턴스 중지
<a name="managing-ec2-instances"></a>

디바이스에서 작성한 Amazon EC2-compatible 인스턴스를 실수로 삭제하지 않도록 운영 체제에서 인스턴스를 종료하면 안 됩니다. 예를 들어, `shutdown` 또는 `reboot` 명령을 사용하지 마세요. 운영 체제에서 인스턴스를 종료하면 [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) 명령을 호출하는 것과 효과가 동일합니다.

대신 [stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 명령을 사용하여 보존하려는 Amazon EC2 호환 인스턴스를 일시 중단합니다.