From 39f2799d237668132df5de24dc67d9fbba2eac00 Mon Sep 17 00:00:00 2001 From: Amanda Tan Date: Tue, 8 Feb 2022 10:28:41 -0800 Subject: [PATCH] More changes --- content/AWS/02_intro_to_compute.ipynb | 30 +++++----- content/AWS/03_intro_to_cloud_storage.ipynb | 18 +++--- content/AWS/06_monitoring_costs.ipynb | 63 ++++++++++++++++++++- content/AWS/07_cleaning_up_resources.ipynb | 22 +++++-- 4 files changed, 100 insertions(+), 33 deletions(-) diff --git a/content/AWS/02_intro_to_compute.ipynb b/content/AWS/02_intro_to_compute.ipynb index 07c12d4..0e43bcb 100644 --- a/content/AWS/02_intro_to_compute.ipynb +++ b/content/AWS/02_intro_to_compute.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "dc57021c", + "id": "99642f5e", "metadata": {}, "source": [ "# Introduction to Elastic Cloud Compute (EC2) - Part 1\n", @@ -30,7 +30,7 @@ }, { "cell_type": "markdown", - "id": "502f2360", + "id": "fbcbf455", "metadata": {}, "source": [ "Recall that the two fundamental components of cloud computing is compute and storage. On AWS, a \"virtual server\" or \"virtual computer\" is known as an **Elastic Cloud Compute (EC2) instance**; sometimes it's called \"EC2\", sometimes it's called an \"instance\" to denote that the ability to build and terminate this server instantaneously, but they all mean the same thing. An EC2 instance is no different from a server that sits under your desk, or your local departmental cluster, or even your local HPC cluster. You even boot up an EC2 instance through the web console, install software and then shut down your instance just like you would a real computer, except that Amazon takes care of the physical machinery while you are in charge of process of creating the computer. In some sense, you can think of utilizing an EC2 instance as renting a server or computer from Amazon! \n", @@ -43,7 +43,7 @@ }, { "cell_type": "markdown", - "id": "bc5d082d", + "id": "17329430", "metadata": {}, "source": [ "We begin with the AWS console again. Under the \"Build a Solution\" panel, select `Launch a Virtual Machine`\n", @@ -70,7 +70,7 @@ }, { "cell_type": "markdown", - "id": "b9809503", + "id": "efcd0d76", "metadata": {}, "source": [ "## 1. Select an AMI\n", @@ -94,7 +94,7 @@ }, { "cell_type": "markdown", - "id": "17597535", + "id": "20372414", "metadata": {}, "source": [ "## Step 2: Choose an Instance Type\n", @@ -117,7 +117,7 @@ }, { "cell_type": "markdown", - "id": "4ee655a3", + "id": "ca6a7991", "metadata": {}, "source": [ "![Choose an Instance Type](images/ec2-type.png)\n", @@ -141,7 +141,7 @@ }, { "cell_type": "markdown", - "id": "9c874bad", + "id": "97271ddd", "metadata": {}, "source": [ "```{admonition} Exercise\n", @@ -154,13 +154,13 @@ }, { "cell_type": "markdown", - "id": "1b8642f4", + "id": "32d19e24", "metadata": {}, "source": [] }, { "cell_type": "markdown", - "id": "ce945b0d", + "id": "7820264f", "metadata": {}, "source": [ "## Step 4. Add Storage\n", @@ -172,7 +172,7 @@ }, { "cell_type": "markdown", - "id": "55f4f9af", + "id": "309bdc6d", "metadata": {}, "source": [ "## Step 5: Add Tags\n", @@ -184,7 +184,7 @@ }, { "cell_type": "markdown", - "id": "bd0b7892", + "id": "2835744d", "metadata": {}, "source": [ "## Step 6: Configure Security Group\n", @@ -196,7 +196,7 @@ }, { "cell_type": "markdown", - "id": "d4b441c6", + "id": "56318ce3", "metadata": {}, "source": [ "## Step 7: Review Instance Launch\n", @@ -211,7 +211,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1e918e55", + "id": "0a851856", "metadata": {}, "outputs": [], "source": [] @@ -219,7 +219,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -233,7 +233,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.10.2" } }, "nbformat": 4, diff --git a/content/AWS/03_intro_to_cloud_storage.ipynb b/content/AWS/03_intro_to_cloud_storage.ipynb index cbb04cf..6bd8643 100644 --- a/content/AWS/03_intro_to_cloud_storage.ipynb +++ b/content/AWS/03_intro_to_cloud_storage.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "dc57021c", + "id": "458bf7cc", "metadata": {}, "source": [ "# Introduction to Cloud Storage\n", @@ -29,7 +29,7 @@ }, { "cell_type": "markdown", - "id": "338a2a01", + "id": "9a0023d6", "metadata": {}, "source": [ "There are three types of [cloud data storage](https://aws.amazon.com/what-is-cloud-storage/): object storage, file storage, and block storage. In this module, we will focus on object storage (e.g. Amazon Simple Storage Service (S3)). Object storage is a technology that manages data as objects. All data is stored in one large repository which may be distributed across multiple physical storage devices, instead of being divided into files or folders.\n", @@ -44,7 +44,7 @@ }, { "cell_type": "markdown", - "id": "177860a7", + "id": "e347eb69", "metadata": {}, "source": [ "Here we will click into the s3 service page. Note that the region here is Global. s3 namespaces(the name of the buckets) are global. This means that no two buckets can have identical names even if they reside in a different regions. \n", @@ -56,7 +56,7 @@ }, { "cell_type": "markdown", - "id": "9e0f64bf", + "id": "3228bf08", "metadata": {}, "source": [ "This will bring you to the Create Bucket page. Here we will choose a name for our new bucket - it will need to be a unique global namespace. Here I will use my identifying IAM (user1783892) to create a bucket. We will name my bucket ```bucket-user1783892```, leave the region as us-east-1 as well as all the default settings and click ```Create Bucket```\n", @@ -66,7 +66,7 @@ }, { "cell_type": "markdown", - "id": "8c3eca82", + "id": "1504f939", "metadata": {}, "source": [ "When your bucket is successfully created, you will see it pop up in the s3 console. \n", @@ -76,7 +76,7 @@ }, { "cell_type": "markdown", - "id": "4a8c60bb", + "id": "99e53e32", "metadata": {}, "source": [ "In the next lesson, we will learn about the AWS CLI and how we can use that to manipulate both the EC2 and s3 bucket we have created. " @@ -85,7 +85,7 @@ { "cell_type": "code", "execution_count": null, - "id": "136d902c", + "id": "839aede6", "metadata": {}, "outputs": [], "source": [] @@ -93,7 +93,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -107,7 +107,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.10.2" } }, "nbformat": 4, diff --git a/content/AWS/06_monitoring_costs.ipynb b/content/AWS/06_monitoring_costs.ipynb index 6f8b9cd..e469660 100644 --- a/content/AWS/06_monitoring_costs.ipynb +++ b/content/AWS/06_monitoring_costs.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f7286071", + "id": "ea763c0e", "metadata": {}, "source": [ "# Monitoring Costs\n", @@ -28,7 +28,7 @@ }, { "cell_type": "markdown", - "id": "d24bbcc9", + "id": "bcf032a4", "metadata": {}, "source": [ "# Ways to monitor resources on your AWS account\n", @@ -36,8 +36,65 @@ "There are several ways to monitor what kinds of services that are running on your AWS account. We will focus on two: The AWS Tag Editor and the EC2 global view. \n", "\n", "\n", - "The AWS Tag Editor is a offers a way to look at resources that ar running in your account. Recall in Episode 2 that tagging resources is a best practice to manage costs. The AWS Tag Editor finds resources on your account and allows you tag them if you haven't already done so. It is a good tool to list ALL resources that are running on your account, or to filter them using a specific criteria. Advanced use of the AWS Tag Editor is beyond the scope of CLASS Essentials. Here we will use the AWS Tag Editor to " + "The AWS Tag Editor is a offers a way to look at resources that ar running in your account. Recall in Episode 2 that tagging resources is a best practice to manage costs. The AWS Tag Editor finds resources on your account and allows you tag them if you haven't already done so. It is a good tool to list ALL resources that are running on your account, or to filter them using a specific criteria. Advanced use of the AWS Tag Editor is beyond the scope of CLASS Essentials. Here we will use the AWS Tag Editor to list all the resources on our account. \n", + "\n", + "1. Search for `Tag Editor` in the navigation bar of the AWS console\n", + "2. On the sidebar menu, click `Tag Editor`\n", + "3. In the Regions dropdown select `All regions`\n", + "4. In the Resource types dropdown select `All supported resource types`\n", + "5. Click on the Search resources button\n", + "\n", + "A table with the resource search results will be shown at the bottom of the page.\n", + "\n", + "The table displays the following information:\n", + "\n", + "> an identifier for the resource \n", + " the Name tag of the resource (if it has one) \n", + " the service that corresponds to the resource \n", + " the resource type \n", + " the region the resource is provisioned in \n", + " all of the tags on the resource. \n", + " Note that you can click on the badge with the number of tags to display the resource's tags\n", + "\n", + "The AWS EC2 global view is another way to check if you have EC2 instances running in *any* region. \n", + "\n", + "1. Go to the EC2 Dashboard\n", + "2. On the sidebar menu, click `EC2 Global View`\n", + "3. You will see the resource summary and it displays the following information (you may also run into an error message that you can ignore. The error lets you know that you have insufficient administrative privilege to view some of the resources on the account) :\n", + "\n", + "> Enabled Regions \n", + "Instances \n", + "VPCs \n", + "Subnets \n", + "Security groups \n", + "Volumes \n", + "\n", + "You can click any of the links to get more details on the resource being used. " ] + }, + { + "cell_type": "markdown", + "id": "71c88189", + "metadata": {}, + "source": [ + "# The AWS billing dashboard" + ] + }, + { + "cell_type": "markdown", + "id": "4319f2f6", + "metadata": {}, + "source": [ + "The AWS billing is disabled for AWS Academy. The granularity to which you can view your billing details varies by institution. However, if you are able to view the Billing Dashboard, AWS offers a detailed view of resources and estimated spend. The image below shows an example of the AWS Billing Dashboard. You can get to the Billing Dashboard by clicking your username on the top right corner of the navigation bar. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fa28c172", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/content/AWS/07_cleaning_up_resources.ipynb b/content/AWS/07_cleaning_up_resources.ipynb index 7caecdd..5d96ba5 100644 --- a/content/AWS/07_cleaning_up_resources.ipynb +++ b/content/AWS/07_cleaning_up_resources.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "dc57021c", + "id": "e3dd2396", "metadata": {}, "source": [ "# Cleaning Up Resources\n", @@ -11,21 +11,31 @@ "```{admonition} Overview\n", ":class: tip\n", "\n", - "**Teaching:**\n", + "**Teaching:** 15 mins\n", "\n", - "**Exercises:**\n", + "**Exercises:** 5 mins\n", "\n", "**Questions:**\n", + "* How do I clean up resources on my AWS account to minimize cost?\n", + "* What are the best practices to ensure there is no cost overrun?\n", "\n", "**Objectives:**\n", - "\n", + "* Learn to clean up AWS resources \n", "```" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40ee5bca", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -39,7 +49,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.5" + "version": "3.10.2" } }, "nbformat": 4,