Skip to content

Instantly share code, notes, and snippets.

@helloanh
Last active October 13, 2016 15:12
Show Gist options
  • Save helloanh/6a7f7c6800d0a7ca1a110abcbfde248b to your computer and use it in GitHub Desktop.
Save helloanh/6a7f7c6800d0a7ca1a110abcbfde248b to your computer and use it in GitHub Desktop.
AWS setup, IAM, S3, EC2

Sesction 3. Identity Access Management 101

IAM allows you to manage users and their level of access to the AWS Console.

What IAM gives you?

    + centralized control your AWS account  
    + shared access to your AWS account  
    + granular permissions  
    + identity federation (including Active Directory, Fb, Linkedin, etc)  
    + multifactor authen  
    + provide temp access for users/devices and services  
    + allows you to set up your own pw rotation policv  
    + integrates with many AWS services
    + support PCI DSS Compliance  

Critical Terms:

    + Users - end users (think people)  
    + Groups - a collection of users with one set of permissions  
        + etc - HR group, IA group, Comms group  
    + Roles - assign them to AWS resources, don't need to set up username and pw for that instance  
    + Policies - a document that defines one (or more permissions)  

Create users, save their AWS credentials and set a password for each. You can make max of 5 users at a time. By default, users do not have permissions to do anything. You need go grant them permissions.

Permissions are granted with policies.

Last thing to do for the lab is to config a role. The best way to understand a role is to start using EC2. A Role allows resources within AWS to access other resources within AWS without creating access keys, passwords, secret keys.

Create a role called S3-Admin-Access. There are service roles:

    + for services  
    + for cross-account access  
    + for identitty provider access  

Policies:

    + json code
    + by version
    + statement can be nested, has key:value pair    
    + give yourself administrator access   

Section 5. AWS Elastic Cloud Computing

Launch an instance - AWS Linux AMI

Click on AWS Linux AMI, which comes with preconfigured programs and software ready to go.

Click on the tier you want. You can start wit2.micro for testing.

For Step 3: Configure Instances Details

subnet - corresponds to different availability zones

auto-assign public IP - use subnet setting

IAM role - created this in previous lab and named it S3-Admin-Access

advanced details - script anytime you first start your instance

    #!/bin/bash/
    yum update -y

Add Storage

volume type - root, sometimes refer to as the root device volume. where the OS is going to be installed

device - or the mount point, where the device will be mounted

size - 8GB by default. free tiered customers can get up to 30GB free.

IOPS - input output per seconds

Delete on Termination - checked by default, when you terminate the volume, it will delete it

Encrypted - Not Encrypted, root device volume is not encrypted by default. you can add an additional disk and you can encrypt it. however, you cannot encrypt the root device. you need to install another service to encrypt your OS like window bitlock for example.

Tagging Instance

You can have up to 10 tags maximum. Tagging is a key-value pair. Great for organizing.

Example:
+ Name: WebServer
+ Developer: Test
+ StaffID: 12345
+ DepartmentCode: 1001-10

Good for billing, to monitor what instance use what resources.

Configure Security Group

    + very important step  
    + acts like a firewall  

Create a new security group, call it Web-DMZ.
Add SSH, HTTP, HTTPS.

    + for ssh - use my IP address  
    + HTTP and HTTPS, use 0.0.0.0 which is for everywhere  

Click "Launch" and create a new key pair. Save the key pair in a safe location. This is for loggin into the terminal to access your instance.

Ssh into the instance. Upgrade privileges to root by typing "sudo su" command.

Lab Summary:

Termination project is turned off by default. You have to turn it on.

EBS-backed instances - default action is for

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment