AWS(Amazon Web Service)는 가상의 서버를 생성해 주는 서비스로 클라우드라 볼 수 있다.
AWS의 가장 큰 장점은 1년간 공짜란 점이 아닐까...
이 중 가장 기본이 되는 EC2를 생성해보도록 하자.
1. EC2 Dashboard에서 Instances를 선택

생성된 가상 서버를 Instance라고 부른다.
※ 오른쪽 위에 Ohio 라고 되어있는 부분을 누르면 가상 서버가 존재하는 실제 위치를 바꿔줄 수 있다(서울도 있다)
2. EC2 Instances에서 Launch Instance를 선택해 가상의 서버를 생성한다.

3. Step1. 설치 가능한 AMI가 나온다. 왼쪽에 Free tier only를 선택하면 가상서버의 공짜 OS를 선택할 수 있다.
나는 Ubuntu 16.04 LTS를 설치하도록 하겠다.(2017.07.05 기준)

4. Step2 가상서버의 type을 선택한다. type은 가상서버의 성능에 따라 나눠져 있는데 공짜 버전이 default로 선택되어 있다. Next를 눌러준다.

5. Step3. 가상 서버의 자세한 설정들을 하는 부분입니다.

1) Number of Instances : 사용량이 증가할 때 가상 서버의 수를 늘려줄 수 있는데 이 가상 서버의 수를 나타냅니다.
2) Purchasing option : 잠시 서버 허용량을 넘어서는 request가 있을 때, spot instance를 사용해 적은 비용으로 서버가 죽지 않고 동작하도록 합니다
3) Network, Subnet, Auto-assign Public IP : 자신만의 subnet을 만들어서 해당 subnet에서 ip를 할당할 수 있게 해줍니다.
여러 서버를 만들 때 도움이 되겠지만 서버 하나 만들 때는 default로 만들어 줍니다
4) IAM role : aws 내의 다른 인스턴스 간의 접근 권한을 설정해 줄 수 있다.
5) Shutdown behavior : OS에서 shutdown시 instance를 stop할 것인지 terminate할 것인지 정한다
6) Enable termination protection : 체크할 경우 API나 console을 통해 terminate되지 않는다.
7) Monitoring : 해당 instance의 metrics들을 CloudWatch를 이용해 자세히 모니터링하는 설정이다. 물론 추가요금이 발생한다
8) Tenancy : 실제 물리적 서버를 통째로 자신이 쓰도록 설정한다. 물론 추가요금이 발생한다.
6. Step4. EC2 instance의 저장 공간을 설정하는 부분이다.

1) Size : free tier의 경우 30GB까지 가능합니다
2) Volume Type : General Purpose SSD (GP2)를 선택했는데 Magnetic도 무료입니다.
3) Delete on Termination : Terminate 시에 해당 Storage를 삭제한다면 체크합니다.
(삭제 안 하고 다른 Storage 생성 후 30GB 넘을 시 추가 요금이 발생할 수 있습니다)
7. Step 5. Tag 추가

- 다양한 Tag를 설정할 수 있습니다. 나중에도 필요하면 고칠 수 있으므로 나중에 설정하도록 합시다
8. Step 6. Security Group을 설정합니다.

1) 새로 생성 시 존재하는 Security Group이 없으므로 Create a new security group을 체크해 줍니다.
2) security group name과 Description을 설정해 줍니다.
3) 밑에 Warning의 경우 모든 범위의 IP에서 EC2 instance에 접속할 수 있다는 경고인데 Source에서 My-IP를 선택해주면 없어지지만
대부분의 경우 유동IP를 사용하므로 모든 IP에 대해 개방해 주는 것이 좋습니다.
9. Step 7 지금까지 선택 내용 정리

- 정리된 내용이므로 지금까지 선택된 내용이 맞는지 확인하고 launch를 눌러줍니다.
- 해당 Instance에 대한 key를 생성할 수 있는데 생성 이후 해당 Instance에 접속할 때 해당 key를 사용합니다.
- Create a new key pair를 선택하시고 Key pair name을 설정해주신 뒤, Download Key Pair를 누르시면 key pair를 다운받을 수 있습니다.
10. Instance 확인

- 다시 EC2 Dashboard에서 Instances에 들어가시면 새로운 Instance가 생성된 모습을 보실 수 있습니다.
11. putty key generator를 이용한 key file 생성 -1

- putty key generator를 이용해 .pem 파일을 .ppk로 변환시켜 줍니다. (Load를 클릭)
12. putty key generator를 이용한 key file 생성 -2

- Rsa와 2048로 설정되어 있는지 확인하시고 Save private key를 눌러 .ppk인 key를 저장해 줍니다.
13. putty를 이용한 접속

- Host Name에 IP 주소나, DNS 주소를 넣어줍니다.
- Connection-SSH-Auth에서 key file을 Browse 버튼을 눌러서 등록해 줍니다.
- Saved Sessions에서 Saved Sessions 밑의 Text 입력창에 이름을 입력해 해당 Session의 저장도 가능합니다.
- 이제 Open 버튼을 누르면 AWS EC2로 접속을 시도합니다.
14. Ubuntu에 접속

- login as: 가 뜨면 ubuntu라고 입력하고 엔터를 누릅니다.
- 설정해둔 key file로 비밀번호 없이 자동으로 로그인 되고, 명령어를 칠 수 있도록 shell이 뜹니다.
이상으로 AWS EC2 생성과 접속이 끝났습니다!!