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, chooseCustomerOwnedIp
. If you chooseCustomerOwnedIp
, 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"