AWS Client VPN Access Public URL/IP - amazon-web-services

I have an AWS Landing Zone Setup.
My Shared Account contains an AWS Client VPN.
My Network Account contains Transit Gateway, this is shared with Production Account and Production Account VPC is attached.
My Production Account contains a VPC which initally had Private Subnet and one EC2 Instance.
Initially my team wanted to login to the EC2 and install some softwares. This setup was successfull and my team has completed their work.
Now,Due to some requirement changes (they have configured a Website) over the Instance, I changed my Private Subnet to Public Subnet by introducing IGW entry in the Route Table. Also, I have attached an Elastic IP.
One of the other team wanted to connect to this URL/Portal, so I have added their corporate VPN Public address in the Security Group. They are able to access the website/portal/url easily.
Now my team wants to access the URL, but they are not able to access it and I cannot make it Public or Open to world
Other Configurations:
Current Security Group contains Inbound All Traffic from AWS Client VPN and the Corporate VPN
DNS entries and resolution is done by other team, they have made entry for the Public IP and the URL to which it should resolve
What changes I should make so that my team can connect to VPN and should be able to access this portal/URL?

I added the entires of my URL in my local machine host file and mapped it to my EC2 Private IP.
Now I can connect to my VPN and access the URLs from my browser.

Related

Can I use an AWS Client VPN endpoint to access more than three subnets in the same region?

My VPC is in eu-west-2. I have two subnets for an RDS instance, split across two different availability zones for reasons of high availability: eu-west-2a and eu-west-2b. I also have a Redshift cluster in its own subnet in eu-west-2c.
With this configuration, I have successfully configured an AWS Client VPN endpoint so that I can access RDS and Redshift from my local machine when connected to a VPN client with the appropriate configuration.
While following the same principles of using subnets for specific services, I would like my EC2 instances to live in private subnets that are also only accessible over a VPN connection. However, one of the limitations of the Client VPN service is:
You cannot associate multiple subnets from the same Availability Zone with a Client VPN endpoint.
This implies that I would need to create a separate endpoint for connecting to my private EC2 subnet—which feels like complete overkill for my modest networking architecture!
Is there a workaround?
By default, a subnet can reach the other subnets.
This means that you won't need to do anything. This will work out of the box. If not, check the route tables and see if there is a route from your VPN subnet to your private subnet.
When you associate the first subnet with the Client VPN endpoint, the following happens:
The state of the Client VPN endpoint changes to available. Clients can now establish a VPN connection, but they cannot access any resources in the VPC until you add the authorization rules.
The local route of the VPC is automatically added to the Client VPN endpoint route table. (This local route allows you to communicate with every subnet within the VPC that the subnet is in.)
The VPC's default security group is automatically applied for the Client VPN endpoint.
See documentation for details.

Cannot RDP to Windows Server 2022 EC2 Instance in VPC I made

I am a student using the AWS Student Lab.
I have a Windows Server 2022 EC2 Instance operating as a Web Server on a public subnet in a Virtual Private Cloud that I made. I cannot seem to connect to the server via RDP when using the file given to me to download. This happens before you are prompted to put in a user name and password so I am assuming it is a network issue.
A few things about my VPC;
I have an internet gateway attached to the VPC
I have route tables allowing all traffic into the internet gateway
The EC2 has a Public IP address
I have a secuirty group for my public subnet allowing RDP connections from my IP to the EC2
I also checked the VPCs Network ACL and made sure there was no rules restricting traffic into my VPC.
I tried to allow anyone to RDP and ping my instance through its security group, this did not work.
I tested launching an EC2 instance on the default subnet that AWS gives you for your student learner lab, it worked fine
Am I missing anything?
Thanks

Cross Account DMS Replication for RDS instances behind Bastion machines

I have production stacks inside a Production account and development stacks inside a Development account. The stacks are identical and are setup as follows:
Each stack as its own VPC.
Within the VPC are two public subnets spanning to AZs and two private subnets spanning to AZs.
The private Subnets contain the RDS instance.
The public Subnets contain a Bastion EC2 instance which can access the RDS instance.
To access the RDS instance, I either have to SSH into the Bastion machine and access it from there, or I create an SSH tunnel via the Bastion to access it through a Database client application such as PGAdmin.
Current DMS setup:
I would like to be able to use DMS (Database Migration Service) to replication an RDS instance from Production into Development. So far I am trying the following but cannot get it to work:
Create a VPC peering connection between Development VPC and Production VPC
Create a replication instance in the private subnet of the Development VPC
Update the private subnet route tables in the development VPC to route traffic to the CIDR of the production VPC through the VPC peering connection
Ensure the Security group for the replication instance can access both RDS instances.
Main Problem:
When creating the source endpoint in DMS, the wizard only shows RDS instances from the same account and the same region, and only allows RDS instances to be configured using server names and ports, however, the RDS instances in my stacks can only be accessed via Bastion machines using tunnelling. Therefore the test endpoint connection always fails.
Any ideas of how to achieve this cross account replication?
Any good step by step blogs that detail how to do this? I have found a few but they don't seem to have RDS instances sitting behind bastion machines and so they all assume the endpoint configuration wizard can be populated using server names and ports.
Many thanks.
Securing the RDS instances via the Bastion host is sound security practice, of course, for developer/operational access.
For DMS migration service however, you should expect to open security group for both the Target and Source RDS database instances to allow the migration instance to have access to both.
From Network Security for AWS Database Migration Service:
The replication instance must have access to the source and target endpoints. The security group for the replication instance must have network ACLs or rules that allow egress from the instance out on the database port to the database endpoints.
Database endpoints must include network ACLs and security group rules that allow incoming access from the replication instance. You can achieve this using the replication instance's security group, the private IP address, the public IP address, or the NAT gateway’s public address, depending on your configuration.
See
https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.Network.html
For network addressing and to open the RDS private subnet, you'll need a NAT on both source and target. They can be added easily, and then terminated after the migration.
You can now use Network Address Translation (NAT) Gateway, a highly available AWS managed service that makes it easy to connect to the Internet from instances within a private subnet in an AWS Virtual Private Cloud (VPC).
See
https://aws.amazon.com/about-aws/whats-new/2015/12/introducing-amazon-vpc-nat-gateway-a-managed-nat-service/

Amazon Route53 with Private Hosted Zone - Ping Works, Web Connection Fails

I've read through all the white papers for Route53, Private Hosted Zones, and Workspaces and I'm too the point of banging my head on the wall. :p
I'm having trouble getting an EC2 instance and an Amazon Workspace within a private cloud to communicate using a Fully Qualified Domain Name. I need them to communicate with a FQDN instead of an IP address so that I can have an encrypted connection with an SSL.
Here is my configuration:
Setup a VPC with two public subnets, a route table, and internet gateway.
VPC is setup with DNSResolution and DNSHostnames enabled.
Setup a Simple AD for the workspace within the private VPC.
Setup an EC2 instance within the private VPC with a public subnet.
Setup the EC2 instance with a security group that allows port 80,443, and 5003 open to 0.0.0.0/0.
Setup a workspace within the private VPC with no security group.
Disabled the firewall within the EC2 instance and Workspace.
Setup a Hosted Zone on Route53 configured for Private and linked to the VPC.
Setup an A Record pointing the private IP of the EC2 instance.
If I run a ping from the Workspace to the DNS record that was setup in Route53, I get a successful connection.
If I try to reach the EC2 server using a Web browser on Port 80 or Port 443 using the DNS record, it fails.
If I try to reach the Ec2 server using an application that runs on Port 5003 using the DNS record, it fails.
If I try to reach the EC2 server with either web browser or application by referencing the IP, it is successful. So I know that my ports aren't being blocked.
Did I configure the route53 record incorrectly or am I missing a particular IAM Role permission set?
Thanks and let me know if I need to elaborate on any of the configuration.
SimpleAD DNS is being used instead of Route53. If the zone is the same then only one or the other can be used I'm afraid.
For example if you have host.com DNS zone in SimpleAD then the workspace won't use R53 for any *.host.com resolution. Try a different private zone in R53 and therefore fqdn for the EC2 instance private IP address.
https://forums.aws.amazon.com/thread.jspa?threadID=215126

Access Database Server hosted in AWS private subnet

I have gone through AWS VPC(Virtual Private Cloud) where I can have public, Private and VPN-only Subnets.
With this, I want to host a Database in Private or VPN-only subnet.
Now that, Private and VPN-only subnet can not have Internet traffic, I wonder if I can access my database server from remote machine (not an EC2 instance nut any random machine on internet) ?
So All I want to know that, how I can access my Database server from random machine using VPN connection ? So the only users those have VPN connections can access the database server. I want this for development purpose.
Any comments links will be helpful.
Note: I am aware that I can do this with VPN EC2 instance, but I don want to have one and directly connect to Database server from remote machine which has VPN connection.
Thanks
When you create a private VPC, all of the subnets you create within it have internal network access to each other by default in their route tables. However you would need to configure a NAT or Bastion instance within the VPC that is public to act as the gateway to the private database.
The private database would need to have an appropriate security group attached to it to allow it to be accessed by the public machine. See about VPCs and Security Groups here.