Difference between revisions of "Amazon Free AWS training in Stratford"

From MyWiki
Jump to: navigation, search
Line 178: Line 178:
 
  to the edXProjectUser.
 
  to the edXProjectUser.
  
</text>
+
</source>

Revision as of 20:31, 22 August 2019

'Bold text'EDX Course
Week 2 - Exercise 4

Create an AWS IAM policy
In the AWS Management Console, click Services, then click IAM to open the IAM dashboard.
In the left navigation menu, click Policies.
Click Create policy.
Click the JSON tab.
In the editor textbox, completely replace the sample policy with the following.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Sid1",
            "Effect": "Allow",
            "Action": [
                "iam:*",
                "rds:*",
                "sns:*",
                "cloudformation:*",
                "rekognition:*",
                "ec2:*",
                "cognito-idp:*",
                "sqs:*",
                "xray:*",
                "s3:*",
                "elasticloadbalancing:*",
                "cloud9:*",
                "lambda:*",
                "tag:GetResources",
                "logs:*",
                "kms:ListKeyPolicies",
                "kms:GenerateRandom",
                "kms:ListRetirableGrants",
                "kms:GetKeyPolicy",
                "kms:ListResourceTags",
                "kms:ReEncryptFrom",
                "kms:ListGrants",
                "kms:GetParametersForImport",
                "kms:ListKeys",
                "kms:GetKeyRotationStatus",
                "kms:ListAliases",
                "kms:ReEncryptTo",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        }
    ]
}
Click Review Policy.
For Name, type edXProjectPolicy
Click Create policy.
 
You have successfully created an AWS IAM policy with full access to AWS IAM, Amazon EC2, Amazon S3,
 Amazon RDS, Amazon SNS, Amazon SQS, Amazon Rekognition, AWS Lambda, Amazon Cognito, AWS Cloud9,
 AWS X-Ray, and AWS CloudFormation. When you create IAM policies, follow the standard security
 advice of granting least privilege - that is, granting only the permissions required to perform a task.
 Determine what users need to do and then craft policies for them that let the users perform only those tasks.

Create IAMS User

Create an AWS IAM user, attach a policy to the user, and generate access keys.
 
In this section, you will create an AWS IAM user and attach the policy you just created to the user. 
You will then generate the access keys for the user. Those access keys will be used to make
 programmatic calls to AWS services via AWS CLI or APIs. If you are familiar with AWS IAM users,
 you may want to attempt to complete this section before reading the step-by-step instructions.
 
AWS IAM user name: edXProjectUser
Access type: Programmatic access and AWS Management Console access
Policy: edXProjectPolicy
Important: Download the .csv file with the access keys after creating the user. Also, make sure to click 
the Send email link to get the email instructions for signing in to the AWS Management Console as edXProjectUser.
 
Reminder! Be sure to protect your AWS account access keys like you would your credit card numbers 
or any other sensitive secret.
 
At the end of this exercise, you will not be using the access keys again. It is a security best practice
to remove IAM user credentials that are not needed. After this exercise, make sure to remove the access 
keys only (not the AWS Console password) for the IAM user - edXProjectUser. See more IAM Best Practices.

Create an IAMS user in detail

    In the AWS Console, click Services, then click IAM to go to the IAM dashboard.
    In the left navigation menu, click Users.
    Click Add user.
    In the User name text box, type edXProjectUser
    For Access type, select Programmatic access and AWS Management Console access.
    For Console password, you may choose either Autogenerated password or Custom password. If you choose Autogenerated, you will be prompted to change your console password when you log in to the AWS Console as the edXProjectUser user. Make sure you take a note of the password created.
    Click Next: Permissions.
    Under Set permissions for edXProjectUser section, click Attach existing policies directly.
    In the search text box for Filter, type edXProjectPolicy. Select edXProjectPolicy from the filtered list.
    Click Next: Review.
    Review the information and click Create user. You should see a success message.
    Click Download .csv to download the access key ID and secret access key.
    Note: This is your only chance to download these credentials.
    In the Email login instructions column, click Send email. You can send an email to an email address of your choice. This email contains the instructions to sign in to your AWS account with the edXProjectUser AWS IAM user credentials.
    Click Close to return to the console.
    In the left navigation menu, click Dashboard.
    Note the IAM users sign-in link. This is a special URL for IAM users, which includes your account ID. You will see the same URL in the email you just created.
    Sign out of the console, and follow the instructions provided in the email you just received to sign in to the AWS Console as the edXProjectUser AWS IAM user.

Create an Amazon EC2 instance and configure AWS CLI with the access keys of the AWS IAM user edXProjectUser

    Sign-in to your AWS account as the edXProjectUser AWS IAM user.
    Create an Amazon EC2 instance using the properties below. If you are familiar with Amazon EC2, you may 
want to attempt to complete this portion before reading the step-by-step instructions.
 
    Region: Oregon (us-west-2)
    Amazon Machine Image (AMI): Amazon Linux AMI (Do not use the Amazon Linux 2 AMI)
    Instance Type: t2.micro
    Network VPC: edx-build-aws-vpc
    Subnet: edx-subnet-public-a
    Tag: Ex4WebServer
    Security group name: Use the security group created in the third exercise, exercise3-sg.
    Key Pair: Use the key pair created in the third exercise.

Step by step instructions

Invalid language.

You need to specify a language like this: <source lang="html4strict">...</source>

Supported languages for syntax highlighting:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


    In the AWS Console, click Services, then click EC2 to go to the EC2 dashboard.
    Make sure you are in the Oregon region.
    From the EC2 dashboard, click Launch Instance.
    On the Choose an Amazon Machine Image (AMI) page, select the Amazon Linux AMI. This AMI is free-tier eligible.
    Note: Do not select the Amazon Linux 2 AMI option.
    On the Choose an Instance Type page, select t2.micro.
    Click Next: Configure Instance Details.
    For Network, select edx-build-aws-vpc.
    For Subnet, select edx-subnet-public-a in the us-west-2a availability zone.
    Click Next: Add Storage. Skip through this page and click Next: Add Tags.
    Click Add Tag.
    In the Key textbox, type Name.
    In the Value textbox, type Ex4WebServer.
    Click Next: Configure Security Group. Select the Select an existing security group option.
    From the list of security groups, select exercise3-sg.
    Click Review and Launch.
    On the Review Instance Launch page, review the details and click Launch.
    When prompted for a key pair, select Choose an existing key pair, and then choose the key pair you created in the third exercise.
    Select the acknowledgement check box, and then click Launch Instances.
    Click View Instances to return to the instances page.
    On the Instances page, you can view the status of the launch. It can take a few minutes for the instance to be ready so that you can connect to it. Check that your instance has passed its status checks. You can view this information in the Status Checks column.
    Once the instance is ready, select the instance and note down the IPv4 Public IP found in the Descriptions tab at the bottom.


    Connect to the instance using SSH. You may refer to the instructions in the third exercise for connecting
 to the instance.
    Open the credentials.csv file that you downloaded earlier. Find the entry for edXProjectUser, and note 
the values for Access Key Id and Secret Access Key.
    On the instance terminal, type the below command.
 
    aws configure
 
    Follow the prompts on the screen and paste in the values for Access Key Id and Secret Access Key.
    For Region, type us-west-2.
    For Default output format, press ENTER.
    You have now configured the AWS CLI so that any CLI calls will operate with the credentials of the AWS IAM user edXProjectUser.
    Now query the information about the Amazon EC2 instances in your account. Type the command below.
 
    aws ec2 describe-instances
 
    You should see a JSON output with all the information of the Amazon EC2 instances in your account.
This means that you were able to successfully execute the AWS CLI command with the permissions attached
 to the edXProjectUser.