AWS Academy Cloud Foundations Module 6: Compute PDF
Document Details
Uploaded by DelightedGoblin
2022
Tags
Summary
This document provides an overview of AWS compute services, focusing on Amazon EC2, cost optimization, container services, AWS Lambda, and AWS Elastic Beanstalk. It details module objectives, topics, and activities related to these services.
Full Transcript
Module 6: Compute AWS Academy Cloud Foundations © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. Module overview Topics Activities Compute services overview...
Module 6: Compute AWS Academy Cloud Foundations © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. Module overview Topics Activities Compute services overview Amazon EC2 versus Managed Service Amazon EC2 Hands-on with AWS Lambda Hands-on with AWS Elastic Beanstalk Amazon EC2 cost optimization Container services Demo Introduction to AWS Lambda Recorded demonstration of Amazon EC2 Introduction to AWS Elastic Beanstalk Lab Introduction to Amazon EC2 Knowledge check © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 2 Module objectives After completing this module, you should be able to: Provide an overview of different AWS compute services in the cloud Demonstrate why to use Amazon Elastic Compute Cloud (Amazon EC2) Identify the functionality in the EC2 console Perform basic functions in Amazon EC2 to build a virtual computing environment Identify Amazon EC2 cost optimization elements Demonstrate when to use AWS Elastic Beanstalk Demonstrate when to use AWS Lambda Identify how to run containerized applications in a cluster of managed servers © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3 Section 1: Compute services overview Module 6: Compute © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS compute services Amazon Web Services (AWS) offers many compute services. This module will discuss the highlighted services. Amazon EC2 Amazon EC2 Amazon Elastic Amazon Elastic VMware Cloud Auto Scaling Container Registry Container Service on AWS (Amazon ECR) (Amazon ECS) AWS Elastic AWS Lambda Amazon Elastic Amazon Lightsail AWS Batch Beanstalk Kubernetes Service (Amazon EKS) AWS Fargate AWS Outposts AWS Serverless Application Repository © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 5 Categorizing compute services Services Key Concepts Characteristics Ease of Use Amazon EC2 Infrastructure as a service (IaaS) Provision virtual machines that you A familiar concept to many IT Instance-based can manage as you choose professionals. Virtual machines AWS Lambda Serverless computing Write and deploy code that runs on A relatively new concept for Function-based a schedule or that can be triggered many IT staff members, but easy Low-cost by events to use after you learn how. Use when possible (architect for the cloud) Amazon ECS Container-based computing Spin up and run jobs more quickly AWS Fargate reduces Amazon EKS Instance-based administrative overhead, but AWS Fargate you can use options that give Amazon ECR you more control. AWS Elastic Platform as a service (PaaS) Focus on your code (building your Fast and easy to get started. Beanstalk For web applications application) Can easily tie into other services— databases, Domain Name System (DNS), etc. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 6 Choosing the optimal compute service The optimal compute service or services that you use will depend on your use case Some aspects to consider – What is your application design? What are your usage patterns? Which configuration settings will you want to manage? Selecting the wrong compute solution for an architecture can lead to lower performance efficiency A good starting place—Understand the available compute options © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 7 Section 2: Amazon EC2 Module 6: Compute © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Elastic Compute Cloud (Amazon EC2) Example uses of Amazon EC2 instances ✓ Application server ✓ Web server ✓ Database server ✓ Game server ✓ Mail server ✓ Media server ✓ Catalog server Amazon EC2 instances Photo by Taylor Vick on Unsplash ✓ File server On-premises servers ✓ Computing server ✓ Proxy server Photo by panumas nikhomkhai from Pexels © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 9 Amazon EC2 overview Amazon Elastic Compute Cloud (Amazon EC2) Provides virtual machines—referred to as EC2 instances— in the cloud. Gives you full control over the guest operating system (Windows or Linux) on each instance. You can launch instances of any size into an Availability Zone anywhere in the world. Amazon Launch instances from Amazon Machine Images (AMIs). EC2 Launch instances with a few clicks or a line of code, and they are ready in minutes. You can control traffic to and from instances. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 10 Launching an Amazon EC2 instance This section of the module walks through nine key decisions to make when you create an EC2 instance by using the AWS Management Console Launch Instance Wizard. Along the way, essential Amazon EC2 concepts will be explored. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 11 1. Select an AMI Choices made using the Launch instance Launch Instance Wizard: AMI Instance 1. AMI 2. Instance Type Amazon Machine Image (AMI) 3. Network settings Is a template that is used to create an EC2 instance (which is a virtual 4. IAM role machine, or VM, that runs in the AWS Cloud) 5. User data Contains a Windows or Linux operating system 6. Storage options Often also has some software pre-installed 7. Tags 8. Security group AMI choices: 9. Key pair Quick Start – Linux and Windows AMIs that are provided by AWS My AMIs – Any AMIs that you created AWS Marketplace – Pre-configured templates from third parties Community AMIs – AMIs shared by others; use at your own risk © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 12 Creating a new AMI: Example AWS Cloud AMI details Region A Connect to the instance and manually modify it or run a script that modifies Quick the instance (for example, Start or Launch an upgrade installed Capture as other Starter instance software) a new AMI existing AMI AMI 1 2 3 Unmodified Modified New Instance Instance AMI (Optional) Import MyAMI a virtual machine Region B Copy the AMI to any other Regions where you want to use it New 4 AMI © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 13 2. Select an instance type Consider your use case Choices made using the How will the EC2 instance you create be used? Launch Instance Wizard: The instance type that you choose determines – 1. AMI Memory (RAM) 2. Instance Type Processing power (CPU) 3. Network settings Disk space and disk type (Storage) 4. IAM role Network performance 5. User data 6. Storage options Instance type categories – 7. Tags General purpose 8. Security group Compute optimized 9. Key pair Memory optimized Storage optimized Accelerated computing Instance types offer family, generation, and size © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 14 EC2 instance type naming and sizes Example instance sizes Instance Instance type naming Name vCPU Memory (GB) Storage t3.nano 2 0.5 EBS-Only Example: t3.large t3.micro 2 1 EBS-Only T is the family name 3 is the generation number t3.small 2 2 EBS-Only Large is the size t3.medium 2 4 EBS-Only t3.large 2 8 EBS-Only t3.xlarge 4 16 EBS-Only t3.2xlarge 8 32 EBS-Only © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 15 Select instance type: Based on use case General Compute Memory Accelerated Storage Purpose Optimized Optimized Computing Optimized a1, m4, m5, r4, r5, f1, g3, g4, Instance Types c4, c5 d2, h1, i3 t2, t3 x1, z1 p2, p3 High In-memory Machine Distributed file Use Case Broad performance databases learning systems © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 16 Instance types: Networking features The network bandwidth (Gbps) varies by instance type. See Amazon EC2 Instance Types to compare. To maximize networking and bandwidth performance of your instance type: If you have interdependent instances, launch them into a cluster placement group. Enable enhanced networking. Enhanced networking types are supported on most instance types. See the Networking and Storage Features documentation for details. Enhanced networking types – Elastic Network Adapter (ENA): Supports network speeds of up to 100 Gbps. Intel 82599 Virtual Function interface: Supports network speeds of up to 10 Gbps. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 17 3. Specify network settings Where should the instance be deployed? Choices made by using the Identify the VPC and optionally the subnet Launch Instance Wizard: Should a public IP address be automatically assigned? 1. AMI To make it internet-accessible 2. Instance Type 3. Network settings AWS Cloud 4. IAM role Region 5. User data Availability Zone 1 Availability Zone 2 6. Storage options VPC 7. Tags Public subnet 8. Security group Example: specify 9. Key pair to deploy the instance here Instance Private subnet © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 18 4. Attach IAM role (optional) Will software on the EC2 instance need to interact with other AWS Choices made by using the services? Launch Instance Wizard: If yes, attach an appropriate IAM Role. 1. AMI An AWS Identity and Access Management (IAM) role that is attached 2. Instance Type to an EC2 instance is kept in an instance profile. 3. Network settings You are not restricted to attaching a role only at instance launch. 4. IAM role 5. User data You can also attach a role to an instance that already exists. 6. Storage options 7. Tags 8. Security group Example: Application on 9. Key pair attached to instance can access Role that grants Amazon S3 bucket Simple Storage Service Instance with objects (Amazon S3) bucket access permissions © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 19 5. User data script (optional) Choices made by using the User data Launch Instance Wizard: #!/bin/bash 1. AMI yum update –y 2. Instance Type yum install -y wget 3. Network settings AMI Running 4. IAM role EC2 instance 5. User data Optionally specify a user data script at instance launch 6. Storage options 7. Tags Use user data scripts to customize the runtime environment of your 8. Security group instance 9. Key pair Script runs the first time the instance starts Can be used strategically For example, reduce the number of custom AMIs that you build and maintain © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 20 6. Specify storage Configure the root volume Choices made by using the Launch Instance Wizard: Where the guest operating system is installed 1. AMI Attach additional storage volumes (optional) 2. Instance Type AMI might already include more than one volume 3. Network settings 4. IAM role For each volume, specify: 5. User data The size of the disk (in GB) 6. Storage options 7. Tags The volume type 8. Security group Different types of solid state drives (SSDs) and hard disk 9. Key pair drives (HDDs) are available If the volume will be deleted when the instance is terminated If encryption should be used © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 21 Amazon EC2 storage options Amazon Elastic Block Store (Amazon EBS) – Durable, block-level storage volumes. You can stop the instance and start it again, and the data will still be there. Amazon EC2 Instance Store – Ephemeral storage is provided on disks that are attached to the host computer where the EC2 instance is running. If the instance stops, data stored here is deleted. Other options for storage (not for the root volume) – Mount an Amazon Elastic File System (Amazon EFS) file system. Connect to Amazon Simple Storage Service (Amazon S3). © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 22 Example storage options Instance 1 characteristics – Amazon Elastic Block Host computer It has an Amazon EBS root volume Store (Amazon EBS) type for the operating system. Instance Store What will happen if the instance is Attached as Attached as stopped and then started again? Root volume Storage volume 20-GB volume Instance 1 Ephemeral volume 1 Instance 2 characteristics – Attached as Storage volume It has an Instance Store root volume Attached as type for the operating system. 500-GB volume Root volume Instance 2 Ephemeral What will happen if the instance stops volume 2 (because of user error or a system malfunction)? © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 23 7. Add tags A tag is a label that you can assign to an AWS resource. Choices made by using the Launch Instance Wizard: Consists of a key and an optional value. Tagging is how you can attach metadata to an EC2 instance. 1. AMI 2. Instance Type Potential benefits of tagging—Filtering, automation, cost 3. Network settings allocation, and access control. 4. IAM role 5. User data 6. Storage options Example: 7. Tags 8. Security group 9. Key pair © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 24 8. Security group settings A security group is a set of firewall rules that control traffic Choices made by using the to the instance. Launch Instance Wizard: It exists outside of the instance's guest OS. 1. AMI Create rules that specify the source and which ports that 2. Instance Type network communications can use. 3. Network settings 4. IAM role Specify the port number and the protocol, such as Transmission 5. User data Control Protocol (TCP), User Datagram Protocol (UDP), or Internet 6. Storage options Control Message Protocol (ICMP). 7. Tags 8. Security group Specify the source (for example, an IP address or another security 9. Key pair group) that is allowed to use the rule. Example rule: © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 25 9. Identify or create the key pair At instance launch, you specify an existing key pair Choices made by using the or create a new key pair. Launch Instance Wizard: A key pair consists of – 1. AMI mykey.pem A public key that AWS stores. 2. Instance Type 3. Network settings A private key file that you store. 4. IAM role 5. User data It enables secure connections to the instance. 6. Storage options For Windows AMIs – 7. Tags 8. Security group Use the private key to obtain the administrator password 9. Key pair that you need to log in to your instance. For Linux AMIs – Use the private key to use SSH to securely connect to your instance. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 26 Amazon EC2 console view of a running EC2 instance © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 27 Another option: Launch an EC2 instance with the AWS Command Line Interface EC2 instances can also be created programmatically. AWS Command Line Interface (AWS CLI) This example shows how simple the Example command: command can be. aws ec2 run-instances \ This command assumes that the key pair and --image-id ami-1a2b3c4d \ security group already exist. --count 1 \ --instance-type c3.large \ More options could be specified. See the AWS CLI --key-name MyKeyPair \ Command Reference for details. --security-groups MySecurityGroup \ --region us-east-1 © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 28 Amazon EC2 instance lifecycle Only instances backed by Amazon EBS Launch Start pending AMI Reboot Stop rebooting running stopping stopped Stop- Hibernate Terminate shutting- down Terminate terminated © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 29 Consider using an Elastic IP address Rebooting an instance will not change If you require a persistent public IP any IP addresses or DNS hostnames. address – Associate an Elastic IP address with the instance. When an instance is stopped and then started again – The public IPv4 address and external DNS Elastic IP address characteristics – hostname will change. Can be associated with instances in the Region as needed. The private IPv4 address and internal DNS hostname do not change. Remains allocated to your account until you choose to release it. Elastic IP Address © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 31 EC2 instance metadata Instance metadata is data about your instance. While you are connected to the instance, you can view it – In a browser: http://169.254.169.254/latest/meta-data/ In a terminal window: curl http://169.254.169.254/latest/meta-data/ Example retrievable values – Public IP address, private IP address, public hostname, instance ID, security groups, Region, Availability Zone. Any user data specified at instance launch can also be accessed at: http://169.254.169.254/latest/user-data/ It can be used to configure or manage a running instance. For example, author a configuration script that reads the metadata and uses it to configure applications or OS settings. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 32 Amazon CloudWatch for monitoring Use Amazon CloudWatch to monitor EC2 instances Provides near-real-time metrics Amazon CloudWatch Instance with CloudWatch Provides charts in the Amazon EC2 console Monitoring tab that you can view Maintains 15 months of historical data Basic monitoring Default, no additional cost Metric data sent to CloudWatch every 5 minutes Detailed monitoring Fixed monthly rate for seven pre-selected metrics Metric data delivered every 1 minute © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 33 Amazon EC2 enables you to run Windows and Linux virtual Section 2 key machines in the cloud. takeaways You launch EC2 instances from an AMI template into a VPC in your account. You can choose from many instance types. Each instance type offers different combinations of CPU, RAM, storage, and networking capabilities. You can configure security groups to control access to instances (specify allowed ports and source). User data enables you to specify a script to run the first time that an instance launches. Only instances that are backed by Amazon EBS can be stopped. You can use Amazon CloudWatch to capture and review metrics on EC2 instances. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 34 Recorded Amazon EC2 demonstration © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 35 Lab 3: Introduction to Amazon EC2 © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 36 Lab 3 scenario In this lab, you will launch and configure your first virtual machine that runs on Amazon EC2. AWS Cloud Region Availability Zone 1 Lab VPC Public subnet Web server instance © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 37 Lab 3: Tasks Task 1 – Launch Your Amazon EC2 Instance Task 2 – Monitor Your Instance Task 3 – Update Your Security Group and Access the Web Server Task 4 – Resize Your Instance: Instance Type and EBS Volume Task 5 – Explore EC2 Limits Task 6 – Test Termination Protection © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 38 Lab 3: Final product By the end of the lab, you will have: Amazon EC2 1. Launched an instance that is configured as a web server 2. Viewed the instance system log VPC AMI 3. Reconfigured a security group Security group 4. Modified the instance type and root volume size t2.micro t2.small instance instance Amazon Elastic Block Store (Amazon EBS) 8-GB root 10-GB root volume volume © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 39 ~ 35 minutes Begin Lab 3: Introduction to Amazon EC2 © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 40 Lab debrief: Key takeaways © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 41 Activity: Amazon EC2 Photo by Pixabay from Pexels. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 42 Activity: Gather information Amazon EC2 Amazon RDS Screen grab of AWS Quick Starts webpage. AWS Cloud Still frame from architecting video about deploying SQL Server on EC2. Availability Zone 1 Availability Zone 2 MS SQL Server MS SQL Server secondary primary DB instance DB instance Always-on mirroring Volume Volume Volume Volume replica replica © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 43 Activity: Check your understanding 1. Between Amazon EC2 or Amazon RDS, which provides a managed service? What does managed service mean? ANSWER: Amazon RDS provides a managed service. Amazon RDS handles provisioning, installation and patching, automated backups, restoring snapshots from points in time, high availability, and monitoring. 2. Name at least one advantage of deploying Microsoft SQL Server on Amazon EC2 instead of Amazon RDS. ANSWER: Amazon EC2 offers complete control over every configuration, the OS, and the software stack. 3. What advantage does the Quick Start provide over a manual installation on Amazon EC2? ANSWER: The Quick Start is a reference architecture with proven best practices built into the design. 4. Which deployment option offers the best approach for all use cases? ANSWER: Neither. The correct deployment option depends on your specific needs. 5. Which approach costs more: using Amazon EC2 or using Amazon RDS? ANSWER: It depends. Managing the database deployment on Amazon EC2 requires more customer oversight and time. If time is your priority, then Amazon RDS might be less expensive. If you have in-house expertise, Amazon EC2 might be more cost-effective. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 44