Snowball Edge 디바이스에서 S3 버킷으로 작업하기 - AWS Snowball Edge 개발자 가이드

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

Snowball Edge 디바이스에서 S3 버킷으로 작업하기

Snowball Edge 디바이스에 Amazon S3 버킷을 생성하여, 로컬 데이터 액세스, 로컬 데이터 처리, 데이터 레지던시가 필요한 애플리케이션에서 온프레미스로 객체를 쉽게 저장하고 검색할 수 있습니다. Amazon S3 compatible storage on Snow Family devices는 Amazon S3 API를 사용하는 SNOW라는 새로운 스토리지 클래스를 제공합니다. 아울러 다수의 Snowball Edge 디바이스에 걸쳐 데이터를 이중화된 방식으로 안정적으로 저장하도록 설계되었습니다. 버킷 수명 주기 정책, 암호화, 태그 지정을 포함하여 Amazon S3에서와 같이 Snowball Edge 버킷에서 동일한 API 및 기능을 사용할 수 있습니다.

사용: AWS CLI

다음 지침에 따라 AWS CLI를 사용하여 디바이스에서 Amazon S3 버킷을 사용합니다.

설정하려면 AWS CLI
  1. ~/.aws/config에서 객체 엔드포인트의 프로필을 생성합니다.

    [profile your-profile] aws_access_key_id = your-access-id aws_secret_access_key = your-access-key region = snow ca_bundle = dev/apps/ca-certs/your-ca_bundle
  2. 디바이스에서 인증서를 받습니다. 자세한 내용은 Snowball Edge Developer Guide 섹션을 참조하세요.

  3. 가상 환경에 SDK를 설치한 경우 다음 명령어를 사용하여 활성화하십시오.

    source your-virtual-environment-name/bin/activate

작업을 설정한 후에는 AWS CLI를 사용하여 API 직접 호출을 통해 작업에 액세스할 수 있습니다. 다음 예시에서 cert는 IAM을 사용하여 획득한 디바이스 인증서입니다.

객체 작업 액세스

aws s3api --profile your-profile list-objects-v2 --endpoint-url https://s3api-endpoint-ip

버킷 작업 액세스

aws s3control --profile your-profile list-regional-buckets --account-id bucket-owner --endpoint-url https://s3ctrlapi-endpoint-ip

Java SDK 사용

다음 예시를 사용하면 Java SDK를 통해 Amazon S3 객체로 작업할 수 있습니다.

import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.http.SdkHttpClient; import software.amazon.awssdk.http.apache.ApacheHttpClient; import software.amazon.awssdk.regions.Region; import java.net.URI; AwsBasicCredentials creds = AwsBasicCredentials.create(accessKey, secretKey); // set creds by getting Access Key and Secret Key from snowball edge SdkHttpClient httpClient = ApacheHttpClient.builder().tlsTrustManagersProvider(trustManagersProvider).build(); // set trust managers provider with client certificate from snowball edge String s3SnowEndpoint = "10.0.0.0"; // set s3-snow object api endpoint from describe service S3Client s3Client = S3Client.builder().httpClient(httpClient).region(Region.of("snow")).endpointOverride(new URI(s3SnowEndpoint)).credentialsProvider(StaticCredentialsProvider.create(creds)).build();

버킷 ARN 형식

여기에 나열된 Amazon 리소스 이름(ARN) 형식을 사용하여 Snowball Edge 디바이스의 Amazon S3 버킷을 식별할 수 있습니다.

arn:partition:s3:snow:account-id:device/device-id/bucket/bucket-name

여기서 파티션은 Snowball Edge 디바이스를 주문한 리전의 파티션입니다. device-id는 디바이스가 독립형 Snowball Edge 디바이스인 경우 job_id이고, Snowball Edge 클러스터가 있는 경우 cluster_id입니다.

Snowball Edge 디바이스에 S3 버킷 생성

Snowball Edge 디바이스에 Amazon S3 버킷을 생성하여, 로컬 데이터 액세스, 로컬 데이터 처리, 데이터 레지던시가 필요한 애플리케이션의 엣지에서 객체를 저장하고 검색할 수 있습니다. Amazon S3 compatible storage on Snow Family devices는 Amazon S3를 사용하는 SNOW라는 새로운 스토리지 클래스를 제공합니다. 아울러 다수의 디바이스에 걸쳐 데이터를 이중화된 방식으로 안정적으로 저장하도록 설계되었습니다. 버킷 수명 주기 정책, 암호화, 태그 지정을 포함하여 Amazon S3 버킷에서와 같이 동일한 API 및 기능을 사용할 수 있습니다.

다음 예시에서는 AWS CLI를 사용하여 Snowball Edge 디바이스용 Amazon S3 버킷을 생성합니다. 이 명령을 실행하려면 사용자 입력 자리 표시자를 사용자의 정보로 대체합니다.

aws s3control --profile your-profile create-bucket --bucket your-snow-bucket --endpoint-url https://s3ctrlapi-endpoint-ip

를 사용하여 개체 수명 주기 구성을 만들고 관리합니다. AWS CLI

Amazon S3 Lifecycle을 사용하여 Amazon S3 compatible storage on Snow Family devices의 스토리지 용량을 최적화할 수 있습니다. 객체가 오래되거나 더 최신 버전으로 교체되면 객체를 만료시키도록 수명 주기 규칙을 만들 수 있습니다. 수명 주기 규칙을 생성, 사용, 사용 중지 또는 삭제할 수 있습니다. 자세한 내용은 스토리지 수명 주기 관리 섹션을 참조하세요.

참고

버킷을 생성한 사람이 AWS 계정 해당 버킷을 소유하며, 수명 주기 규칙을 생성, 활성화, 비활성화 또는 삭제할 수 있는 유일한 사람입니다.

AWS Command Line Interface (AWS CLI)를 사용하여 Amazon S3 compatible storage on Snow Family devices의 수명 주기 구성을 생성 및 관리하려면 다음 예시를 참조합니다.

Snowball Edge 버킷에 수명 주기 구성 추가

다음은 Snowball Edge 버킷에 라이프사이클 구성 정책을 적용하는 AWS CLI 예제입니다. 이 정책은 플래그가 지정된 접두사(myprefix)와 10일 후에 만료되는 태그가 포함된 모든 객체를 지정합니다. 이 예시를 사용하려면 각각의 사용자 입력 자리 표시자를 사용자의 정보로 바꿉니다.

먼저 수명 주기 구성 정책을 JSON 파일로 저장합니다. 이 예시에서 파일의 이름은 lifecycle-example.json으로 지정됩니다.

{ "Rules": [{ "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [{ "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ], } }, "Status": "Enabled", "Expiration": { "Days": 10 } }] }

파일을 저장한 후 JSON 파일을 put-bucket-lifecycle-configuration 명령의 일부로 제출합니다. 이 명령을 사용하려면 각각의 사용자 입력 자리 표시자를 사용자의 정보로 바꿉니다.

aws s3control put-bucket-lifecycle-configuration --bucket example-snow-bucket --profile your-profile --lifecycle-configuration file://lifecycle-example.json --endpoint-url https://s3ctrlapi-endpoint-ip

이 명령에 대한 자세한 내용은 AWS CLI 명령 참조를 참조하십시오 put-bucket-lifecycle-configuration.

Snowball Edge 디바이스에서 S3 버킷으로 작업하기

Amazon S3 compatible storage on Snow Family devices를 사용하면 Snowball Edge 디바이스에서 Amazon S3 버킷을 생성하고 로컬 데이터 액세스, 로컬 데이터 처리 및 데이터 레지던시가 필요한 애플리케이션에서 온프레미스로 객체를 저장하고 검색할 수 있습니다. Amazon S3 compatible storage on Snow Family devices는 Amazon S3 API를 사용하는 SNOW라는 새로운 스토리지 클래스를 제공합니다. 아울러 다수의 Snowball Edge 디바이스에 걸쳐 데이터를 이중화된 방식으로 안정적으로 저장하도록 설계되었습니다. 버킷 수명 주기 정책, 암호화, 태그 지정을 포함하여 Amazon S3에서와 같이 Snowball Edge 버킷에서 동일한 API 및 기능을 사용할 수 있습니다. AWS Command Line Interface (AWS CLI) 또는 AWS SDK를 사용하여 Snow Family 디바이스에서 Amazon S3 호환 스토리지를 사용할 수 있습니다.

Amazon S3 compatible storage on Snow Family devices 버킷에 액세스할 수 있는지 여부를 결정합니다.

다음 예시에서는 head-bucket 명령을 사용하여 버킷이 존재하고 AWS CLI을 사용하여 버킷에 액세스할 수 있는 권한이 있는지를 확인합니다. 이 명령을 사용하려면 각각의 사용자 입력 자리 표시자를 사용자의 정보로 바꿉니다.

aws s3api head-bucket --bucket sample-bucket --profile your-profile --endpoint-url https://s3api-endpoint-ip

버킷 또는 지역 버킷 목록을 검색하십시오.

list-regional-buckets또는 를 사용하여 Snow Family 디바이스 버킷에 Amazon S3 호환 스토리지를 list buckets 나열하려면 를 사용하십시오. AWS CLI

aws s3control list-regional-buckets --account-id 123456789012 --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

list-regional-buckets명령에 대한 자세한 내용은 AWS CLI 명령 list-regional-buckets참조를 참조하십시오.

aws s3 list-buckets --account-id 123456789012 --endpoint-url https://s3api-endpoint-ip

명령에 대한 자세한 내용은 list-buckets 명령 참조의 list-buckets를 참조하십시오.AWS CLI

다음 SDK for Java 예시에서는 Snowball Edge 디바이스의 버킷 목록을 가져옵니다. 자세한 내용은 Amazon 심플 스토리지 서비스 API 참조를 참조하십시오 ListBuckets.

import com.amazonaws.services.s3.model.*; public void listBuckets() { ListBucketsRequest reqListBuckets = new ListBucketsRequest() .withAccountId(AccountId) ListBucketsResult respListBuckets = s3APIClient.RegionalBuckets(reqListBuckets); System.out.printf("ListBuckets Response: %s%n", respListBuckets.toString()); }

다음은 Snowball Edge 디바이스의 버킷 목록을 가져오는 PowerShell 예제입니다.

Get-S3CRegionalBucketList -AccountId 012345678910 -Endpoint "https://snowball_ip" -Region snow

다음은 Snowball Edge 디바이스에 있는 버킷 목록을 가져오는 .NET 예제입니다.

using Amazon.S3Control; using Amazon.S3Control.Model; namespace SnowTest; internal class Program { static async Task Main(string[] args) { var config = new AmazonS3ControlConfig { ServiceURL = "https://snowball_ip", AuthenticationRegion = "snow" // Note that this is not RegionEndpoint }; var client = new AmazonS3ControlClient(config); var response = await client.ListRegionalBucketsAsync(new ListRegionalBucketsRequest() { AccountId = "012345678910" }); } }

버킷 가져오기

다음 예시에서는 AWS CLI를 사용하여 Amazon S3 compatible storage on Snow Family devices 버킷을 가져옵니다. 이 명령을 사용하려면 각각의 사용자 입력 자리 표시자를 사용자의 정보로 바꿉니다.

aws s3control get-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

이 명령에 대한 자세한 내용은 AWS CLI Command Referenceget-bucket 섹션을 참조하세요.

다음 Amazon S3 compatible storage on Snow Family devices 예시에서는 SDK for Java를 사용하여 버킷을 가져옵니다. 자세한 내용은 Amazon 심플 스토리지 서비스 API 참조를 참조하십시오 GetBucket.

import com.amazonaws.services.s3control.model.*; public void getBucket(String bucketName) { GetBucketRequest reqGetBucket = new GetBucketRequest() .withBucket(bucketName) .withAccountId(AccountId); GetBucketResult respGetBucket = s3ControlClient.getBucket(reqGetBucket); System.out.printf("GetBucket Response: %s%n", respGetBucket.toString()); }

버킷 삭제

중요
  • 버킷을 생성한 사람이 소유하며 버킷을 삭제할 수 있는 유일한 사람입니다. AWS 계정

  • Snow Family 디바이스 버킷을 삭제하려면 버킷이 비어 있어야 합니다.

  • 삭제한 버킷은 복구할 수 없습니다.

다음 예시에서는 AWS CLI를 사용하여 Amazon S3 compatible storage on Snow Family devices 버킷을 삭제합니다. 이 명령을 사용하려면 각각의 사용자 입력 자리 표시자를 사용자의 정보로 바꿉니다.

aws s3control delete-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

이 명령에 대한 자세한 내용은 AWS CLI Command Referencedelete-bucket 섹션을 참조하세요.