Configuring GSuite to work with route 53 - "MX record doesn't have 2 fields" error - amazon-web-services

I'm doing my best to follow GSuite's out of date instructions for routing emails to Gmail via a AWS Route 53 hosted zone (i.e. domain). Here are the outdated instructions:
I set the Values as instructed:
And I see:
Error occurred
Bad request.
(InvalidChangeBatch 400: MXRRDATANotTwoFields (MX record doesn't have 2 fields) encountered with '')
So it will not allow me to create the records.

I had this problem with the new AWS console, but it turns out the problem was me. I had not read the instructions carefully enough.
There needed to be a numeric value (not explained) before the domain name or ip address in the value input. When I added the number, this worked for me in the new console.

I was able to reproduce this exact scenario when I used the new AWS Route 53 interface.
To resolve it I selected the use the old console. link from the top.
I then pasted the values below and it worked.
1 aspmx.l.google.com.
5 alt1.aspmx.l.google.com.
5 alt2.aspmx.l.google.com.
10 alt3.aspmx.l.google.com.
10 alt4.aspmx.l.google.com.
For now use the old console for doing this would be my suggestion.

You need to enter more than one value. This is working fine

There's something wrong with the new Route 53 console. I tried the exact same things in the old console and it worked immediately.
I hope AWS fix this soon. For anyone experiencing this issue in the mean time, try simply reverting to the old console by clicking the link on the left hand panel:

So actually what MX record consists of is a priority and a host. The smaller the number the higher the priority. You can look it up on google as well.

It appears that the cause of the problem is the nature or length of the whitespace between the priority and the host on each line. Reducing all this whitespace - on each line - down to a single space resolved the matter for me.

This seem to worked for me in Route 53
https://support.google.com/domains/answer/3251241?hl=en&ref_topic=6293345#zippy=%2Cset-up-email-forwarding-with-custom-name-servers

Related

Replicating data from SQL Server to BigQuery

I've been trying to follow instructions from Google on Replicating data from SQL Server to BigQuery available here: https://cloud.google.com/data-fusion/docs/tutorials/replicating-data/sqlserver-to-bigquery. Following instructions to the letter step by step always results in this odd error when creating the Cloud Fusion instance
Invalid argument (HTTP 400): retry budget exhausted (3 attempts): cloud-control2-saas::GCE_BAD_REQUEST: Invalid value for field 'networkPeering.name': '*******'. Must be a match of regex '(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)'.
**** is the project ID with the VPC network suffix after a dash and it looks a bit like this (I've changed values)
website.com:api-project-0000000000-default
This value is being assigned somewhere by Google, I am not given a choice to select this or enter this through the instructions when creating the Instance.
Googling the error doesn't show me anything useful and sadly I do not have budget to acquire GCP support in this instance to try and ask them why their instruction appear not to work.
I've already checked quotas, billing, service account permissions, etc. I've also tried both a new VPC as well as a shared VPC with all the settings from the guide.
Would appreciate someone more experienced in this area maybe point me in the right direction or if someone has some sort of understanding of where else to check what could be wrong I would appreciate it.
Instructions do point at creating a peering connection but the instructions themselves require the Cloud Data Fusion Instance to be created before configuring the peering connection and since I can't create the Cloud Data Fusion Instance I am unsure on what exactly I am supposed to do.
Appreciate the help!
According to this documentation, before creating a private instance I assume you're creating a VPC network.
networkPeering.name is a combination of your Project-id and VPC-network. The error which you're getting is due to incorrect naming convention of networkPeeering name. ie. the value of networkPeering.name does not match the regex expression (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?), which in your case is due to the project-ID: website.com:api-project-xxxxxxxxx.
Also note that networkPeering name should be less than 63 characters in length as per the regex expression.

Can't get a domain verified on AWS after transfer

After transferring a domain from another registrar to AWS, I can't get it verified in the Certificate Manager. I created a hosted zone, the CNAME records created by the Certificate Manager are there, I tried with the DNS tester - the records seem good. However it still says "pending validation". I tried a few times, waited a couple of days and it doesn't seem it will work.
I'm totally out of ideas, any help?
DNS validation require 2 things to be setup correctly. Record Name and Record Value
Check if you're correctly setting these in Route53. Reference Doc here: https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html
Now 2 issues which are very common
In the Record Name part confirm that you're not adding your domain name in the value. _X is the only part you have to copy-paste. If you copy _X.YourDomain then 'YourDomain' part is duplicated
Record Value ends with . (a period / dot). Don't remove that period
You can verify the settings from https://mxtoolbox.com/ it has various configurations like A record, CNAME, DNS Validation, etc.

Setting Custom Domain in AWS

I set up my A records over the weekend, but I have no idea if I've done it right or not.
I set up an IP in AWS:
But I still can't reach my site:
http://huntingcollective.net/
http://www.huntingcollective.net/
What am I doing wrong? Thoughts?
So after guidance from Martheen, I did some more research and I just didn't know what I was doing.
The correct way to set up a DNS record at Namecheap, is to use the # symbol for your A-record.

Domain name without WWW is not working on AWS

In the image are my current Hosted zone details on AWS. When I visit www.giftforhilt.com it works but when I visit giftforhilt.com it does not work.
How can I fix this?
Can you add another A record using the record name giftforhit.com, the same way that you have done for www.giftforhit.com. just now use without www. And one thing is better when you give the ttl(time to leave) 60 where you did 3600. Then, lets see what happens.

Google Analytics not filtering internal traffic

I know there have been similar questions in the past but I have tried many solutions given online to no avail. I am just not able to hide internal traffic for Google Analytics on my Django site.
I am setting the filter from Admin->View->Filters. Have tried Predefined and Custom both with fixed IP as well as a regex pattern. (Yes, I have double checked my IP from whatismyip.com and I am using the right one)
I read somewhere that it takes time for the filters to come into effect, so even waited for 24 hours but I still see a lot of internal traffic.
Google Tag Assistant is also tracking the pages when I access them from internal IP (not sure if its supposed to know about the filters)
Not sure where could I be going wrong.
(I am using reverse proxy but hopefully that wouldn't change anything since the google analytics code is run on the client side)
Do not use any filter on the default view (called 'All Website Data'). Create a separate view and then create a filter on it. That will work.
(After struggling with it for a few days, this response helped me with the above fix)
I struggled with this as well, so here is what I found out.
Note that real time reporting can take up to 2hrs to catch up to and reflect analytics configuration changes such as the addition of filters.
Possible solutions
1) As suggested in the other answer, leave the default view as default and create an additional view for the filters:
The default view collects
all traffic. You need to create a new view for which you can apply
your filter. Check out item 3 here
https://support.google.com/analytics/answer/1009618?hl=en
How to add
a new view: https://support.google.com/analytics/answer/1009714?hl=en
2) Filter IP v6, not v4:
Exclude the ipv6 address as mentioned in above post. This is the one
that "what is my ip address" returns. It's not the ipv4 syntax
(xxx.xxx.xxx.xxx) However, I have noticed that wired machines that
stay connected seem to keep the same ipv6 IP (the 31 digit sequence),
however wireless accounts (mobile phones, tablets) tend to be dynamic.
However, as posted above if you use just the first 15 digits of the
sequence and use the "begins with" filter type, it will block
the devices using the same shared router (ie. internet router in your
home)
About filtering only the first 15 digits:
I think it is meant to filter the first four blocks, so if your IPv6 looks like 2601:191:c001:2f9:5c5a:1c20:61b6:675a, then filter IP that begins with 2601:191:c001:2f9:.
Information found here.