Introducción mediante AWS CLI y SDK para Java
Con Amazon S3 en Outposts, puede crear buckets de S3 en Outposts de AWS y almacenar y recuperar fácilmente objetos en las instalaciones para las aplicaciones que requieren acceso local a los datos, procesamiento local de los datos y residencia de los datos. S3 en Outposts proporciona una nueva clase de almacenamiento, S3 Outposts (OUTPOSTS
), que utiliza las API de Amazon S3 y está diseñada para almacenar datos de manera duradera y redundante en múltiples dispositivos y servidores de AWS Outposts. Usted se comunica con su bucket de Outpost mediante un punto de acceso y una conexión de punto de conexión a través de una nube privada virtual (VPC). Puede usar las mismas API y características en los buckets de Outposts que en buckets de Amazon S3, como políticas de acceso, cifrado y etiquetado. Puede utilizar S3 en Outposts a través de la AWS Management Console, AWS Command Line Interface (AWS CLI), AWS SDK o la API de REST. Para obtener más información, consulte ¿Qué es Amazon S3 en Outposts?.
Para empezar a utilizar S3 en Outposts, debe crear un bucket, un punto de acceso y un punto de conexión. Luego, puede cargar objetos en el bucket. Los siguientes ejemplos muestran cómo puede utilizar S3 en Outposts mediante AWS CLI y el SDK para Java. Para comenzar mediante la consola, consulte Primeros pasos con AWS Management Console.
Paso 1: Crear un bucket
Los siguientes ejemplos de AWS CLI y SDK para Java muestran cómo puede crear un bucket de S3 en Outposts.
- AWS CLI
-
En el siguiente ejemplo, se crea un bucket de S3 en Outposts (s3-outposts:CreateBucket
) con la AWS CLI. Para ejecutar este comando, sustituya los user input
placeholders
con su propia información.
aws s3control create-bucket --bucket example-outposts-bucket
--outpost-id op-01ac5d28a6a232904
- SDK for Java
-
En el siguiente ejemplo, se crea un bucket de S3 en Outposts (s3-outposts:CreateBucket
) con el SDK para Java.
import com.amazonaws.services.s3control.model.*;
public String createBucket(String bucketName) {
CreateBucketRequest reqCreateBucket = new CreateBucketRequest()
.withBucket(bucketName)
.withOutpostId(OutpostId)
.withCreateBucketConfiguration(new CreateBucketConfiguration());
CreateBucketResult respCreateBucket = s3ControlClient.createBucket(reqCreateBucket);
System.out.printf("CreateBucket Response: %s%n", respCreateBucket.toString());
return respCreateBucket.getBucketArn();
}
Paso 2: Crear un punto de acceso
Para acceder a su bucket de Amazon S3 en Outposts, debe crear y configurar un punto de acceso. En estos ejemplos, se explica cómo crear un punto de acceso mediante AWS CLI y el SDK para Java.
Los puntos de acceso simplifican la administración del acceso a los datos a escala para los conjuntos de datos compartidos en Amazon S3. Los puntos de acceso son puntos de enlace de red con nombre y asociados a los buckets que se pueden utilizar para realizar operaciones con objetos de Amazon S3, como GetObject
y PutObject
. Con S3 en Outposts, debe utilizar puntos de acceso para acceder a cualquier objeto de un bucket de Outposts. Los puntos de acceso solo admiten el direccionamiento de tipo de host virtual.
- AWS CLI
-
En el siguiente ejemplo de la AWS CLI, se crea un punto de acceso para un bucket de Outposts. Para ejecutar este comando, sustituya los user input placeholders
con su propia información.
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
-
En el siguiente ejemplo del SDK para Java, se crea un punto de acceso para un bucket de Outposts. Para utilizar este ejemplo, reemplace los user input placeholders
con su propia información.
import com.amazonaws.services.s3control.model.*;
public String createAccessPoint(String bucketArn, String accessPointName) {
CreateAccessPointRequest reqCreateAP = new CreateAccessPointRequest()
.withAccountId(AccountId)
.withBucket(bucketArn)
.withName(accessPointName)
.withVpcConfiguration(new VpcConfiguration().withVpcId("vpc-12345
"));
CreateAccessPointResult respCreateAP = s3ControlClient.createAccessPoint(reqCreateAP);
System.out.printf("CreateAccessPoint Response: %s%n", respCreateAP.toString());
return respCreateAP.getAccessPointArn();
}
Paso 3: Crear un punto de conexión
Para dirigir solicitudes a un punto de acceso de Amazon S3 en Outposts, debe crear y configurar un punto de conexión de S3 en Outposts. Para crear un punto de conexión, necesita una conexión activa con el enlace de servicio a la región de origen de Outposts. Cada nube virtual privada (VPC) de su Outpost puede tener un punto de conexión asociado. Para obtener más información acerca de las cuotas de los puntos de conexión, consulte Requisitos de red de S3 en Outposts. Debe crear un punto de conexión para poder acceder a los buckets de Outposts y realizar operaciones de objetos. Para obtener más información, consulte Puntos de conexión.
En estos ejemplos, se muestra cómo crear un punto de conexión mediante AWS CLI y el SDK para Java. Para obtener más información acerca de los permisos necesarios para crear y administrar puntos de conexión, consulte Permisos para los puntos de conexión de S3 en Outposts.
- AWS CLI
-
En el siguiente ejemplo de la AWS CLI, se crea un punto de conexión para un Outpost con el tipo de acceso a recursos de la VPC. La VPC se obtiene de la subred. Para ejecutar este comando, sustituya los user input placeholders
con su propia información.
aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904
--subnet-id subnet-8c7a57c5
--security-group-id sg-ab19e0d1
En el siguiente ejemplo de la AWS CLI, se crea un punto de conexión para un Outpost con el tipo de acceso de grupo de direcciones IP propiedad del cliente (grupo de CoIP). Para ejecutar este comando, sustituya los user input placeholders
con su propia información.
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
-
En el siguiente ejemplo del SDK para Java, se crea un punto de conexión para un Outpost. Para utilizar este ejemplo, reemplace los user input placeholders
con su propia información.
import com.amazonaws.services.s3outposts.AmazonS3Outposts;
import com.amazonaws.services.s3outposts.AmazonS3OutpostsClientBuilder;
import com.amazonaws.services.s3outposts.model.CreateEndpointRequest;
import com.amazonaws.services.s3outposts.model.CreateEndpointResult;
public void createEndpoint() {
AmazonS3Outposts s3OutpostsClient = AmazonS3OutpostsClientBuilder
.standard().build();
CreateEndpointRequest createEndpointRequest = new CreateEndpointRequest()
.withOutpostId("op-0d79779cef3c30a40
")
.withSubnetId("subnet-8c7a57c5
")
.withSecurityGroupId("sg-ab19e0d1
")
.withAccessType("CustomerOwnedIp")
.withCustomerOwnedIpv4Pool("ipv4pool-coip-12345678901234567");
// Use .withAccessType and .withCustomerOwnedIpv4Pool only when the access type is
// customer-owned IP address pool (CoIP pool)
CreateEndpointResult createEndpointResult = s3OutpostsClient.createEndpoint(createEndpointRequest);
System.out.println("Endpoint is created and its ARN is " + createEndpointResult.getEndpointArn());
}
Paso 4: Cargar un objeto en un bucket de S3 en Outposts
Para cargar un objeto, consulte Carga de un objeto en un bucket de S3 en Outpost.