How to assign IPV6 on Google Cloud VM instances - google-cloud-platform

Good day,
I am new to google cloud plateform please help.
How can i assgin ipv6 for my instance on google cloud, i have created an ipv6 but is says not in use just as in picture below.

Based on the documemtation shared by #Ferregina Pelona.
You can configure IPv6 addresses on a virtual machine instance (VM) if the subnet that the VM is connected to has an IPv6 range configured. First thing to do, make sure that there is a IPv6 configured into your network.
Though, Google Cloud Platform allows users to connect to Global Load Balancer (this has external IP) using IPv6 but VPC Network DO NOT support IPv6.
Check out this documentation on GCP's Global Load Balancer.

Related

Setting up SAP support channel with SAProute

According to the following GCP public documentation
If you need to allow an SAP support engineer to access your SAP HANA
systems on Google Cloud, you can do so using SAProuter. Follow these
steps:
Launch the Compute Engine VM instance that the SAProuter software will
be installed on, and assign an external IP address so the instance
has internet access.
Create a new, static external IP address and then assign this IP
address to the instance.
Create and configure a specific SAProuter firewall rule in your
network. In this rule, allow only the required inbound and outbound
access to the SAP support network, for the SAProuter instance.
Question
Use of external IP address is restricted in my environment, so I will like to know if I can used a public Load balance to achieve this.
Context
I have a public Loadbalancer infront of a FW, how can I use this Public Load balancer IP to setup my SAP Router in GCP? Is this even possible?
You may want to use Load Balancing Forwarding Rules to allow your External IP to access your environment.
Internal forwarding rules
Internal forwarding rules forward traffic that originates inside a Google Cloud network. The clients can be in the same Virtual Private Cloud (VPC) network as the backends, or the clients can be in a connected network.
Internal forwarding rules are used by two types of Google Cloud load balancing products:
Internal TCP/UDP Load Balancing
Internal HTTP(S) Load Balancing
External forwarding rules
External forwarding rules accept traffic from client systems that have internet access, including:
A client outside of Google Cloud
A Google Cloud VM with an external IP address
A Google Cloud VM without an external IP address using Cloud NAT or an instance-based NAT system
Adding a forwarding rule
Create the load balancer's forwarding rule
Go to the Load balancing page in the Google Cloud Console.
Click Create load balancer.
Select a load balancer type, including the traffic type and whether the load balancer faces the Internet or is internal only.
Click Continue.
Click Frontend configuration. In the New Frontend IP and port section, make the following changes:
a. Name: FORWARDING_RULE_NAME
b. Subnetwork: SUBNET_OF_YOUR_RESERVED_IP_ADDRESS \
c. From Internal IP or from IP Address, select your pre-reserved IP address.
Optionally, you can reserve an IP address now in this UI, or you can use an ephemeral IP address.
d. Select the protocol, port numbers, and IP version.
Only some load balancer types support IPv6.
e. Verify that there is a blue check mark next to Frontend configuration before continuing. Review this step if not.
Click Review and finalize. Double-check your settings.
Click Create.
Using IAP for TCP forwarding
IAP's TCP forwarding feature lets you control who can access administrative services like SSH and RDP on your backends from the public internet. The TCP forwarding feature prevents these services from being openly exposed to the internet. Instead, requests to your services must pass authentication and authorization checks before they get to their target resource.
IAP forwarding Step by Step setup
You can also check links below for your reference.
Forwarding rules overview
Using IAP for TCP forwarding

How can I ping IPv6 from a Google cloud instance

I have a Google cloud instance. I do not need IPv6 but I need to be able to connect to public IPv6. I have added a firewall rule which allows ::/0 for outgoing traffic. Now When I try to ping ipv6.google.com, it gives response- network is unreachable.
What do I need to do to be able to ping any IPv6 like ipv6.google.com.
Thank you.
Google cloud now supports external ipv6 on VM instances. Each instance can get a /96 external ip range and it can be used to access internet (without NAT) or be used for VM to VM traffic.
At this moment (July 2021) it's only supported limited regions:
asia-east1
asia-south1
europe-west2
us-west2
See more detailed in
https://cloud.google.com/compute/docs/ip-addresses/configure-ipv6-address https://cloud.google.com/vpc/docs/vpc#ipv6-addresses
Note that connecting to Google APIs and services using external IPv6 addresses is currently not supported and will result in a destination unreachable ICMP response. Most applications will fallback to IPv4 transparently. So don't be surprise if you cannot ping ipv6.google.com. You should able to ping other ipv6 websites.

Compute Engine in VPC can't connect to Internet & Cloud Storage after establishing Cloud VPN

Assuming I have a custom VPC with IP ranges 10.148.0.0/20
This custom VPC has firewall rules to allow-internal so the service inside those IP ranges can communicate to each other.
After the system grows I need to connect to some on-premises network by using Classic Cloud VPN, already create Cloud VPN (the on-premises side configuration already configured by someone) and the VPN Tunnel already established (with green checkmarks).
I also can ping to on-premises IP right now (let's say ping to 10.xxx.xxx.xxx where this is not GCP internal/private IP but on-premises private IP) using compute engine created on custom VPC network.
The problem is all the compute engine instance spawn in custom VPC network can't communicate to the internet now (like doing sudo apt update) or even communicate to google cloud storage (using gsutil), but they can communicate using private IP.
I also can't spawn dataproc cluster on that custom VPC (I guess because it can't connect to GCS, since dataproc needs GCS for staging buckets).
Since I do not really know about networking stuff and relatively new to GCP, how to be able to connect to the internet on instances that I created inside custom VPC?
After checking more in-depth about my custom VPC and Cloud VPN I realize there's misconfiguration when I establish the Cloud VPN, I've chosen route-based in routing option and input 0.0.0.0/0 in Remote network IP ranges. I guess this routes sending all traffic to VPN as #John Hanley said.
Solved it by using policy-based in routing option and only add specific IP in Remote network IP ranges.
Thank you #John Hanley and
#guillaume blaquiere for pointing this out

Does gcp allow vm to have internal or external IPv6 address to vm instances

When I log onto vm in shell. I can find addresses of vm to have both ipv4 and ipv6 addresses. But I am unable to use IPv6 address within the same network to ping onto the vm. I had a question that does GCP block these
Google cloud now supports external ipv6 on VM instances. Each instance can get a /96 external ip range and it can be used to access internet (without NAT) or be used for VM to VM traffic.
At this moment (July 2021) it's only supported limited regions:
asia-east1
asia-south1
europe-west2
us-west2
See more detailed in
https://cloud.google.com/compute/docs/ip-addresses/configure-ipv6-address
https://cloud.google.com/vpc/docs/vpc#ipv6-addresses
Google Cloud Platform allows users to connect to Global Load Balancer (this has external IP) using IPv6 but VPC Network DO NOT support IPv6 .
This article explains how GCP Global Load balancer allows IPv6 connection and then proxies to VM instances using IPv4.
Note from the GCP Documentation
VPC networks only support IPv4 unicast traffic. They do not support broadcast, multicast, or IPv6 traffic within the network; VMs in the VPC network can only send to IPv4 destinations and only receive traffic from IPv4 sources. However, it is possible to create an IPv6 address for a global load balancer.
So, you can connect to GCP Instances using IPv6 over public internet (external IP) and VM instances DO Not have internal IPv6 IP.

Why is it required to provide external IPs to Cloud SQL services for authorization?

I am taking the Google's GCP Fundamentals: Core Infrastructure course on Coursera. In the demonstration video of the Google Storage module, the presenter authorizes a compute engine instance to access a MySQL instance via it's external IP address.
Aren't these two resources part of the same VPC if they are part of the same project ? Why can't this authorization be done using the vm instance's internal IP address ?
Aren't these two resources part of the same VPC if they are part of
the same project ?
A Cloud SQL instance isn't created in one of your project's VPC network but in a Google-managed project, within its own network.
What happens when you enable private IP is that this network will be peered with the network of your choice in your project, where your Compute Engine instance resides:
You can then connect to the Cloud SQL instance from your VM via the internal IP address. The VM is considered trusted if your network configuration allows it to reach the Cloud SQL instance.
When you set an external IP address on the Cloud SQL instance, it means that the instance is accessible to the internet and the connection needs to be authorized. One way to do it is to whitelist the IP address of the caller as you mentioned. This works well if the caller's IP doesn't change. Another (easier) option is to connect via the cloud_sql_proxy, which handles authorization and encryption for you. You then don't need to whitelist the IP.