m
Line 44: Line 44:
  
 
Moving the mail server back to a VM in Luxembourg with BuyVM resolved this issue.
 
Moving the mail server back to a VM in Luxembourg with BuyVM resolved this issue.
 +
 +
== Cloud-Init ==
 +
The cloud init script can be found at {{code|/var/lib/cloud/instance/scripts/part-001}}. Logs from first start up can be found in {{code|/var/log/cloud-init.log}} and {{code|/var/log/cloud-init-output.log}}.
  
 
== Alternatives ==
 
== Alternatives ==

Revision as of 15:52, 13 January 2020

Some notes on Amazon Web Services (AWS)

Pricing

There are 4 models for Amazon Elastic Compute (EC2):

On-Demand Instances
Pay per hour or per second. Most expensive.
Reserved
Discounted up to 75% compared to On-Demand but must commit to a 1 or 3 year term. Pay up front.
Spot Instances
Request spare computing capacity by making a bid and having it fulfilled when the price drops below your bid. Cheapest but instance can be terminated at any time.
Dedicated Hosts

There are many different instance types. The 12 month free eligible type is t2.micro which comes with 1 vCPU, 1GB RAM, 15GB Outbound Bandwidth. The value of the t2.micro VM in US East (Ohio):

  • $0.01 per hour * 720 hours/month ($7.20)
  • $0.1 per GB/mo storage * 30 GB ($3)
  • $0.09 per GB/mo bandwidth * 15 GB per month ($1.35 - $0.09 as 1st GB is free)

Instance type overview:

Prices for on-dmand and spot pricing can be found at:

CPU Credits

Burstable instances such as the t2 instances have CPU credits. VMs accumulate a certain amount of credit every hour, depending on the instance type and uses credits when consuming more CPU than some threshold.

Mail Server

Port 25 is throttled. To run a mail server, request the removal of sending limitations using the following form:

After completing this form and providing the Elastic IP and DNS name, AWS will create a reverse DNS.

Despite using an IP that was not flagged by SpamHaus (spamhaus.org/lookup/), some emails that were forwarded through this AWS VM was not accepted by Gmail with the following message:

<xxxx@gmail.com> (expanded from <xxx@steamr.com>): host gmail-smtp-in.l.google.com[172.217.197.26] said: 
550-5.7.1 [35.183.156.23018] Our system has detected that this message is
550-5.7.1 likely suspicious due to the very low reputation of the sending IP
550-5.7.1 address. To best protect our users from spam, the message has been
550-5.7.1 blocked. Please visit 
550 5.7.1 https://support.google.com/mail/answer/188131 for more information.
t43si25325977qtc.22 - gsmtp (in reply to end of DATA command)

Moving the mail server back to a VM in Luxembourg with BuyVM resolved this issue.

Cloud-Init

The cloud init script can be found at /var/lib/cloud/instance/scripts/part-001. Logs from first start up can be found in /var/log/cloud-init.log and /var/log/cloud-init-output.log.

Alternatives

Looking at just the pricing, AWS EC2 is actually very expensive for what you get. Others have mentioned alternatives including:

  • Vultr
  • DigitalOcean
  • Linode
  • OVH

If a VM to run some workload is all you need, some low end VPS packages from WHT offers are also valued very well.

Alternatively, create a AWS instance using spot pricing. Eg. The t3a.nano instance type comes with 2 CPU cores, 512MB memory and costs $0.0016/hr, or $1.20 per month.