개발과 기록의 조화

[Amazon Web Service] 웹 서비스 아키텍쳐 — EC2 본문

Cloud Service/Amazon Web Service

[Amazon Web Service] 웹 서비스 아키텍쳐 — EC2

dlaudtjr03 2020. 2. 1. 06:02

해당 게시물은 학습 및 기록 목적으로 작성되었습니다. 사실과 다른 내용이 있을 수 있으며, 오류가 있거나 궁금한 점은 댓글이나 dlaudtjr07@gmail.com 으로 메일 주시면 감사하겠습니다.

 

해당 게시물은 이전의 게시물과 이어집니다.

 

[Amazon Web Service] 웹 서비스 아키텍쳐 — VPC

 


EC2란?

Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS) 클라우드에서 확장식 컴퓨팅을 제공합니다. Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. Amazon EC2를 통해 원하는 만큼 가상 서버를 구축하고 보안 및 네트워크 구성과 스토리지 관리가 가능합니다. 또한 Amazon EC2는 요구 사항이나 갑작스러운 인기 증대 등 변동 사항에 따라 신속하게 규모를 확장하거나 축소할 수 있어 서버 트래픽 예측 필요성이 줄어듭니다.

출처 : AWS 공식 Document

 

AWS의 주요 기능 중 하나로서 , 데스크탑에서 VMWare나 Oracle VirtureBox 를 이용해 가상환경을 만드는 것처럼 EC2 또한 가상으로 AWS 환경 내에 가상 환경을 구축해 주는 기능을 가지고 있습니다. AWS의 가장 핵심 서비스라고 할 수 있겠습니다.

 


EC2 생성

이전 게시물과 같이 아래에 해당되는 아키텍쳐를 구성하는데, 그 중 Web Servers에 해당하는 EC2를 생성해보도록 합시다.

그림-1. 웹 서비스 아키텍쳐 구상도

 

AWS 콘솔에 진입해 EC2 서비스에 접근합니다. 그 다음 인스턴스 시작 버튼을 클릭합니다.

 

그림- 2. EC2 생성

 

아래와 같이 다양한 종류의 OS가 존재합니다. 그 중에서 가장 익숙한 Ubuntu Server (18.04 LTS) 버전을 생성해 보도록 합시다.

 

그림- 3. EC2 생성

 

공부 목적으로 생성하는 것이기 때문에 프리 티어를 지원하는 t2.micro 유형을 선택하고, ‘다음:인스턴스 세부 정보 구성 버튼을 클릭합니다.

 

그림- 4. EC2 생성

 

네트워크는 이전에 생성했던 VPC를 선택합니다. 서브넷 설정은 Public 으로 설정한 서브넷을 지정하고 나머지 값은 모두 기본값으로 설정합니다. ‘ 다음: 스토리지 추가’ 버튼을 클릭해 다음 단계로 넘어갑니다.

 

그림- 5. EC2 생성

 

EC2에 연결될 저장소 설정입니다. 프리티어를 이용하므로 볼륨 유형을 마그네틱으로 설정 후 ‘다음:태그 추가’ 버튼을 클릭합니다.

 

그림- 6. EC2 생성

 

key-value 형식의 태그입니다. 각각의 태그 별로 별도 청구 요금을 확인할 수 있습니다. 적절한 이름을 적은 후 ‘다음: 보안 그룹 구성’ 버튼을 클릭합니다.

 

그림- 7. EC2 생성

 

방화벽 설정 부분입니다. 보안 그룹은 VPC를 생성하면서 기본적으로 만들어진 것이 하나 있습니다. 기존 보안 그룹 선택 후 해당 보안 그룹 ID를 선택한 후 검토 및 시작 버튼을 클릭합니다.

 

그림- 8. EC2 생성

 

아래와 같은 설정이 나오는데, 마그네틱을 이용할 예정이니 마그네틱 설정을 체크합니다.

 

그림- 9. EC2 생성

 

아래와 같이 마지막으로 검토 한 번 더하라는 듯이 요약 창이 나옵니다. 맞게 설정했나 확인 한 번더 하고 시작하기 버튼을 클릭합니다.

 

그림- 10. EC2 생성

 

키 페어 생성 부분입니다. EC2 접속을 위해서는 이 키 페어가 필수적으로 필요한데, 우리가 가지게 될 키 페어는 Private 키 파일입니다. AWS에 저장하는 Public 키, 우리가 저장하는 Private 키 두 개를 모두 이용해 EC2에 접속하게 될 것입니다. (군대 상키 하키 같은 개념) 한 번 다운로드하면 다시는 다운로드할 수 없습니다. 키를 다운로드하고 인스턴스 시작 버튼을 클릭합니다.

 

그림- 11. EC2 생성

 

인스턴스 생성 시간에는 수 분이 걸립니다. 생성되는 동안에 탄력적 IP를 할당하도록 하겠습니다. 탄력적 IP 단락에 들어가 탄력적 IP 주소 할당을 클릭해 생성합니다. 기본값으로 생성하면 됩니다.

 

그림- 12. EC2 생성

 

새로 생성된 IP를 클릭해, 탄력적 IP 주소 연결 버튼을 클릭합니다.

 

그림- 13. EC2 생성

 

그 후 이전에 만들었던 인스턴스를 클릭 후 프라이빗 IP 주소를 할당한 후 연결 버튼을 클릭합니다.

 

그림- 14. EC2 생성

 

아래와 같이 퍼블릭 IP가 탄력적 IP로 설정되어져 있는 것을 확인할 수 있습니다.

 

그림- 15. EC2 생성


Putty를 이용한 EC2 접근

Putty를 이용해 EC2에 연결해 보겠습니다. (Putty 다운로드 링크)

Putty를 설치했다면 Puttygen도 같이 설치되어졌을 것입니다. 이 친구를 이용해 pem 형식의 키 페어 파일을 putty가 읽을 수 있는 파일로 변환시켜야 합니다.

Load 버튼을 클릭해 pem 파일을 가져옵니다.

 

그림- 16. Putty로 EC2 접근

 

성공적으로 가져왔다면 아래와 같은 문구가 뜹니다.

 

 

그림- 17. Putty로 EC2 접근

 

Save Private Key 버튼을 눌러 변환합니다. 주의 문구는 OK를 누르고 진행하면 불러온 경로에 ppk 확장자 명으로 파일이 하나 생성됩니다.

 

 

그림- 18. Putty로 EC2 접근

 

putty에 접속합니다. 접속 후 좌측에 SSH -> Auth 로 접근해 Private Key file authenrtication 단락으로 접근, Browse를 눌러 방금 생성한 키를 가져옵니다.

 

그림- 19. Putty로 EC2 접근

 

그 다음 Session 단락으로 이동해 아까 인스턴스에 할당했던 탄력적 IP 주소를 입력한 후 SSH 타입 선택(기본 포트 22) 후 연결합니다.

 

그림- 20. Putty로 EC2 접근

 

아마 연결이 안 될 것입니다. 보안 그룹의 인바운드 규칙에 SSH 접속 포트를 열어주지 않았기 때문이죠. 설정되어져 있는 보안 그룹의 인바운드 규칙 변경란을 클릭 후 아래와 같이 설정합니다.

그림- 21. Putty로 EC2 접근

 

그 후 다시 연결하면 주의 문구가 뜹니다. 호스트 신뢰 여부를 묻는 보안 알림 창입니다. 예를 클릭하고 들어가서 login as에 ubuntu라고 적어줍시다. 그러면 AWS EC2에 정상적으로 접속한 것을 확인할 수 있습니다.

 

그림- 22. Putty로 EC2 접근

 


 

다음 게시물에서는 ELB를 통한 부하 분산 및 가용성을 늘리는 방법을 공부해 보겠습니다.

 

 

해당 글은 코드프레소 DevOps Roasting 코스를 수강하면서 작성한 글입니다.

 

Comments