- [Alana] Welcome to Exercise 1. In this exercise, you'll be using your own AWS accounts to create an EC2 instance that you later deploy to with CodeDeploy. If you don't have an AWS account, refer to the reading before this video called Create Your Own AWS Account. Here's how this will work. Your EC2 instance is what we'll refer to as your test environment. You'll be creating this. In Exercise 2, you will use CodeDeploy to eventually deploy code to this test environment. And that code will be stored in Amazon Simple Storage Service, or Amazon S3, which is an object storage service. Sounds simple enough, right? But there's a lot that needs to happen behind the scenes to make this work. For example, all of these services need to communicate with each other, and none of that communication is allowed or enabled by default. That means CodeDeploy needs to communicate with EC2, and EC2 needs to communicate with S3. And we have to set all of this up. To do this, We'll do a few things. The first is, we'll create AWS Identity and Access Management, or IAM roles for the services to enable communication. So, for EC2, we'll create an IAM role that has permissions to S3, and assign it to our instance when we create it. That will enable the EC2 instance to grab the code from S3. We'll also assign a policy that has permissions to AWS Systems Manager Session Manager, which will enable us to remotely connect to our instance without having to manage SSH keys. Then, we'll create a service role for CodeDeploy, which will allow CodeDeploy to call other AWS services, including Amazon EC2. So, that's great. Two roles that will enable communication to flow between the services. We're done, right? Well, not so fast. For CodeDeploy to communicate with EC2, we not only need a role, we also need to install the CodeDeploy agent on EC2 as well. So, in the lab, after you create your EC2 instance, or your test environment, you'll connect to your instance and install the agent. And that enables CodeDeploy to use this instance for future deployments. You'll also need to install the AWS Systems Manager agent on your instance as well, to ensure that you can remotely connect to your instance. So, what you'll be creating: roles, creating an instance, and connecting to that instance to deploy an agent, and all of this will be built upon in the second lab. If you have any questions, feel free to post in the forums and get help from one another. If you see a question in the forums that you know the answer to, I encourage you to respond to others. The instructors will also be monitoring the forums as well. All right, go ahead and get started.