AWS::S3Outposts::Endpoint - AWS CloudFormation

AWS::S3Outposts::Endpoint

This AWS::S3Outposts::Endpoint resource specifies an endpoint and associates it with the specified Outpost.

Amazon S3 on Outposts access points simplify managing data access at scale for shared datasets in S3 on Outposts. S3 on Outposts uses endpoints to connect to S3 on Outposts buckets so that you can perform actions within your virtual private cloud (VPC). For more information, see Accessing S3 on Outposts using VPC-only access points.

Note

It can take up to 5 minutes for this resource to be created.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::S3Outposts::Endpoint", "Properties" : { "AccessType" : String, "CustomerOwnedIpv4Pool" : String, "FailedReason" : FailedReason, "OutpostId" : String, "SecurityGroupId" : String, "SubnetId" : String } }

YAML

Type: AWS::S3Outposts::Endpoint Properties: AccessType: String CustomerOwnedIpv4Pool: String FailedReason: FailedReason OutpostId: String SecurityGroupId: String SubnetId: String

Properties

AccessType

The container for the type of connectivity used to access the Amazon S3 on Outposts endpoint. To use the Amazon VPC, choose Private. To use the endpoint with an on-premises network, choose CustomerOwnedIp. If you choose CustomerOwnedIp, you must also provide the customer-owned IP address pool (CoIP pool).

Note

Private is the default access type value.

Required: No

Type: String

Allowed values: CustomerOwnedIp | Private

Update requires: Replacement

CustomerOwnedIpv4Pool

The ID of the customer-owned IPv4 address pool (CoIP pool) for the endpoint. IP addresses are allocated from this pool for the endpoint.

Required: No

Type: String

Pattern: ^ipv4pool-coip-([0-9a-f]{17})$

Update requires: Replacement

FailedReason

The failure reason, if any, for a create or delete endpoint operation.

Required: No

Type: FailedReason

Update requires: No interruption

OutpostId

The ID of the Outpost.

Required: Yes

Type: String

Pattern: ^(op-[a-f0-9]{17}|\d{12}|ec2)$

Update requires: Replacement

SecurityGroupId

The ID of the security group used for the endpoint.

Required: Yes

Type: String

Pattern: ^sg-([0-9a-f]{8}|[0-9a-f]{17})$

Minimum: 1

Maximum: 100

Update requires: Replacement

SubnetId

The ID of the subnet used for the endpoint.

Required: Yes

Type: String

Pattern: ^subnet-([0-9a-f]{8}|[0-9a-f]{17})$

Minimum: 1

Maximum: 100

Update requires: Replacement

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the Amazon Resource Name (ARN) for the endpoint.

For more information about using the Ref function, see Ref.

Fn::GetAtt

Arn

The ARN of the endpoint.

CidrBlock

The VPC CIDR block committed by this endpoint.

CreationTime

The time the endpoint was created.

NetworkInterfaces

The network interface of the endpoint.

Status

The status of the endpoint.

Examples

Creating an endpoint for your Outpost using CloudFormation

This example creates an endpoint for an Outpost.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Endpoint", "Resources": { "ExampleS3OutpostsEndpoint": { "Type": "AWS::S3Outposts::Endpoint", "Properties": { "OutpostId": "op-01ac5d28a6a232977", "SecurityGroupID": "sg-0eada697f44597077", "SubnetID": "subnet-0e866e469c4ec9b77" } } }, "Outputs": { "ExampleS3OutpostsEndpointARN": { "Description": "The ARN of ExampleS3OutpostsEndpoint", "Value": { "Ref": "ExampleS3OutpostsEndpoint" } }, "ExampleS3OutpostsEndpointID": { "Description": "The ID of ExampleS3OutpostsEndpoint", "Value": { "Fn::GetAtt": [ "ExampleS3OutpostsEndpoint", "ID" ] } }, "ExampleS3OutpostsEndpointStackID": { "Description": "The stack ID", "Value": { "Ref": "AWS::StackID" }, "Export": { "Name": { "Fn::Sub": "${AWS::StackName}-StackID" } } } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Description: Endpoint Resources: ExampleS3OutpostsEndpoint: Type: AWS::S3Outposts::Endpoint Properties: OutpostId: op-01ac5d28a6a232977 SecurityGroupID: sg-0eada697f44597077 SubnetID: subnet-0e866e469c4ec9b77 Outputs: ExampleS3OutpostsEndpointARN: Description: The ARN of ExampleS3OutpostsEndpoint Value: Ref: ExampleS3OutpostsEndpoint ExampleS3OutpostsEndpointID: Description: The ID of ExampleS3OutpostsEndpoint Value: Fn::GetAtt: - ExampleS3OutpostsEndpoint - ID ExampleS3OutpostsEndpointStackID: Description: The stack ID Value: Ref: AWS::StackID Export: Name: Fn::Sub: "${AWS::StackName}-StackID"

Creating an on-premises endpoint for your Outpost using CloudFormation

This example creates an on-premises endpoint for an Outpost using customer-owner IP (CoIP) addresses.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "Endpoint", "Resources": { "ExampleS3OutpostsEndpoint": { "Type": "AWS::S3Outposts::Endpoint", "Properties": { "OutpostId": "op-01ac5d28a6a232977", "SecurityGroupID": "sg-0eada697f44597077", "SubnetID": "subnet-0e866e469c4ec9b77", "AccessType": "CustomerOwnedIp", "CustomerOwnedIpv4Pool": "ipv4pool-coip-12345678901234567" } } }, "Outputs": { "ExampleS3OutpostsEndpointARN": { "Description": "The ARN of ExampleS3OutpostsEndpoint", "Value": { "Ref": "ExampleS3OutpostsEndpoint" } }, "ExampleS3OutpostsEndpointID": { "Description": "The ID of ExampleS3OutpostsEndpoint", "Value": { "Fn::GetAtt": [ "ExampleS3OutpostsEndpoint", "ID" ] } }, "ExampleS3OutpostsEndpointStackID": { "Description": "The stack ID", "Value": { "Ref": "AWS::StackID" }, "Export": { "Name": { "Fn::Sub": "${AWS::StackName}-StackID" } } } } }

YAML

AWSTemplateFormatVersion: '2010-09-09' Description: Endpoint Resources: ExampleS3OutpostsEndpoint: Type: AWS::S3Outposts::Endpoint Properties: OutpostId: op-01ac5d28a6a232977 SecurityGroupID: sg-0eada697f44597077 SubnetID: subnet-0e866e469c4ec9b77 AccessType: CustomerOwnedIp CustomerOwnedIpv4Pool: ipv4pool-coip-12345678901234567 Outputs: ExampleS3OutpostsEndpointARN: Description: The ARN of ExampleS3OutpostsEndpoint Value: Ref: ExampleS3OutpostsEndpoint ExampleS3OutpostsEndpointID: Description: The ID of ExampleS3OutpostsEndpoint Value: Fn::GetAtt: - ExampleS3OutpostsEndpoint - ID ExampleS3OutpostsEndpointStackID: Description: The stack ID Value: Ref: AWS::StackID Export: Name: Fn::Sub: "${AWS::StackName}-StackID"