Snow Family 디바이스로 또는 Snow Family 디바이스로부터 데이터를 마이그레이션하기 위해 Amazon S3 어댑터를 사용하여 파일 전송 - AWS Snowball Edge 개발자 가이드

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

Snow Family 디바이스로 또는 Snow Family 디바이스로부터 데이터를 마이그레이션하기 위해 Amazon S3 어댑터를 사용하여 파일 전송

다음은 Amazon S3 어댑터에 대한 개요입니다. Amazon S3 작업을 사용하여 AWS Snowball Edge 디바이스에 이미 있는 S3 버킷과 프로그래밍 방식으로 데이터를 주고받는 데 사용할 수 있습니다. REST API 이 Amazon S3 REST API 지원은 작업의 하위 집합으로 제한됩니다. 이 작업 하위 집합을 다음 중 하나와 함께 사용하여 프로그래밍 방식으로 데이터를 AWS SDKs 전송할 수 있습니다. 또한 지원되는 AWS Command Line Interface (AWS CLI) 명령의 하위 집합을 Amazon S3에 사용하여 프로그래밍 방식으로 데이터를 전송할 수도 있습니다.

솔루션에서 AWS SDK for Java 버전 1.11.0 이상을 사용하는 경우 다음을 사용해야 합니다. S3ClientOptions

  • disableChunkedEncoding() - chunked 인코딩이 어댑터에서 지원되지 않음을 나타냅니다.

  • setPathStyleAccess(true) - 모든 요청에 대해 경로 방식 액세스를 사용하도록 어댑터를 구성합니다.

자세한 내용은 AppStream SDK자바용 아마존의 클래스 S3 ClientOptions .Builder를 참조하십시오.

중요

AWS Snowball Edge 디바이스의 로컬 버킷에서 데이터를 읽고 쓸 때는 한 번에 한 가지 방법만 사용하는 것이 좋습니다. 동일한 버킷에서 파일 인터페이스와 Amazon S3 어댑터를 동시에 사용하면 읽기/쓰기 충돌이 발생할 수 있습니다.

AWS Snowball 엣지 쿼터에서 한도에 대해 자세히 설명합니다.

Snowball Edge에서 AWS 서비스가 제대로 작동하려면 서비스에 포트를 허용해야 합니다. 세부 정보는 Snow Family 디바이스의 AWS 서비스를 위한 포트 요구 사항을 참조하세요.

Amazon S3 어댑터와 함께 사용할 AWS CLI 버전 1.16.14 다운로드 및 설치

현재 AWS CLI 의 버전 1.16.14 및 이전 버전만 Snowball Edge 디바이스 사용이 지원됩니다. 최신 버전은 S3 어댑터의 모든 기능을 지원하지 않기 때문에 Amazon S3 어댑터와 호환되지 않습니다. AWS CLI

참고

Snow Family 디바이스에서 Amazon S3 호환 스토리지를 사용하는 경우 최신 버전의 AWS CLI를 사용할 수 있습니다. 최신 버전을 다운로드하여 사용하려면 AWS Command Line Interface 사용 설명서를 참조하세요.

Linux 운영 AWS CLI 체제에 설치하십시오.

다음 체인 명령을 실행합니다.

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.14.zip" -o "awscli-bundle.zip";unzip awscli-bundle.zip;sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws;/usr/local/bin/aws --version;

Windows 운영 AWS CLI 체제에 설치하십시오.

운영 체제에 맞는 설치 프로그램 파일을 다운로드하고 실행합니다.

Snowball Edge 디바이스에서의 AWS CLI 및 API 연산 사용

AWS CLI 또는 API 작업을 사용하여 Snowball Edge에서 Amazon S3 및 Amazon EC2 명령을 실행하는 경우 지역을 "“snow로 지정해야 합니다. IAM 다음 예와 같이 명령 자체를 AWS configure 사용하거나 명령 내에서 이 작업을 수행할 수 있습니다.

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

Or

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

Amazon S3 API 인터페이스를 사용한 권한 부여 AWS Snowball

Amazon S3 어댑터를 사용하면 기본적으로 모든 상호 작용이 AWS 서명 버전 4 알고리즘으로 서명됩니다. 이 권한 부여는 소스에서 인터페이스로 이동하는 데이터를 확인하는 데에만 사용됩니다. 모든 암호화 및 암호화 해제는 디바이스에서 이루어집니다. 암호화되지 않은 데이터는 디바이스에 저장되지 않습니다.

인터페이스를 사용할 때는 다음 사항에 유의하세요.

  • 로컬 Amazon S3 자격 증명을 가져와 AWS Snowball Edge 디바이스에 대한 요청에 서명하려면 snowballEdge list-access-keyssnowballEdge get-secret-access-keys Snowball Edge 클라이언트 명령을 실행합니다. 자세한 내용은 Snowball Edge 클라이언트 구성 및 사용 단원을 참조하십시오. 이러한 로컬 Amazon S3 자격 증명은 키 페어(액세스 키 및 비밀 키)를 포함합니다. 이러한 키는 작업과 연결된 디바이스에 대해서만 유효합니다. AWS Identity and Access Management (IAM) 대응물이 AWS 클라우드 없기 때문에 에서 사용할 수 없습니다.

  • 사용하는 AWS 자격 증명에 따라 암호화 키는 변경되지 않습니다. 서명 버전 4 알고리즘을 통한 서명은 소스에서 인터페이스로 이동하는 데이터를 확인하는 데에만 사용됩니다. 따라서 이러한 서명은 Snowball에서 데이터를 암호화하는 데 사용되는 암호화 키의 요소가 아닙니다.

Snow Family 디바이스에서 로컬 Amazon S3 자격 증명 가져오기 및 사용

Snowball Edge와의 모든 상호 작용은 AWS 서명 버전 4 알고리즘으로 서명됩니다. 알고리즘에 대한 자세한 정보는 AWS 일반 참조서명 버전 4 서명 프로세스를 참조하세요.

snowballEdge list-access-keyssnowballEdge get-secret-access-key Snowball Edge 클라이언트 정보를 실행하여 Snowball Edge 클라이언트 Edge 디바이스에 대한 요청에 서명하기 위한 로컬 Amazon S3 자격 증명을 얻을 수 있습니다(Snow Family 디바이스의 자격 증명 가져오기 참조). 이러한 로컬 Amazon S3 자격 증명은 키 페어(액세스 키 ID 및 비밀 키)를 포함합니다. 이러한 자격 증명은 작업과 연결된 디바이스에 대해서만 유효합니다. IAM대응물이 AWS 클라우드 없기 때문에 에서 사용할 수 없습니다.

서버의 자격 증명 파일에 이러한 자격 AWS 증명을 추가할 수 있습니다. 기본 자격 증명 프로필 파일은 일반적으로 ~/.aws/credentials에 있지만, 위치는 플랫폼에 따라 다를 수 있습니다. 이 파일은 많은 AWS SDKs 와 에서 공유합니다 AWS CLI. 다음 예시와 같이 프로필 이름을 사용하여 로컬 자격 증명을 저장할 수 있습니다.

[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Snow AWS CLI Family 디바이스의 S3 어댑터를 엔드포인트로 사용하도록 구성합니다.

를 사용하여 AWS Snowball Edge 디바이스에 명령을 실행할 때는 엔드포인트가 Amazon S3 어댑터임을 지정합니다. AWS CLI 다음과 같이 HTTPS 엔드포인트 또는 비보안 HTTP 엔드포인트를 사용할 수 있습니다.

HTTPS보안 엔드포인트

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443 --ca-bundle path/to/certificate

HTTP보안되지 않은 엔드포인트

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080

의 HTTPS 8443 엔드포인트를 사용하는 경우 데이터가 서버에서 Snowball Edge로 안전하게 전송됩니다. 이 암호화는 Snowball Edge에서 새 IP 주소를 가져올 때마다 생성하는 인증서로 보장됩니다. 인증서가 생기면 이를 로컬 ca-bundle.pem 파일에 저장할 수 있습니다. 그런 다음 다음 설명과 같이 인증서 경로를 포함하도록 AWS CLI 프로필을 구성할 수 있습니다.

인증서를 인터페이스 엔드포인트에 연결하려면
  1. Snowball Edge를 전원과 네트워크에 연결한 후 켭니다.

  2. 디바이스가 부팅을 마치면 로컬 네트워크상의 IP 주소를 적어 둡니다.

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

  4. 터미널에서 snowballEdge get-certificate 명령을 실행합니다. 이 명령에 대한 자세한 내용은 Snow Family 디바이스의 공개 키 인증서 관리 섹션을 참조하세요.

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

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

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

절차를 완료한 후 다음 예와 같이 이러한 로컬 자격 증명, 인증서 및 지정된 엔드포인트를 CLI 사용하여 명령을 실행할 수 있습니다.

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443

스노우 패밀리 디바이스의 Amazon S3 어댑터에 지원되지 않는 Amazon S3 기능

Amazon S3 어댑터를 사용하면 Amazon S3 작업을 통해 Snowball Edge와 데이터를 프로그래밍 방식으로 주고 받을 수 있습니다. API 하지만 Amazon S3 어댑터를 사용할 때 모든 Amazon S3 전송 기능 및 API 작업을 Snowball Edge 디바이스에서 사용할 수 있는 것은 아닙니다. 예를 들어, 다음 기능 및 작업은 Snowball Edge에서 사용할 수 있도록 지원되지 않습니다.

  • TransferManager— 이 유틸리티는 SDK Java용 파일을 사용하여 로컬 환경에서 Amazon S3로 파일을 전송합니다. 대신 인터페이스에서 지원되는 API 작업이나 AWS CLI 명령을 사용하는 것을 고려해 보십시오.

  • GET버킷 (객체 목록) 버전 2 — 이 GET 작업 구현은 버킷에 있는 객체의 일부 또는 전부 (최대 1,000개) 를 반환합니다. GET버킷 (객체 목록) 버전 1 작업 또는 ls AWS CLI 명령어 사용을 고려해 보십시오.

  • ListBuckets— 객체 엔드포인트가 ListBuckets 있는 는 지원되지 않습니다. 다음 명령은 Snow Family 디바이스의 Amazon S3 호환 스토리지에서는 작동하지 않습니다.

    aws s3 ls --endpoint https://192.0.2.0 --profile profile