

# AWS CLI および SDK for Java の使用開始
<a name="S3OutpostsGSCLIJava"></a>

Amazon S3 on Outposts を使用すると、AWS Outposts で S3 バケットを作成し、ローカルデータアクセス、ローカルデータ処理、データレジデンシーを必要とするアプリケーション用に、オンプレミスのオブジェクトを簡単に保存および取得できます。S3 on Outposts は、新しいストレージクラス、S3 Outposts (`OUTPOSTS`) を提供し、これは Amazon S3 API を使用し、AWS Outposts 上の複数のデバイスやサーバー間でデータを永続的かつ冗長的に保存するように設計されています。仮想プライベートクラウド (VPC) を介したアクセスポイントとエンドポイント接続を使用して、Outposts バケットと通信します。Outposts バケットでは、Amazon S3 と同じ API と機能 (アクセスポリシー、暗号化、タグ付けなど) を使用できます。AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または REST API を使用して S3 on Outposts を使用できます。詳細については、「[Amazon S3 on Outposts とは](S3onOutposts.md)」を参照してください。

S3 on Outposts の使用を開始するには、バケット、アクセスポイント、およびエンドポイントを作成する必要があります。その後、バケットにオブジェクトをアップロードできます。以下の例は、AWS CLI および SDK for Javaを使用して、S3 on Outposts の使用を開始する方法を示しています。コンソールを使用して開始するには、「[AWS マネジメントコンソール を使用した開始方法](S3OutpostsGSConsole.md)」を参照してください。

**Topics**
+ [ステップ 1: バケットを作成する](#S3OutpostsGSCreateBucket)
+ [ステップ 2: アクセスポイントの作成](#S3OutpostsGSCreateAccessPoint)
+ [ステップ 3: エンドポイントを作成する](#S3OutpostsGSCreateEndpoint)
+ [ステップ 4: S3 on Outposts バケットにオブジェクトをアップロードする](#S3OutpostsGSUploadObject)

## ステップ 1: バケットを作成する
<a name="S3OutpostsGSCreateBucket"></a>

以下の AWS CLI および SDK for Java の例は、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 および SDK for Java を使用して、アクセスポイントを作成する方法を示しています。

アクセスポイントは、Amazon S3 の共有データセットへの大規模なデータアクセスの管理を簡素化します。アクセスポイントは、バケットにアタッチされた名前付きのネットワークエンドポイントで、Amazon S3 オブジェクトのオペレーション (`GetObject` や `PutObject` など) を実行するために使用できます。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 上の各仮想プライベートクラウド (VPC) に 1 つのエンドポイントを関連付けることができます。エンドポイントクォータの詳細については、[S3 on Outposts のネットワーク要件](S3OnOutpostsRestrictionsLimitations.md#S3OnOutpostsConnectivityRestrictions) を参照してください。Outposts バケットにアクセスしてオブジェクトオペレーションを実行できるようにするには、エンドポイントを作成する必要があります。詳細については、「[エンドポイント](S3OutpostsWorkingBuckets.md#S3OutpostsEP)」を参照してください。

以下の例は、AWS CLI および SDK for Java を使用して、エンドポイントを作成する方法を示しています。エンドポイントの作成と管理に必要な許可の詳細については、「[S3 on Outposts エンドポイントの許可](S3OutpostsIAM.md#S3OutpostsEndpointPermissions)」を参照してください。

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

**Example**  
次の AWS CLI の例では、VPC リソースアクセスタイプを使用して、Outpost のエンドポイントを作成します。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 Outpost のエンドポイントを作成する方法の例については、「*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)」を参照してください。