AWS RAM を使用して S3 on Outposts を共有する
Simple Storage Service (Amazon S3) on Outposts は、AWS Resource Access Manager (AWS RAM) を使用して、組織内の複数のアカウント間で S3 容量の共有をサポートしています。。S3 on Outposts 共有を使用すると、他のユーザーが Outpost でバケット、エンドポイント、およびアクセスポイントを作成および管理できるようになります。
このトピックでは、AWS RAM を使用して S3 on Outposts と関連するリソースを、お客様の AWS 組織の別の AWS アカウントと共有する方法をご紹介します。
前提条件
-
Outpost 所有者アカウントには AWS Organizations で設定された組織が存在します。詳細については、「AWS Organizations ユーザーガイド」で「組織を作成する」を参照してください。
-
組織には S3 on Outposts の容量を共有する AWS アカウント が含まれます。詳細については、「AWS Organizations ユーザーガイド」の「AWS アカウント への招待の送信」を参照してください。
-
共有する以下のオプションのいずれかを選択します。エンドポイントにもアクセスできるように、2 番目のリソース (サブネットまたは Outposts) を選択する必要があります。エンドポイントは、S3 on Outposts に格納されたデータにアクセスするためのネットワーク要件です。
オプション 1 オプション 2 S3 on Outposts
ユーザーが Outposts とアクセスポイントにバケットを作成し、それらのバケットにオブジェクトを追加できるようにします。
サブネット
ユーザーが仮想プライベートクラウド (VPC) とサブネットに関連付けられているエンドポイントを使用できるようにします。
S3 on Outposts
ユーザーが Outposts とアクセスポイントにバケットを作成し、それらのバケットにオブジェクトを追加できるようにします。
Outposts
ユーザーが S3 容量チャートと AWS Outposts コンソールのホームページを参照できるようにします。また、共有の Outposts にサブネットを作成し、エンドポイントを作成することもできます。
手順
-
Outpost を所有する AWS アカウント を使用して AWS Management Console にサインインし、https://console.aws.amazon.com/ram
で AWS RAM コンソールを開きます。 -
AWS RAM で AWS Organizations との共有が有効になっていることを確認します。詳細については、「AWS RAM ユーザーガイド」の「AWS Organizations 内のリソース共有を有効化する」を参照してください。
-
前提条件で、オプション 1 またはオプション 2 を使用してリソース共有を作成します。複数の S3 on Outposts リソースがある場合は、共有するリソースの Amazon リソースネーム (ARN) を選択します。エンドポイントを有効にするには、サブネットまたは Outpost を共有します。
リソース共有の作成の詳細については、「AWS RAM ユーザーガイド」の「リソース共有を作成する」を参照してください。
-
リソースを共有した AWS アカウント は、S3 on Outposts を使用できるようになります。前提条件で選択したオプションに応じて、アカウントユーザーに次の情報を提供します。
オプション 1 オプション 2 Outpost ID
VPC ID。
サブネット ID
セキュリティグループの ID
Outpost ID
注記
ユーザーは、AWS RAM コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または REST API を使用して、リソースが共有されていることを確認できます。ユーザーは、get-resource-shares
使用例
S3 on Outposts リソースを別のアカウントと共有した後、そのアカウントは Outpost のバケットとオブジェクトを管理できます。[Subnets] (サブネット) リソース共有した場合、そのアカウントは、作成したエンドポイントを使用できます。次の例では、ユーザーが AWS CLI を使用し、これらのリソースを共有した後、Outpost とやり取るする方法についてご紹介します。
例 : バケットの作成
次の例では、Outpost
で op-01ac5d28a6a232904
amzn-s3-demo-bucket1
という名前のバケットを作成します。このコマンドを使用する前に、それぞれの
をユースケースに適した値に置き換えてください。user input
placeholder
aws s3control create-bucket --bucket
--outpost-id
amzn-s3-demo-bucket1
op-01ac5d28a6a232904
このコマンドの詳細については、「AWS CLI リファレンス」の「create-bucket
例 : アクセスポイントの作成
次の例では、次の表に示すパラメータ例を使用して、Outpost 上にアクセスポイントを作成します。このコマンドを使用する前に、これらの
値と AWS リージョンコードをユースケースに適した値に置き換えてください。user input placeholder
パラメータ | 値 |
---|---|
アカウント ID |
|
アクセスポイント名 |
|
Outpost ID |
|
Outpost バケット名 |
|
VPC ID |
|
注記
アカウント ID パラメータは、AWS アカウントバケット所有者 (共有ユーザー) の ID である必要があります。
aws s3control create-access-point --account-id
111122223333
--nameexample-outpost-access-point
\ --bucket arn:aws:s3-outposts:us-east-1
:111122223333
:outpost/op-01ac5d28a6a232904
/bucket/\ --vpc-configuration VpcId=
amzn-s3-demo-bucket1
vpc-1a2b3c4d5e6f7g8h9
このコマンドの使用に関する詳細については、「AWS CLI リファレンス」の「create-access-point
例 : オブジェクトのアップロード
次の例では、ユーザーのローカルファイルシステムから、AWS アカウント
が所有しているアクセスポイント 111122223333
on the Outpostexample-outpost-access-point
を経由し、op-01ac5d28a6a232904
という名前のオブジェクトへ、ファイル images/my_image.jpg
をアップロードします。このコマンドを使用する前に、これらの my_image.jpg
値と AWS リージョンコードをユースケースに適した値に置き換えてください。user input
placeholder
aws s3api put-object --bucket arn:aws:s3-outposts:
us-east-1
:111122223333
:outpost/op-01ac5d28a6a232904
/accesspoint/example-outpost-access-point
\ --bodymy_image.jpg
--keyimages/my_image.jpg
このコマンドの詳細については、「AWS CLI リファレンス」の「put-object
注記
このオペレーションの結果、[Resource not found]
(リソースが見つからない) エラーまたは応答がない場合、VPC に共有エンドポイントがない可能性があります。
共有エンドポイントがあるかどうかを確認するには、list-shared-endpoints
例 : エンドポイントの作成
次の例では、共有の Outposts にエンドポイントを作成します。このコマンドを使用する前に、Outpost ID、サブネット ID、およびセキュリティグループ ID の
値をユースケースに適した値に置き換えます。user input placeholder
注記
ユーザーがこの操作を実行できるのは、リソース共有に Outposts リソースが含まれている場合に限ります。
aws s3outposts create-endpoint --outposts-id
op-01ac5d28a6a232904
--subnet-idXXXXXX
--security-group-idXXXXXXX
このコマンドの詳細については、「AWS CLI リファレンス」の「create-endpoint