- [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.