Skip to content
This repository was archived by the owner on Dec 12, 2025. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/main' into gcp-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
tmiddelkoop committed Feb 14, 2022
2 parents e05f9a7 + 97bd236 commit bea8283
Show file tree
Hide file tree
Showing 16 changed files with 217 additions and 448 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ Best Practices:
[Amanda Tan](atan@internet2.edu)

# License
The Cloud Learning and Skills Sessions materials (“Materials”) were created by University Corporation for Advanced Internet Development dba Internet2 (“Internet2”) and are shared under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license (“License”), avail. at https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode. This License permits you to share and modify the Materials, subject to important terms and conditions, which include, without limitation, that (1) you may only use the Materials for non-commercial purposes; (2) if you share the Materials, you must comply with the License’s attribution requirements; and (3), if you modify the Materials, you must distribute your contributions under the same license terms. You agree to review the full License text before accessing the Materials. © 2022 Internet2.

<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.
43 changes: 28 additions & 15 deletions content/AWS/01_intro_to_cloud_console.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
"id": "64325d0f",
"id": "ab4463e6",
"metadata": {},
"source": [
"# Introduction to the AWS Console\n",
Expand All @@ -28,43 +28,48 @@
},
{
"cell_type": "markdown",
"id": "54c59223",
"id": "5ee1b145",
"metadata": {},
"source": []
},
{
"cell_type": "markdown",
"id": "2477a2d7",
"id": "660d1a7a",
"metadata": {},
"source": [
"## Setup\n",
"\n",
"The console is the point of entry where you will start your AWS journey. If you are participating in the CLASS Essentials Workshop, you will have received a csv file via email. This csv file contains your **username**, **temporary password** and **console login link**. \n",
"The console is the point of entry where you will start your AWS journey. If you are participating in the CLASS Essentials Workshop, you will be provisioned an AWS Academy Account. \n",
"\n",
"```{admonition} Be Aware\n",
":class: danger\n",
"If you are doing self-paced learning, your login information may be different!\n",
"If you are doing self-paced learning, you will need to have your own AWS account, some of the screencaps or instructions may differ!\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "c72b28be",
"id": "21873aae",
"metadata": {},
"source": [
"## Logging in to the console\n",
"Paste your console login link into your web browser. You will see the AWS site requesting you to sign in as an IAM user. Fill in your username and password that was assigned to you in the csv file. You will be asked to change your password the first time you sign in to the console. Fill in your old password and then choose a new password that you can remember! \n",
"## Using AWS Academy \n",
"\n",
"You are now logged on. Welcome to the first step of your cloud journey! \n",
"The URL to AWS Academy is https://awsacademy.instructure.com/login/canvas. Once you sign in, the steps to get to the AWS console where we will begin our journey are as follows:\n",
"\n",
"Below is what your screen should look like when you log in to the AWS console for the first time. If you encounter any pop up boxes, you can exit them. Next, let's take a closer look at some key concepts and components of the AWS console. \n",
"1. Click on 'Modules' on the left menu bar. \n",
"2. Select Learner Lab - Foundational Service \n",
"3. Click Start Lab on the top right corner\n",
"4. Click “AWS” button once the red dot turns to green, this will open the AWS Management Console” page\n",
"\n",
"![First time logging in to the AWS console](images/intro_to_cloud_console/console_start.png)"
"```{admonition} Note\n",
":class: attention\n",
"The pages may take some time to load especially if this your first time logging in to AWS Academy. If you encounter a blank page for a few seconds, please be patient. \n",
"```"
]
},
{
"cell_type": "markdown",
"id": "06ba8d29",
"id": "8a0329cb",
"metadata": {},
"source": [
"## Key concepts and components of the AWS console\n",
Expand All @@ -74,7 +79,7 @@
},
{
"cell_type": "markdown",
"id": "b9a21e7b",
"id": "8528d175",
"metadata": {},
"source": [
"Figure 2 lists the basic components you will see when you first log in to the AWS console. \n",
Expand All @@ -83,7 +88,7 @@
": If you click on the dropdown menu labeled \"Services\" you will see the entire list of services that is offered by AWS. Currently, AWS has over 200 services ranging from compute to machine learning to networking to data storage. The list grows frequently!\n",
"\n",
"**2. Search bar**\n",
": You can also use the search bar to find a particular service or offering that you are interested in. Cloud vendors have proprietary vocabulary or jargon, so it is often useful to be aware of those as you start exploring more in your cloud adoption journey. [Internet2's CLASS Core documentation](https://github.internet2.edu/pages/CLASS/CLASS-Essentials-AWS/vendor_vocabulary.html) provides a basic list of vendor specific cloud terminology. For example, if you wanted to provision or utilize a \"virtual server\", you can try using the search bar to search for \"EC2\" which stands for \"Elastic Cloud Compute\" and is the AWS vocabulary for virtual computers.\n",
": You can also use the search bar to find a particular service or offering that you are interested in. Cloud vendors have proprietary vocabulary or jargon, so it is often useful to be aware of those as you start exploring more in your cloud adoption journey. For example, if you wanted to provision or utilize a \"virtual server\", you can try using the search bar to search for \"EC2\" which stands for \"Elastic Cloud Compute\" and is the AWS vocabulary for virtual computers.\n",
"\n",
"**3. IAM Username and Account**\n",
": The menu bar on the console also lists your IAM username and account number. IAM is short for Identity and Access Management. Identity is a mechanism to authenticate users (e.g. password) and Access is a mechanism for authorizing what kinds of services users have access to. For example, in this scenario, student1 is an IAM user on the account \"4414-3982-1395\". In the creation of the IAM user \"student1\", the administrator (overlord) of the account assigned a particular permission scope (in AWS this is known as roles) to ensure that student1 only has access to a particular set of services and also assigned a password to authenticate user login. IAM is a key component in managing security on the cloud.\n",
Expand All @@ -97,7 +102,7 @@
},
{
"cell_type": "markdown",
"id": "14396589",
"id": "df94798a",
"metadata": {},
"source": [
"```{admonition} Exercise\n",
Expand All @@ -108,6 +113,14 @@
"* What are the three ways you can find an AWS service on the console?\n",
"````"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0e261320",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand Down
73 changes: 45 additions & 28 deletions content/AWS/02_intro_to_compute.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
"cells": [
{
"cell_type": "markdown",
"id": "99642f5e",
"id": "57d9a12e",
"metadata": {},
"source": [
"# Introduction to Elastic Cloud Compute (EC2) - Part 1\n",
"# Introduction to Elastic Cloud Compute (EC2)\n",
"\n",
"\n",
"```{admonition} Overview\n",
Expand All @@ -30,7 +30,7 @@
},
{
"cell_type": "markdown",
"id": "fbcbf455",
"id": "5105c0ed",
"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",
Expand All @@ -43,7 +43,7 @@
},
{
"cell_type": "markdown",
"id": "17329430",
"id": "8ec0c433",
"metadata": {},
"source": [
"We begin with the AWS console again. Under the \"Build a Solution\" panel, select `Launch a Virtual Machine`\n",
Expand All @@ -70,7 +70,7 @@
},
{
"cell_type": "markdown",
"id": "efcd0d76",
"id": "d8201a47",
"metadata": {},
"source": [
"## 1. Select an AMI\n",
Expand All @@ -94,7 +94,7 @@
},
{
"cell_type": "markdown",
"id": "20372414",
"id": "53271781",
"metadata": {},
"source": [
"## Step 2: Choose an Instance Type\n",
Expand All @@ -117,31 +117,25 @@
},
{
"cell_type": "markdown",
"id": "ca6a7991",
"id": "4095a194",
"metadata": {},
"source": [
"![Choose an Instance Type](images/ec2-type.png)\n",
"\n",
"Select ```Next: Configure Instance Details```.\n",
"\n",
"## Step 3: Configure Instance Details\n",
"Step 3 in creating an EC2 instance involves a rudimentary understanding of several key AWS and cloud jargon (Figure 4). While delving deeper into some of the terminology is outside of the scope of CLASS Essentials, we go will through these terms in brief as we learn how to configure your EC2 instance. For the most part, we will **leave the settings as default**. CLASS Intermediate offers a more in depth discussion on cloud concepts. \n",
"Step 3 in creating an EC2 instance involves a rudimentary understanding of several key AWS and cloud jargon. Here we will **leave all the settings as default** except one. We will change the IAM role to `LabInstanceProfile`. \n",
"\n",
"![Configure Instance Details](images/ec2-configure.png)\n",
"\n",
"**Number of instances** : This indicates how many instances you want to create at the same time. Here, we will leave the value as '1' but in actuality, you can can have up to 20 instances per region. \n",
"\n",
"```{admonition} Note\n",
":class: note\n",
"Recall that we learned about regions in the [previous chapter](./01_intro_to_cloud_console). \n",
"```\n",
"Dlving deeper into some of the terminology is outside of the scope of CLASS Essentials, we go will through some of these terms in brief as we learn how to configure your EC2 instance. You can also click the grey \"i\" icon in the configuration list for a description. For the most part, we will **leave the settings as default**. \n",
"\n",
"**Purchasing Options** : Throughout your AWS journey, you will hear the term **Spot Instances**. Spot instances make use of the servers that go unused in AWS data centers to minimize costs. Recall that AWS has many data centers spread across the globe and not all their servers are utilized at 100% capacity at all times. Amazon uses Spot Instances as a flexible way to profit from extra capacity. Users have access to Spot Instances through a bidding process, sometimes users can save up to 90% off the on-deman compute instance this way! We will not expand much more on Spot Instances in CLASS Essentials but if you are interested, I2's CLASS Intermediate talks more "
"![Configure Instance Details](images/ec2-configure.png)\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "97271ddd",
"id": "b5207387",
"metadata": {},
"source": [
"```{admonition} Exercise\n",
Expand All @@ -154,53 +148,76 @@
},
{
"cell_type": "markdown",
"id": "32d19e24",
"id": "23a8b7bf",
"metadata": {},
"source": []
"source": [
"Some important terms to note: \n",
"\n",
"**Number of instances** : This indicates how many instances you want to create at the same time. Here, we will leave the value as '1' but in actuality, you can can have up to 20 instances per region. \n",
"\n",
"```{admonition} Note\n",
":class: note\n",
"Recall that we learned about regions in the [previous chapter](./01_intro_to_cloud_console). \n",
"```\n",
"\n",
"**Purchasing Options** : Throughout your AWS journey, you will hear the term **Spot Instances**. Spot instances make use of the servers that go unused in AWS data centers to minimize costs. Recall that AWS has many data centers spread across the globe and not all their servers are utilized at 100% capacity at all times. Amazon uses Spot Instances as a flexible way to profit from extra capacity. Users have access to Spot Instances through a bidding process, sometimes users can save up to 90% off the on-demand compute instance this way! \n",
"\n",
"**IAM Role** : An IAM role is an identity that you can create in your account that has specific permissions. An IAM role has some similarities to an IAM user. Roles and users are both AWS identities with permissions policies that determine what the identity can and cannot do in AWS. \n"
]
},
{
"cell_type": "markdown",
"id": "7820264f",
"id": "daa16890",
"metadata": {},
"source": [
"## Step 4. Add Storage\n",
"\n",
"Storage on an EC2 instance is akin to a hard drive. Here we will leave the default settings but it is important to know that a hard drive on an EC2 instance is known as [Elastic Block Storage](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). EBS volumes behave like raw, unformatted block devices.\n",
"Storage on an EC2 instance is akin to a hard drive. Here we will leave the default settings but it is important to know that a hard drive on an EC2 instance is known as [Elastic Block Storage](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html). EBS volumes behave like raw, unformatted block devices. Sometimes an EBS volume is also known as a persistent disk. \n",
"\n",
"<img src=\"./images/ec2-storage.png\" width=720 align=\"center\">"
]
},
{
"cell_type": "markdown",
"id": "309bdc6d",
"id": "673573ec",
"metadata": {},
"source": [
"## Step 5: Add Tags\n",
"\n",
"[Tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) are labels that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. e\n",
"[Tags](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) are labels that you assign to an AWS resource. Each tag consists of a key and an optional value, both of which you define.Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. Tags are an important mechanism to help you manage costs.\n",
"\n",
"<img src=\"./images/ec2-tags.png\" width=720 align=\"center\">\n"
]
},
{
"cell_type": "markdown",
"id": "2835744d",
"id": "c4290fa7",
"metadata": {},
"source": [
"## Step 6: Configure Security Group\n",
"\n",
"A [security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) acts as a virtual firewall for your EC2 instances to control inbound and outbound traffic. Again, we will not delve too much into networking protocols in CLASS Essentials. We will leave the default values of opening port 22 so that we can securely log in to the EC2 instance that we create. \n",
"A [security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) acts as a virtual firewall for your EC2 instances to control inbound and outbound traffic. Again, we will not delve too much into networking protocols in CLASS Essentials. We will leave the default values of opening port 22. \n",
"\n",
"<img src=\"./images/ec2-sg.png\" width=720 align=\"center\">"
]
},
{
"cell_type": "markdown",
"id": "56318ce3",
"id": "8bd0eb43",
"metadata": {},
"source": [
"## Step 7: Review Instance Launch\n",
"\n",
"The final step before your instance is provisioned, is for you to review your setup. You will also be asked to `Create a new key pair`. This step is important if you will securely assessing your instance from **outside** the AWS console. Go ahead and give your key pair a name and select `Download Key Pair`. The `Launch Instance` button will then turn blue once you have downloaded your key pair. \n",
"\n",
"When you have launched the instance you will be immediately taken to the Launch Status page where you can see your instance being initiated. \n"
]
},
{
"cell_type": "markdown",
"id": "657919d4",
"metadata": {},
"source": [
"<img src=\"./images/ec2-launch.png\" width=720 align=\"center\">\n",
"\n",
"<img src=\"./images/ec2-sshkey.png\" width=720 align=\"center\">\n",
Expand All @@ -211,7 +228,7 @@
{
"cell_type": "code",
"execution_count": null,
"id": "0a851856",
"id": "d99812c2",
"metadata": {},
"outputs": [],
"source": []
Expand Down
Loading

0 comments on commit bea8283

Please sign in to comment.