본문 바로가기
Web/AWS

Amazon EC2 (Elastic Compute Cloud)

by joooing 2021. 3. 10.
반응형
Amazon Elastic Compute Cloud(Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스입니다. 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었습니다. Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있습니다. 컴퓨팅 리소스에 대한 포괄적인 제어권을 제공하며, Amazon의 검증된 컴퓨팅 인프라에서 실행할 수 있습니다.

 

EC2AWS에서 제공하는 클라우드 컴퓨팅 서비스이다. 한마디로 원격제어가 가능한 가상컴퓨터를 아마존에서 한 대 빌려오는 것이다. 제어하는 방법은 간단하다. AWS가 제공하는 URL(Public DNS)를 통해 접근해 일반 컴퓨터처럼 사용하면 된다. 이렇게 AWS에서 빌린 한 대의 컴퓨터를 Instance라고 한다. EC2를 통해 웹 서버를 설치하고, 사용자의 요청에 응답하는 것이 가장 기본적으로 하는 일이다.

 

EC2의 E는 Elastic(유연성)인데 EC2 서비스도 사용한 만큼만 비용을 지불하기 때문에 유연하게 사용이 가능하다는 의미이다. 뿐만아니라 필요에 따라 성능이나 용량을 조절할 수 있다는 의미도 있다. EC2 서비스는 짧은 시간 내에 PC구성이 가능하고,  다양한 운영체제, CPU, RAM, 용량을 선택할 수 있다는 장점이 있다. 사용자가 인스턴스를 완전히 제어할 수도 있고, 보안이나 스토리지를 관리하기에도 매우 효과적이다.👍

 

AMI (Amazon Machine Image)

앞서 EC2 서비스는 다양한 운영체제를 선택할 수 있다고 언급했다. 바로 AMI라는 다양한 템플릿을 제공하고 있기 때문에 가능한 일이다. 다양한 Image라고 하는 템플릿들이 미리 있는데, 이 image를 기반으로 Instance의 운영체제가 정해지는 것이다. 단순히 운영체제(윈도우, 우분투 리눅스..)만 깔린 템플릿을 고를 수도 있고, 아예 특정 런타임이 깔려있는 템플릿을 고를 수도 있다. (ex. 우분투 + node.js, 윈도우 + JVM) 운영 체제, 서버 등 구성을 확인하고 필요에 맞게 선택하기만 하면 된다.

 

다양한 템플릿들

AWS EC2 인스턴스 생성
= AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌림

 

 

실습 - EC2 인스턴스 생성

1. 탭에서 EC2 서비스 찾아 들어가기

2. 인스턴스 시작 클릭하기

3. AMI 선택하기

과금 방지를 위해 일단은 프리티어 사용 가능이라고 써진걸 고르자..!

4. 인스턴스 유형 선택

CPU, 메모리, 스토리지, 용량 등의 설정을 선택하는 단계이다. 이후 단계는 우선 디폴트로 설정된 값을 써도 무방하다. 다 골랐다면 아래쪽의 검토 및 시작 버튼을 누르면 된다.

 

5. 키 페어 생성

기존 키페어가 있다면 기존 키페어를 써도되고, 없다면 새 키페어를 생성한다. 생성이후에는 키페어가 다운받아지는 걸 확인할 수 있을 것이다. 키페어는 public key + private key(.pem) 두 쌍을 의미한다. private key를 가지면 누구나 인스턴스에 연결이 가능하기 때문에, 보안에 주의해야한다!

 

실습 - 인스턴스 연결하기

SSH를 이용해서 인스턴스에 연결하는 과정이다. 글의 앞부분에서 생성한 인스턴스에 원격접속해 원격으로 제어한다고 했는데, 바로 그 과정을 해보려고 한다. 참고로 이 글에서는 MacOS 환경에서 우분투 인스턴스에 연결을 해봤다. 준비물은 아까 다운받은 키 페어 파일(.pem)이다. 터미널에서 명령어를 입력해보자.

 

1. 다운받은 private key(.pem)의 권한을 설정

chmod 400 ~/.ssh/KeyPair.pem

 

여기서 chmod는 change mode의 줄임말이다. 400 처럼 세자리 숫자로 권한 설정을 할 수 있는데, 이 세자리는 순서대로 소유자, 그룹, 전체에 대한 권한을 의미한다. 권한은 읽기(4), 쓰기(2), 실행(1) 이렇게 세가지 숫자로 조합할 수 있다.

 

그럼 여기서 400은 무슨뜻일까? 소유자가 읽기 권한을 가지고 있다는 뜻이다. 만약 700이라면 소유자가 읽기, 쓰기, 사용 권한을 모두 가졌다는 뜻이 된다. 권한을 수정하지 않으면, 너무 오픈되어있다는 경고 메세지가 뜨기 때문에 위의 명령어로 권한을 수정해야 접속에 성공할 수 있다.

 

 

2. ssh 명령어로 인스턴스에 연결

인스턴스의 Public DNS 부분에는 IPv4 Public IP를 적어야 한다. 제대로 입력하면 SSH 프로토콜을 이용한 원격접속이 성공했다는 메세지와함께, 명령어로 AWS의 가상컴퓨터를 사용할 수 있게된다.

ssh -i [private key(.pem)경로] [AMI 유저이름]@[퍼블릭 DNS]

 

 

반응형

'Web > AWS' 카테고리의 다른 글

Amazon S3  (0) 2021.03.10
AWS RDS(Relational Database Service)  (0) 2021.03.10
배포 (Deploy)  (0) 2021.03.10
Cloud Computing (클라우드 컴퓨팅), 온프레미스(On-premise)  (0) 2021.03.10

댓글