Within AWS and AWS to On-Premise private connectivity - amazon-web-services

I have done a clean sweep of AWS docs but couldn't find answer to my scenario. I'm looking for a solution wherein I will have private connectivity(no data flows through Internet but within AWS network) between my two VPCs and VPC to On-premise connectivity. I'm aware of AWS PrivateLink and Direct Connect but they have some limitations e.g. a RDS Instance cannot be exposed as an Endpoint service to be consumed and things like that.
Is there any way I can achieve the above ?

AWS Transit Gateway allows you to setup direct networking between VPCs and your on premises environment. It supports both VPN and Direct Connect for the on premises leg of the connection.
https://aws.amazon.com/transit-gateway/

Related

Private NAT gateway in GCP

I have a need to connect instances in GCP to an on-premise network through a NAT gateway but apparently this isn't supported by Cloud NAT. Would be happy to hear some suggestions on how this requirement can be implemented.
To give a bit more context:
There will be a cloud interconnect set up however there is a requirement to not have to negotiate IP ranges between on-prem and GCP hence the requirement for the NAT.
Essentially, I need something that achieves the same effect as AWS' private NAT gateway (see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
Cloud NAT service is not intended to allow communication between on-premises network and GCP resources, it just handles the inbound and outbound Address Translations in GCP, as stated in the following document [1].
What you are looking for, is to implement Cloud VPN, which is in fact a GCP service designed to allow communication between on-premises networks and GCP resources, here you can find a complete documentation on how it works and the different modes that can be implemented [2].
Now, for the part about the NAT gateway; if your device cannot create IPsec VPNs, then you would need to add a device acting as a VPN gateway in between first. In that case, you would end up with an architecture like this:
[1] https://cloud.google.com/nat/docs/overview
[2] https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview

What is the GCP equivalent of AWS Client VPN Endpoint

We are moving from AWS to the GCP. I used Client VPN Endpoint in AWS to get into the VPC network in the AWS. What is the alternative in GCP which I can quickly setup and get my laptop into the VPC network? If there is no exact alternative, what's the closest one and please provide instructions to set it up.
AWS Client VPN is a managed client-based VPN service that enables you to securely access your AWS resources and resources in your on-premises network. With Client VPN, you can access your resources from any location using an OpenVPN-based VPN client.
Currently there is no managed product available on GCP to allow VPN connections from multiple clients to directly access resources within a VPC as Cloud VPN only supports site-to-site connectivity, however there is an existing Feature Request for this.
As an alternative a Compute Engine Instance can be used instead with OpenVPN server manually installed and configured following the OpenVPN documentation, however this would be a self managed solution.

Why do VPC endpoints not support Amazon RDS?

I want to execute AWS CLI commands of RDS not via the internet, but via a VPC network for mainly creating manual snapshots of RDS.
However, VPC endpoints support only RDS Data API according to the following document:
VPC endpoints - Amazon Virtual Private Cloud
Why? I need to execute a command within closed network for security rules.
Just to reiterate you can still connect to your RDS database through the normal private network using whichever library you choose to perform any DDL, DML, DCL and TCL commands. Although in your case you want to create a snapshot which is via the service endpoint.
VPC endpoints are to connect to the service APIs that power AWS (think the interactions you perform in the console, SDK or CLI), at the moment this means for RDS to create, modify or delete resources you need to use the API over the public internet (using HTTPS for encrypted traffic).
VPC endpoints are added over time, just because a specific API is not there now does not mean it will never be there. There is an integration that has to be carried out by the team of that AWS service to allow VPC endpoints to work.

Connecting to DynamoDB from on-premises web server

My organization has an AWS presence, but no VPN nor Direct Connect to and from our on-premises data center. We would still like to leverage DynamoDB in the short-term without having DirectConnect or a VPN connection in place. We will not be using any EC2 instances for our web services. Is it possible for an on--prem host to talk to DynamoDB without any AWS networking infrastructure in place....basically a call direct to the DynamoDB service without VPN or Direct Connect?
All you need is an Internet connection to access DynamoDB. Your on-premis servers will need to have access to make calls to the AWS API, which is publicly accessible over the Internet.
You can use an VPC endpoint gateway to connect your server to Dynamo Db using amazon network
https://docs.aws.amazon.com/it_it/vpc/latest/privatelink/vpc-endpoints.html

How do AWS Direct connect and VPC peering differ ?

Can someone help me understand the basic difference between AWS direct connect and VPC peering.
AWS VPC Peering is connection between two AWS VPC networks (even between accounts) . Easy as that. https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html
AWS Direct Connect is used to connect on-premise datacenter through dedicated line (you can imagine it as private internet). As far I understod AWS has separate connections to number of partner providers around their datacenters.
https://aws.amazon.com/directconnect/partners/