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

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

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

다음은 Amazon S3 REST API 작업을 사용하여 AWS Snowball Edge 디바이스에 이미 있는 S3 버킷에서 프로그래밍 방식으로 데이터를 전송하기 위해 사용할 수 있는 Amazon S3 어댑터의 개요입니다. 이 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) - 모든 요청에 대해 경로 방식 액세스를 사용하도록 어댑터를 구성합니다.

자세한 내용은 Amazon AppStream SDK for Java클래스 S3ClientOptions.Builder를 참조하세요.

중요

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

AWS Snowball 엣지 할당량에서 한도에 대해 자세히 설명합니다.

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

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

현재 AWS CLI 의 버전 1.16.14 및 이전 버전만 Snowball Edge 디바이스 사용이 지원됩니다. 최신 버전의 AWS CLI 는 Amazon S3 S3 어댑터와 호환되지 않습니다.

참고

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에서 IAM, Amazon S3 및 Amazon EC2 명령을 발급할 때는 리전을 “.”로 지정해야 합니다snow. 다음 예제와 같이 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 Client 구성 및 사용 단원을 참조하십시오. 이러한 로컬 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 Family 디바이스에서 S3 어댑터를 엔드포인트로 AWS CLI 사용하도록 구성

AWS CLI 를 사용하여 AWS Snowball Edge 디바이스에 명령을 발급할 때 엔드포인트를 Amazon S3 어댑터로 지정합니다. 다음과 같이 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

Snow Family 디바이스의 Amazon S3 어댑터에 지원되지 않는 Amazon S3 기능

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

  • TransferManager - 이 유틸리티는 JavaSDK용 를 사용하여 로컬 환경에서 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