Amazon VPC Endpoint
Altinity.Cloud users can connect a VPC (Virtual Private Cloud) Endpoint from existing AWS environments to their Altinity.Cloud environment. The VPC Endpoint becomes a private connection between their existing Amazon services and Altinity.Cloud, without exposing the connection to the Internet.
The following instructions are based on using the AWS console. Examples of the Terraform equivalent settings are included.
Requirements
Altinity.Cloud requires the AWS ID for the account that will be linked to the Altinity.Cloud environment. This can be found when you login to your AWS Console, and select your username from the upper right hand corner:
Instructions
To create an VPC Endpoint, the following general steps are required:
- Retrieve Your Altinity.Cloud Environment URL.
- Request an Endpoint Service Name from Altinity.Cloud.
- Create a VPC Endpoint. This must be in the same region as the service to be connected to.
- Create a private Route 53 Hosted Zone to internal.{Altinity.Cloud environment name}.altinity.cloud.
- Create a CNAME that points to the VPC Endpoint.
Retrieve Your Altinity.Cloud Environment URL
Your AWS service will be connected to the URL for your Altinity.Cloud environment. Typically this will be the name of your environment, followed by internal.{Altinity.Cloud environment name}.altinity.cloud
. For example: if your environment is named trafficanalysis
, then your environment URL will be internal.trafficanalysis.altinity.cloud
.
This may differ depending on your type of service. If you have any questions, please contact your Altinity Support representative.
Request an Endpoint Service Name
Before creating a VPC Endpoint, Altinity.Cloud will need to provide you a AWS Service Name that will be used for your Endpoint. To request your AWS Service Name to use in later steps of creating the VPC Endpoint to Altinity.Cloud:
-
Login to your AWS console and retrieve your AWS ID.
-
Contact your Altinity.Cloud support representative and inform them that you want to set up a VPC Endpoint to your Altinity.Cloud environment. They will require your AWS ID.
-
Your Altinity.Cloud support representative will process your request, and return your AWS Service Name to you. Store this in a secure location for your records.
Create a VPC Endpoint
The next step in connecting Altinity.Cloud to the existing AWS Service is to create an Endpoint.
-
From the AWS Virtual Private Cloud console, select Endpoints > Create Endpoint.
-
Set the following:
- Service Category: Set to Find service by name. (1)
- Service Name: Enter the Service Name (2) provided in the step Create Service Name, then select Verify. (3)
-
Select the VPC from the dropdown.
-
Select Create Endpoint.
Terraform VPC Endpoint Configuration
resource "aws_vpc_endpoint" "this" {
service_name = local.service_name,
vpc_endpoint_type = "Interface",
vpc_id = aws_vpc.this.id,
subnet_ids = [aws_subnet.this.id],
security_group_ids = [aws_vpc.this.default_security_group_id],
private_dns_enabled = false,
tags = local.tags
}
Create Route 53 Hosted Zone
To create the Route 53 Hosted Zone for the newly created endpoint:
-
From the AWS Console, select Endpoints.
-
Select the Endpoint to connect to Altinity.Cloud, then the tab Details. In the section marked DNS names, select the DNS entry created and copy it. Store this in a separate location until ready.
-
Enter the Route 53 console, and select Hosted zones.
-
Select Create hosted zone.
-
On the Hosted zone configuration page, update the following:
- Domain name: Enter the URL of the Altinity.Cloud environment. Recall this will be
internal.{Altinity.Cloud environment name}.altinity.cloud
, where {your environment name} was determined in the step Retrieve Your Altinity.Cloud Environment URL. - Description (optional): Enter a description of the hosted zone.
- Type: Set to Private hosted zone.
- Domain name: Enter the URL of the Altinity.Cloud environment. Recall this will be
-
In VPCs to associated with the hosted zone, set the following:
- Region: Select the region for the VPC to use.
- VPC ID: Enter the ID of the VPC that is being used.
-
Verify the information is correct, then select Create hosted zone.
Terraform Route 53 Configuration
resource "aws_route53_zone" "this" {
name = "$internal.{environment_name}.altinity.cloud.",
vpc {
vpc_id = aws_vpc.this.id
}
tags = local.tags
}
Create CNAME for VPC Endpoint
Once the Hosted Zone that will be used to connect the VPC to Altinity.Cloud has been created, the CNAME for the VPC Endpoint can be configured through the following process:
-
From the AWS Console, select Route 53 > Hosted Zones, then select Create record.
-
Select the Hosted Zone that will be used for the VPC connection. This will be the internal.{Altinity.Cloud environment name}.altinity.cloud.
-
Select Create record.
-
From Choose routing policy select Simple routing, then select Next.
-
From Configure records, select Define simple record.
-
From Define simple record, update the following:
- Record name: set to
*
. (1) - Value/Route traffic to:
- Select Ip address or another value depending on the record type. (3)
- Enter the DNS name for the Endpoint created in Create Route 53 Hosted Zone.
- Record type
- Select CNAME (2).
- Record name: set to
-
Verify the information is correct, then select Define simple record.
Terraform CNAME Configuration
resource "aws_route53_record" "this" {
zone_id = aws_route53_zone.this.zone_id,
name = "*.${aws_route53_zone.this.name}",
type = "CNAME",
ttl = 300,
records = [aws_vpc_endpoint.this.dns_entry[0]["dns_name"]]
}
Test
To verify the VPC Endpoint works, launch a EC2 instance and execute the following curl
command, and will return OK
if successful. Use the name of your Altinity.Cloud environment’s host name in place of {your environment name here}:
curl -sS https://statuscheck.{your environment name here}
OK
For example, if your environment is internal.trafficanalysis.altinity.cloud
, then use:
curl -sS https://statuscheck.internal.trafficanalysis.altinity.cloud
OK