티스토리 뷰

 

 

이번 글에서는 AWS에 가입하고 프리티어 계정을 통해 EC2 인스턴스를 생성해본다.

 

지난 글 보기

 

 

[Vapor] Swift로 서버 만들기 08 - 도커(Docker)로 배포하기

이번 글에서는 Vapor 프로젝트로 도커 컨테이너를 만들어볼 것이다. 도커를 몰라도 괜찮다. Vapor에서 기가 막히게 도커 배포를 잘 지원해주고 있다. 공식 문서를 보면서 한 번 만들어보자 [Vapor] Swi

malchafrappuccino.tistory.com

 

 

 

AWS란?

AWS는 Amazon Web Service의 약자로 말 그대로 아마존에서 제공하는 웹 서비스이다.

 

클라우딩 컴퓨터 서비스 일환으로 컴퓨터를 빌려주는 서비스이다. 물리적으로 본체를 빌리는게 아닌 인터넷을 통해서 컴퓨터의 리소스를 사용한다.

 

컴퓨터 빌려주는 것(CPU와 메모리)부터 시작해서 저장소, 데이터 베이스, 머신러닝, 사물 인터넷 등 엄청나게 많은 서비스를 제공한다. 심지어 위성 서비스까지 제공한다.

 

AWS 위성 서비스

 

많은 서비스 중에서 컴퓨터를 빌려주는 EC2 서비스를 사용할 것이다.

 

 

 

가입하기

AWS는 기본적으로 유료다. 내가 사용한만큼 비용을 지불해야 하지만 프리티어 계정이 있다.

 

프리티어 계정은 서비스별로 지정된 한도 내에서 무료로 AWS 서비스를 살펴보고 사용해 볼 수 있는 기능을 제공한다.

 

AWS에 처음 가입하면 1년 동안 프리티어 계정을 사용할 수 있다. 혼자 공부하는 용도로 사용하면 프리티어 계정의 한도 내에서 충분하다.

 

AWS 계정 가입 페이지

 

프리티어 가입

 

가입을 완료하고 EC2 인스턴스를 생성한다.

 

EC2 검색

 

 

인스턴스 생성

 

 

운영체제를 선택해줘야 한다.

 

Amazon Linux, macOS, Ubuntu, Windows 등이 있다. 이 중 프리티어에 해당하는 걸 선택하면 된다. 보통 Amazon Linux와 Ubuntu를 많이 사용한다.  

 

우분투 프리티어

 

깔 때 그냥 깔지 말고 내가 사용하는 소프트웨어가 지원되는지 확인하자. Swift 공식 홈페이지로 가서 지원가능한 버전을 확인하자

 

Swift 공식 홈페이지 지원 가능 버전 확인하기

 

 

Ubuntu 22.04까지 지원해주니 가장 최신인 22.04를 사용한다.

 

 

우분투 버전 참고

우분투는 2년 마다 LTS(Long Term Support) = 장기 지원 버전을 출시한다. LTS의 경우 5년까지 지원이 된다. 22.04를 사용하면 27년까지 지원받을 수 있다.

 

22.04 = 22년 4월에 출시한 LTS 버전

 

 

인스턴스 유형 = 사용할 컴퓨터 스펙을 선택해준다. 그냥 프리티어인 t2.micro를 선택한다.

 

 

키 페어를 선택해줘야 한다.

 

키는 내 로컬 컴퓨터에서 서버에 접속하기 위한 키이다.

 

키가 없다면 새 키 페어 생성

 

 

RSA, .pem 형식으로 키 페어를 생성한다.

 

주의 : 이 키 페어 유출되면 인생 난이도가 급격하게 상승한다. AWS 청구서 3000만원 볼 수 있으니 간수를 잘하자

 

 

 

 

키 페어 생성해서 디렉토리에 잘 보관하자. 나중에 .pem 키가 있는 디렉토리에서 명령어를 입력해서 서버 컴퓨터에 접속할 것이다.

 

 

스토리지 용량을 설정해준다. 프리티어 기준 최대 30 GiB 이다. 나는 EC2 인스턴스를 하나만 사용할 거라 최대로 설정했다.

 

 

 

보안 그룹 설정은 따로 설정하지 않고 생성했다.

 

 

최종 생성

 

인스턴스 생성한다.

 

생성 완료

 

생성 완료 후 인스턴스를 시작한다.

 

 

잘 실행되고 있다.

 

 

탄력적 ip 주소 연결

탄력적 주소는 고정 ip 주소이다. 인스턴스의 경우 유동 ip를 가지고 있어 인스턴스를 생성하고 종료할 때마다 ip 가 바뀐다.

 

접속할 때마다 ip 주소가 바뀐다면 그건 쫌 곤란하다. 탄력적 ip를 사용해 고정 주소를 사용하자. 

 

 

AWS 탄력적 ip 주소 바로가기

 

주의 : 인스턴스에 탄력적 ip 주소를 연결하고 인스턴스 실행을 종료하면 요금이 청구된다. 인스턴스를 실행 중지 할거면 탄력적 ip 주소를 해제해주어야 한다. 다행히 프리티어 구간에서 Ec2 1대만 사용한다면, 24시간 켜놔도 요금이 청구되지 않는다.

 

 

 

탄력적 ip를 새로 할당해준다.

탄력적 ip 생성

 

생성한 주소를 인스턴스와 연결한다.

 

 

EC2 - 인스턴스로 들어가서 ip가 연결된 걸 확인할 수 있다.

 

탄력적 ip 연결 완료

 

 

 

SSH 연결

SSH 사용해 EC2에 접속해보자.

 

SSH : Secure Shell의 줄임말로 두 컴퓨터간 통신을 할 수 있게 해주는 Protocol

 

모든 데이터가 암호화되어 전송되기 때문에 안전하다.

 

RSA(비대칭 암호화)를 사용해 암호키를 생성한다. 비대칭 암호화(=RSA)는 CPU 리소스를 크게 소모하기 때문에 SSH도 완전한 비대칭 암호화를 사용하지 않는다. TLS와 마찬가지로 암호키를 생성할 때만 비대칭 암호화를 사용한다.

 

 

EC2 - 연결 - SSH 클라이언트로 들어가면 연결 방법이 다 나온다.

 

 

쉘에서 .pem 파일을 저장한 디렉토리로 이동한다.

 

.pem 파일의 권한을 변경해준다. -> 그냥 사용하면 파일 자체에 권한이 너무 많다는 에러가 뜸 -> 권한을 제한해줘야 함

 

400 -> 디렉토리 소유자만 w (읽기) 가능

 

400으로 권한 변경

 

 

터미널에 명령어 복붙해준다.

 

명령어 복붙

 

연결에 성공하면 ubuntu@... 를 확인할 수 있다.

 

연결 성공!

 

SSH를 사용해 아마존 EC2 연결에 성공했다!

 

 

 

 

정리

대표적인 클라우딩 컴퓨터 서비스 AWS를 사용해봤다.

 

프리티어 계정을 생성, EC2 인스턴스 생성, 탄력적 ip 연결, SSH 연결까지 해보았다.

 

AWS 청구서 관련 글을 많이 봐서 그런가, 관련 글을 작성할 때는 더 조심하게 되는 것 같다. 이것 저것 가릴게 많아서 귀찮다...

 

 

 

AWS 사용하기 끛!

 

 

 

 

 

출처

 

아마존 클라우드 서버 호스팅 | Amazon Web Services

Amazon Elastic Compute Cloud(Amazon EC2)는 600개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의 옵션과 함께 워크로드의 요구 사항에 가장 잘 부합할 수 있도록

aws.amazon.com

 

클라우드 컴퓨팅이란 무엇인가요?  |  Google Cloud

클라우드 컴퓨팅에 대해 헷갈리시나요? 퍼블릭 클라우드 컴퓨팅은 확장 가능한 주문형 서비스를 제공합니다. 클라우드 컴퓨팅 유형에 대해 자세히 알아봅니다.

cloud.google.com

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함