30 November, 2018

TIL #3 - aws 101 and time formatting in go

Notes taken between: 26-30 November 2018


AWS 101

Virtualization is a way to partitioning one physical server into several virtual servers, or machines. These machines are called guests and will share the same hardware of the host server. Using a hypervisor, a system engineer could create multiple machines using a single physical one.

  • EC2 or Elastic Compute Cloud is the commercial name for the virtual machine you can use in AWS cloud service.

AWS virtual machines are called EC2 (Elastic Compute Cloud), like any VM, it needs an operating system. An EC2 machine needs also to run within a VPC (Virtual Private Cloud), which is a virtual network that isolate and secure your Cloud resources. To ensure that an EC2 instance can communicate with a resource over the Internet, you must also attach an Internet Gateway to your VPC.

When you create an EC2 instance in a public subnet, AWS will give you a public IP. If you need a persistent IP address, you need to create an EIP (Elastic IP) and attach it to your EC2.

each instance type is intented for specific purposes

. If you create 2 or more instances, they will share things like the network, subnet, IAM role ..etc

EC2 Spot instance allows you to bid on spare Amazon EC2 computing capacity in order to reduce the cost of your running applications using the same budget. This type of instances run when your bid price exceeds the Spot price

You can also choose which network to use for your EC2 instance.

When you start a VM you should choose your Amazon Virtual Private Cloud (VPC). This VPC defines your machines IP addresses range, subnets, route tables, and network gateways. A subnet defines the range of IP addresses in your VPC that can be used to isolate different EC2 resources from each other or from the Internet. Each subnet resides in one Availability Zone.

By default, your machine can be in a single subnet which is the most common use case: One network interface, one IP address.

A subnet can be public (accessible by anyone) or private (accessible by only those who are authorized).

Time formatting in Go

to use time.format(“ <date shown here has significance. needs to be —> Mon Jan 2 15:04:05 -0700 MST 2006 p(t.Format("2006-01-02T15:04:05.999999-07:00”))

https://web.archive.org/web/20170926212446/http://fuckinggodateformat.com/

It is just the numbers 1 2 3 4 5 6 7

1: month (January, Jan, 01, etc)

2: day

3: hour (15 is 3pm on a 24 hour clock)

4: minute

5: second

6: year (2006)

7: timezone (GMT-7 is MST)