

# AWS CLI 및 Java용 SDK를 사용하여 시작하기
<a name="S3OutpostsGSCLIJava"></a>

Amazon S3 on Outposts를 사용하면 AWS Outposts에서 S3 버킷을 생성하고 로컬 데이터 액세스, 로컬 데이터 처리 및 데이터 레지던시가 필요한 애플리케이션을 위해 온프레미스에서 객체를 쉽게 저장하고 검색할 수 있습니다. S3 on Outposts는 S3 Outposts(`OUTPOSTS`)라는 새로운 스토리지 클래스를 제공합니다. 이 클래스는 Amazon S3 API를 사용하며 AWS Outposts의 여러 디바이스와 서버에 데이터를 이중화된 방식으로 안정적으로 저장하도록 설계되었습니다. Virtual Private Cloud(VPC)를 통한 액세스 포인트 및 엔드포인트 연결을 사용하여 Outpost 버킷과 통신합니다. 액세스 정책, 암호화, 태깅을 포함하여 Amazon S3 버킷에서와 같이 Outpost 버킷에서 동일한 API 및 기능을 사용할 수 있습니다. AWS Management Console, AWS Command Line Interface(AWS CLI), AWS SDK 또는 REST API를 통해 S3 on Outposts를 사용할 수 있습니다. 자세한 내용은 [Amazon S3 on Outposts란 무엇인가요?](S3onOutposts.md) 섹션을 참조하세요.

S3 on Outposts를 시작하려면 버킷, 액세스 포인트 및 엔드포인트를 생성해야 합니다. 그러면 객체를 버킷에 업로드할 수 있습니다. 다음 예제에서는 AWS CLI 및 Java용 SDK를 사용하여 S3 on Outposts를 시작하는 방법을 보여줍니다. 콘솔을 사용하여 시작하려면 [AWS Management Console를 사용하여 시작하기](S3OutpostsGSConsole.md) 섹션을 참조하세요.

**Topics**
+ [1단계: 버킷 만들기](#S3OutpostsGSCreateBucket)
+ [2단계: 액세스 포인트 생성](#S3OutpostsGSCreateAccessPoint)
+ [3단계: 엔드포인트 생성](#S3OutpostsGSCreateEndpoint)
+ [4단계: S3 on Outposts 버킷에 객체 업로드](#S3OutpostsGSUploadObject)

## 1단계: 버킷 만들기
<a name="S3OutpostsGSCreateBucket"></a>

다음 AWS CLI 및 Java용 SDK 예제에서는 S3 on Outposts 버킷 생성 방법을 보여줍니다.

------
#### [ AWS CLI ]

**Example**  
다음 예제에서는 AWS CLI를 사용하여 S3 on Outposts 버킷(`s3-outposts:CreateBucket`)을 생성합니다. 이 명령을 실행하려면 `user input placeholders`를 사용자의 정보로 대체합니다.  

```
aws s3control create-bucket --bucket example-outposts-bucket --outpost-id op-01ac5d28a6a232904
```

------
#### [ SDK for Java ]

**Example**  
AWS SDK for Java를 사용하여 S3 Outposts 버킷을 만드는 방법의 예는 *AWS SDK for Java 2.x 코드 예제*의 [CreateOutpostsBucket.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsBucket.java)를 참조하세요.

------

## 2단계: 액세스 포인트 생성
<a name="S3OutpostsGSCreateAccessPoint"></a>

Amazon S3 on Outposts 버킷에 액세스하려면 액세스 포인트를 생성하고 구성해야 합니다. 다음 예제는 AWS CLI 및 Java용 SDK를 사용하여 액세스 포인트를 생성하는 방법을 보여줍니다.

액세스 포인트는 Amazon S3의 공유 데이터 세트에 대한 대규모 데이터 액세스 관리를 간소화합니다. 액세스 포인트는 `GetObject` 및 `PutObject` 같은 Amazon S3 객체 작업을 수행하는 데 사용할 수 있는 버킷에 연결된 네트워크 엔드포인트입니다. S3 on Outposts를 통해 Outposts 버킷의 객체에 액세스하려면 액세스 포인트를 사용해야 합니다. 액세스 포인트는 가상 호스트 스타일의 주소 지정만 지원합니다.

------
#### [ AWS CLI ]

**Example**  
다음 AWS CLI 예제에서는 Outposts 버킷에 대한 액세스 포인트를 생성합니다. 이 명령을 실행하려면 `user input placeholders`를 사용자의 정보로 대체합니다.  

```
aws s3control create-access-point --account-id 123456789012 --name example-outposts-access-point --bucket "arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket" --vpc-configuration VpcId=example-vpc-12345
```

------
#### [ SDK for Java ]

**Example**  
AWS SDK for Java를 사용하여 S3 Outposts 버킷에 대한 액세스 포인트를 만드는 방법의 예는 *AWS SDK for Java 2.x 코드 예제*의 [CreateOutpostsAccessPoint.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsAccessPoint.java)를 참조하세요.

------

## 3단계: 엔드포인트 생성
<a name="S3OutpostsGSCreateEndpoint"></a>

요청을 Amazon S3 on Outposts 액세스 포인트로 라우팅하려면 S3 on Outposts 엔드포인트를 생성하고 구성해야 합니다. 엔드포인트를 생성하려면 Outposts 홈 리전에 대한 서비스 링크와의 활성 연결이 필요합니다. Outpost에 있는 각 Virtual Private Cloud(VPC)에는 연결된 엔드포인트가 하나씩 있을 수 있습니다. 엔드포인트 할당량에 대한 자세한 내용은 [S3 on Outposts 네트워크 요구 사항](S3OnOutpostsRestrictionsLimitations.md#S3OnOutpostsConnectivityRestrictions) 단원을 참조하세요. Outposts 버킷에 액세스하고 객체 작업을 수행하려면 엔드포인트를 생성해야 합니다. 자세한 내용은 [엔드포인트](S3OutpostsWorkingBuckets.md#S3OutpostsEP) 섹션을 참조하세요.

다음 예제는 AWS CLI 및 Java용 SDK를 사용하여 앤드포인트를 생성하는 방법을 보여줍니다. 엔드포인트 생성 및 관리에 필요한 권한에 대한 자세한 내용은 [S3 on Outposts 엔드포인트에 대한 권한](S3OutpostsIAM.md#S3OutpostsEndpointPermissions) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**Example**  
다음 AWS CLI 예제에서는 VPC 리소스 액세스 유형을 사용하여 Outposts의 엔드포인트를 생성합니다. VPC는 서브넷에서 파생되었습니다. 이 명령을 실행하려면 `user input placeholders`를 사용자의 정보로 대체합니다.  

```
aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904 --subnet-id subnet-8c7a57c5 --security-group-id sg-ab19e0d1
```
다음 AWS CLI 예제에서는 고객 소유 IP 주소 풀(CoIP 풀) 액세스 유형을 사용하여 Outpost에 대한 엔드포인트를 생성합니다. 이 명령을 실행하려면 `user input placeholders`를 사용자의 정보로 대체합니다.  

```
aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904 --subnet-id subnet-8c7a57c5 --security-group-id sg-ab19e0d1 --access-type CustomerOwnedIp --customer-owned-ipv4-pool ipv4pool-coip-12345678901234567
```

------
#### [ SDK for Java ]

**Example**  
AWS SDK for Java를 사용하여 S3 Outposts에 대한 엔드포인트를 만드는 방법의 예는 *AWS SDK for Java 2.x 코드 예제*의 [CreateOutpostsEndPoint.java](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javav2/example_code/s3/src/main/java/com/example/s3/outposts/CreateOutpostsEndPoint.java)를 참조하세요.

------

## 4단계: S3 on Outposts 버킷에 객체 업로드
<a name="S3OutpostsGSUploadObject"></a>

객체를 업로드하려면 [S3 on Outposts 버킷에 객체 업로드](S3OutpostsUploadObjects.md) 단원을 참조하세요.