본문 바로가기
DevOps/Cloud

[AWS] EC2 인스턴스 생성

by 태옹 2021. 4. 14.

항상 블로그는 내 공부 기록용이었는데 '클라우드서비스관리' 과목에서 블로깅하는 것이 과제가 되어서 비자발적 목적으로 포스팅을 하려고 한다..ㅎㅎ 그래서 다른 글들과는 말투가 다를 수 있다!

 

목차

1. AWS Educate 입장하기

2. EC2 이해하기

3. EC2 인스턴스 생성하기


AWS Educate 입장하기

 

aws.amazon.com/ko/education/awseducate/?nc2=h_ql_exm_edu

 

AWS Educate

클라우드 진로 클라우드 진로 클라우드 진로를 통해 업계 선두의 클라우드 커리어에 요구되는 최고의 클라우드 기술에 대해 알아보세요. 기계 학습 과학자에서 애플리케이션 개발자에 이르기

aws.amazon.com

일반적으로는 AWS를 사용하는 경우가 많을 것이다. 그러나 수업에서 진행하는 실습이기 때문에 글에서는 AWS Educate로 진행하기로 한다. 둘 다 진행하는 것에는 문제가 없으나 차이점에 대해서는 아래 내용을 참고하도록 한다.

 

AWS와 AWS Educate의 차이

  • AWS는 과금 서비스이지만 , Educate는 교육용으로 크레딧을 제공받을 수 있다.
  • AWS는 국가별로 위치한 리전 중 가장 가까이 위치한 곳에 AWS계정이 자동 연결된다.
    • 한국에는 서울 리전이 있으니 AWS로 진행하게 되면 서울 리전과 연결되는 것이다.
  • AWS Educate는 미국 버지니아 리전만 가능해서 기존 AWS보다 서비스가 느릴 수 있다.
    • 그렇기 때문에 Educate버전에서는 우측 상단에 '버지니아 북부'로 설정되어 있는 것을 '아시아 태평양(서울)'로 변경하지 않도록 주의한다.

 

 

AWS Education 메인화면

 

AWS Educate에 가입한 상태라면, AWS Educate에 로그인을 하여 접속한다.

로그인을 하면 아래의 이미지처럼 My Classrooms에 접속할 수 있게 되는데 해당 기능은 교사, 교수 등의 교육자들이 생성한 그룹에 학생들을 초대해주어야 입장이 가능하다. 

 

클래스룸에 입장한 후 vocareum이라는 서드파트에서 AWS Console로 들어갈 수 있다.

이때 AWS를 로그아웃한 상태여야 입장할 수 있다. AWS에 로그인한 상태라면 로그아웃한 뒤 vocareum에서 새로고침해준다.

 

 

사실 Educate로 접근하는 내용은 굳이 포스팅 안해도 될 것 같기는 한데, 내가 매번 AWS랑 AWS Educate에 로그인하는 것을 헷갈려서 그냥 같이 포스팅했다. 내가 보고 따라하려고....😎

 

 


 

EC2 이해하기

이번 실습의 내용은 AWS에서 제공하는 EC2서비스로 인스턴스를 생성하는 것이다.

 

먼저 EC2에 대해 설명하자면, Elastic Compute Cloud의 약어로 AWS의 중앙부를 이룬다.

EC2는 사용자가 가상의 컴퓨터를 빌려서 그 위에 컴퓨터 애플리케이션들을 실행할 수 있게 한다. 사용자가 AMI로 부팅하여 인스턴스(가상머신)를 구성할 수 있게하는 웹 서비스를 제공해주며,(AMI에 대한 내용은 아래에서 설명) 이 가상머신에는 사용자가 원하는 소프트웨어를 포함하여 구성할 수 있어서 스케일링이 가능한 애플리케이션 배치가 가능하다. 

EC2로 사용자가 서버 인스턴스를 생성-시작(실행)-종료할 수 있으며 실행 중인 서버에 대해 금액을 지불하는 Elastic적인 방식으로 서비스가 제공된다.

 

 

EC2개념

  • 가상 서버 기능을 제공하는 클라우드 서비스
  • AWS의 물리적 서버를 가상화 기술을 이용하여 사용자들이 공동으로 사용할 수 있도록 함
  • 컴퓨팅 파워의 크기를 조정 가능
  • 물리적인 서버 없이 클라우드를 통해 필요한 만큼의 리소스를 요청하여 사용 가능
  • 온프레미스 환경에서 Windows서버와 LINUX서버와 동일한 서비스

 

EC2 기능

  • 인스턴스 : 가상 컴퓨팅 환경
  • Amazon Machine Image(AMI) : 서버에 필요한 운영체제와 다양한 소프트웨어로 구성된 탬플릿
  • Amazon Elastic Block Store(EBS) : 가상 디스크(하드 디스크에 해당)
  • 인스턴스 스토어 볼륨 : 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 종료 시 삭제됨

 

EC2 인스턴스 개념

  • 인스턴스 유형 : CPU, 메모리, 스토리지 및 네트워킹
  • 용량의 다양한 조합으로 구성된 여러가지 인스턴스 유형을 제공

 

 

 

내가 헷갈려서 다시 한번 확인하는 용어 정리 - AMI, EBS

AMI

서버에 필요한 운영체제와 다양한 소프트웨어 등 인스턴스 생성에 필요한 정보들을 제공해주기 때문에 인스턴스를 시작할 때 필수적으로 AMI를 지정해야한다.  

 

 

▼ AMI란

docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html

 

Amazon Machine Images (AMI) - Amazon Elastic Compute Cloud

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

 

EBS

EC2에서 사용하도록 설계된 사용하기 쉬운 고성능 블록 스토리지 서비스이다. 

그렇다면 위에서 언급된 인스턴스 스토어 볼륨과의 차이가 무엇인지 궁금증이 생길 수 있는데, 둘의 차이는 '인스턴스 중지 및 종료 시'에 있다.

EBS는 데이터를 장기적으로 유지하거나 암호화하려는 경우에 사용하며, EBS볼륨은 인스턴스 중지 및 종료 시에도 데이터를 보존해준다. 그러나 인스턴스 스토어 볼륨은 인스턴스 중지 및 종료 시 하드웨어 장애에 대한 영구성을 제공하지 않기 때문에 버퍼나 캐시같이 임시적으로 사용하는 정보들의 스토리지로 적절하다.

 

 

EBS란?

aws.amazon.com/ko/ebs/?trkCampaign=acq_paid_search_brand&sc_channel=ps&sc_campaign=acquisition_KR&sc_publisher=Google&sc_category=Storage&sc_country=KR&sc_geo=APAC&sc_outcome=acq&sc_detail=aws%20block%20storage&sc_content=

 

블록 스토리지 | Elastic Block Store | Amazon Web Services

고객은 고성능 블록 저장소를 전달하기 위해 역사적으로 온프레미스 Storage Area Network 또는 SAN에 의존해 왔습니다. 하지만 SAN은 종종 비싸고, 활용에 상관 없이 선불 CAPEX를 지불하도록 강요하며,

aws.amazon.com

 EBS와 인스턴스 스토어의 차이

aws.amazon.com/ko/premiumsupport/knowledge-center/instance-store-vs-ebs/

 

인스턴스 스토어 및 EBS에 대한 이해

내 Amazon EC2 인스턴스와 관련된 데이터를 인스턴스 스토어에 저장할지 연결된 Amazon Elastic Block Store(Amazon EBS) 볼륨에 저장할지 잘 모르겠습니다. 어느 옵션이 가장 적합합니까? 일부 Amazon Elastic Comp

aws.amazon.com

 

Amazon EC2 인스턴스의 기본 구성 요소

 

 

 

 

EC2 인스턴스의 수명주기

 

실행중(Running)

  • 인스턴스 동작 중 상태
  • 과금 발생
  • 정지 / 종료 / 리봇 명령으로 상태 전이 가능

정지됨(Stopped)

  • 중지된 상태
  • EBS 볼륨을 루트로 사용하는 인스턴스만 가능
  • 과금 안됨
  • 시작 / 종료 명령으로 상태 전이 가능

종료됨(Terminated)

  • 인스턴스가 완전히 제거된 상태
  • 시작이나 정지 불가능
  • 과금 안 됨

 


 

EC2 인스턴스 생성하기

 

본격적으로 EC2 인스턴스를 생성해보도록 한다.

 

콘솔 창에 접속하여 EC2 페이지를 들어가면 '인스턴스'탭을 눌러 아래의 화면을 확인할 수 있다.

미리 실습을 진행하고 포스팅을 하는 것이기 때문에 이미지에는 인스턴스가 있지만 처음 생성하는 경우라면 인스턴스가 존재하지 않는 상태의 화면을 볼 수 있을 것이다. '인스턴스 시작'을 눌러 진행한다.

주의할 점) '검토 및 시작'을 누르게 되면 아래의 단계들을 생략하고 바로 인스턴스를 생성할 수 있다. 그러나 실습 상에서 디폴트값이 아닌 설정부분이 있기 때문에 해당 버튼은 누르지 않도록 주의한다.

 

 

 

(단계 1) AMI 선택

실습에서는 우분투로 진행할 것이기 때문에 우분투 서버를 프리티어로 제공하는 AMI를 선택하였다.

IT분야 사람들은 너무 최신 버전을 좋아하지 않기 때문에... 안정화되어있는 18.04버전을 선택한다.

여기서 LTS란, Long Term Supportf로 장기간 지원한다는 의미이다.

 

 

 

 

(단계 2) 인스턴스 유형 선택

다음으로는 인스턴스 유형을 선택할 수 있는 페이지가 뜨는데, 2단계는 인스턴스의 CPU, 메모리, 스토리지, 네트워킹 용량의 여러 가지 구성을 필요한만큼 선택하는 단계이다. t2.micro프리티어 버전으로 선택하고 3~6단계 설정은 기본값을 따른다.

 

 

 

(단계 3) 인스턴스 세부 정보 구성

 

 

얼마나 많은 컴퓨팅을 할 것인지에 따라 인스턴스 개수를 지정할 수 있다. 그러나 인스턴스 개수를 늘릴 때마다 과금이 발생하니 주의해야한다. 실습에서는 디폴트값으로 진행한다.

 

구매옵션에 '스팟 인스턴스 요청'이라는 부분을 확인할 수 있다.

여기서 스팟 인스턴스란, 클라우드 환경에서 오랫동안 사용하지 않거나 남는 공간(가용영역)을 인스턴스로 제공하는 것이다. 남는 공간을 서비스로 제공받는 것이다보니 원래 가격보다 저렴한 가격으로 제공하지만 굳이 추가적인 영역 사용이 필요하지 않다면 오히려 손해일 수 있으니 잘 확인하여 필요에 따라 요청하도록 한다.

 

 

(단계 4) 스토리지 추가

스토리지 추가' 페이지에서 '종료 시 삭제'에 체크가 되어있는 것을 볼 수 있다. EC2와 EBS는 독립적이기 때문에 종료 시 삭제를 해주지 않으면 인스턴스를 중지해도 EBS는 존재하기 때문에 EBS에서는 과금될 수 있음을 의미한다. 그러므로 종료 시 삭제를 체크한 상태로 진행한다.

 

 

 

(단계 5) 태그 추가

어떤 인스턴스를 만들고 어떤 용도로 누가 관리하는지를 태그로 기록해놓는 단계이다. name과 manager라는 태그를 임의로 설정해주었다. 

 

 

 

(단계 6) 보안 그룹 구성

권한 관련된 설정을 하는 단계이다. 네트워크를 통해 누가 인스턴스에 접속 가능한지, 어떤 접속방식을 허용할지 등의 보안 설정이 가능하다. '보안 그룹 할당' 기능으로 [새 보안 그룹 생성]을 지정하면 추후 새로 만들어지는 서버들에도 동시에 적용할 수 있다. '소스'의 [내 IP]를 선택하면 해당 IP만 허용하며, [위치무관]은 누구나 접속이 가능하다. 

실습에서는 리눅스계열의 원격 제어 방식인 SSH(소스: 내 IP)와, 웹 브라우저로 접속하는 경우인 HTTP(소스: 위치무관)를 규칙으로 설정해주었다.

 

 

 

 

(단계 7) 인스턴스 시작 검토

앞서 설정해주었던 내용들을 리뷰할 수 있는 단계이다. 시작하기를 누르면 아래의 이미지가 나온다.

 

새로운 키 페어를 생성하고 '키 페어 다운로드' 버튼을 누르면 해당 인스턴스에 안전하게 연결할 수 있는 키 페어가 다운로드된다. 키 페어란, 퍼블릭 키 + 프라이빗 키(.pem)로 구성된다.

 

여기서도 주의해야할 점은 이 키페어(.pem파일)은 절대절대 잃어버려선 안된다! 

뿐만아니라 프라이빗 키를 소유한 사람은 누구나 인스턴스에 연결할 수 있으므로 보안된 위치에 프라이빗 키를 저장하도록 한다.

 

다음과 같은 과정을 거치면 인스턴스가 생성된다.

생성이 끝난 직후의 인스턴스 상태를 확인하면 '실행 중' 상태가 아닐 것이다. 이것은 pending이라고 하며 '시작 전 대기'상태이다. pending이 끝나면 running단계로 넘어가며 신청한 가상환경을 가동할 수 있다.

 

댓글