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

MyoungSeok Lee
7 min readJan 27, 2020

--

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

해당 게시물은 이전의 게시물과 이어집니다. 웹 서비스 아키텍쳐 — 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 코스를 수강하면서 작성한 글입니다.

--

--