본문 바로가기
클라우드(Cloud) 시리즈☁/AWS SAA 자격증💭

AWS SAA 자격증 : 섹션 5: EC2 기초

by @ENFJ 2023. 5. 11.

AWS SAA 자격증 

AWS 예산 설정 

 

 

EC2 기초

아마존 ec2는 아마존에서 가장 인기 있는 서비스입니다. 

ec2 는 Elastic Compute Cloud 의 약자로 Infrastructure as Service (IAAS)

즉, ec2 는 하나의 서비스가 아니다. 높은수준에서 보면 많은 것을 포함하고 있습니다.

가상머신을 ec2에서 임대할 수 있는데 이를 ec2 인스턴스라고 합니다.

데이터를 가상 드라이브 를  EBS 볼륨에 저장할 수 있고

일래스틱 로브 밸런서(ELB)로 로드는 분산 시킬 수 있습니다.

또 오토 스케일링 그룹(ASG)을 통해 서비스를 확장 할 수 있습니다.

 

클라우드는 언제든지 컴퓨팅을 대여할 수 있고, EC2가 바로 그 예시입니다.

AWS에서 임대하는 가상 서버인 EC2에서 어떤것을 선택 할 수 있을까요?

또, ec2 인스턴스의 운영체제로 어떤것을 선택할 수 있을까요?

=> 3가지 옵션이 있습니다.

1. 리눅스 (가장 인기가 많고)

2. 윈도우

3. 맥 os

 

이 가상 머신에 사용할 컴퓨팅 성능과 코어의 양도 선택할 수 있고, [즉, CPU이 개수) 

그리고 랜덤 액세스 메모리 (RAM)의 양도 선택 할 수 있고 

용량도 선택할 수 있습니다. 

 

EC2 인스턴스에 연결할 네트워크의 종류를 선택합니다. 

보안그룹인 방화벽 규칙을 선택합니다.

마지막으로 인스턴스를 구성하기 위한 부트스트랩 스크립트가 있습니다. 

 

 

즉, ec2 사용자 데이터 스크립트를 사용하여 인스턴스를 부트스트래핑할 수 있습니다.

부트 스트래핑이란? 

-> 머신이 작동될때 명령을 시작하는 것을 말합니다.

 

스크립트는 처음 시작할 때 한번만 실행되고 다시 실행되지 않습니다.

따라서 EC2 사용자 데이터에는 매우 특정한 목적이 있는데요 부팅작업을 자동화하기 때문에 부트스트래핑이라는 이름을 갖게 됩니다.

(ex: 업데이트 ,소프트웨어 설치 , 일반적인 파일을 인터넷에서 다운로드하고 ..원하는 것 뭐든지 할 수 있음)

다만 사용자 데이터 스크립트에 작업을 더 추가할 수록 부팅시 인스턴스가 할 일이 늘어납니다.

 

참고로 ec2 사용자 데이터 스크립트는 루트계정에서 실행됩니다.

따라서 모든 명령문은 sudo로 해야합니다.

 

 

33. EC2 인스턴스의 유형

 

m5.2xlarge

 

m: instance class

5: generation (세대)   | 즉, aws 가 하드웨어를 계속 개선해서 새로운 세대의 하드웨어를 출시하고 m5 이후에 m 유형의 인스턴스 클래스를 개선하면 m6가 되는것입니다.

2xlarge: size within the instance class |  2xlarge는 인스턴스 클래스내에서 크기를 나타냅니다.

small 로 시작해 large, 2xlarge ,4xlarge .. 인스턴스의 크기를 나타내며  더 많은 메모리와 CPU를 가지게 됩니다.

 

 

먼저, 범용의 인스턴스는 웹 서버나 코드 저장소와 같은 다양한 작업에 적합합니다.  컴퓨팅, 메모리, 네트워킹 간의 균형에 잘 맞습니다.

 

그러면 고성능 프로세서는 어디에서 사용될까?

1) 일부 데이터의 일괄 처리에 사용되거나

2) 미디어 트랜스코딩 작업시 혹은 고성능 웹 서버가 필요하거나

3) 고성능 컴퓨팅이라는 HPC 작업을 할 때  

4) 머신머닝이나 전용게임 서버가 있을때 사용합니다. 

 

컴퓨터 최적화의 모든 인스턴스는 C 로 시작하는 이름을 가지고 있습니다. (ex: C5, C6 등..)

 

 

메모리 최적화의 인스턴스

- 이 유형의 인스턴스는 메모리에서 대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공합니다. 

메모리는 RAM을 뜻하고 

사용사례를 살펴보면,,

1) 대부분 인 메모리 데이터베이스가 되는 고성능의 관게형 또는 비관계형의 데이터베이스에 사용하고

2) 일래스틱 캐시를 예로 들 수 있는 분산 웹스케일 캐시 저장소에도 사용합니다.

3) 또 비니스 인텔리전스. 즉, BI에 최적화된 인 메모리 데이터베이스와 대규모 비정형 데이터의 실시간 처리를 실행하는 

애플리케이션에도 사용합니다.

 

메모리 최적화 인스턴스의 이름을 살펴보면 RAM을 나타내는 R로 시작합니다.

하지만 X1 이나 대용량 메모리 Z1 도 있습니다. 

 

스토리지 최정화 인스턴스

- 로컬 스토리지에서 대규모의 데이터셋에 액세스할때 적합한 인스턴스입니다. 

스토리지 최적화 인스턴스의 사용 사례로는  고주파 온라인트랜잭션 처리인 OLTP 시스템에 사용되며 

관계형과 비관계형인 NoSQL 데이터베이스에 사용합니다. 

예로 Redis 와 같은 메모리 데이터베이스의 캐시나 데이터 웨어하우스 애플리케이션과 분산파일시스템에 사용됩니다.

AWS의 스토리 최적화 인스턴스는 이름이 I, G 또는 H1 으로 시작합니다.

 

 

34. 보안 그룹 및 클래식 포트 개요

보안 그룹은 AWS 클라우드에서 네트워크 보안을 실행하는데 핵심이 됩니다.

ec2 인스턴스에 들어오고 나가는 트래픽을 제어합니다.

 

보안 그룹은 간단한데요,

1) 허용 규칙만 포함합니다. 출입이 허용된 것이 무엇인지 확인 할 수 있고, 

2) IP주소를 참조해 규칙을 만들 수 있습니다. / 컴퓨터의 위치나 다른 보안 그룹을 참조하는 것입니다. 보안그룹끼리 서로 참조 할 수 도 있습니다.

 

보안 그룹은 EC2 인스턴스의 방화벽이며 

포트(port)로의 액세스를 통제하며 인증된 ip 주소의 범위를 확인해 ipv4인지 ipv6인지 확인한다. 

또, 외부에서 인스턴스로 들어오는 인바운드 네트워크도 통제하며 인스턴스에서 외부로 나가는 아웃바운드 네트워크도 통제합니다. 

보안 그룹 규칙은 type(http,ssh,custom tcp rule) / protocol (tcp, udp) , port range(80,22,4567), souce (0.0.0.0/0) , description 으로 구성되어있어 확인 할 수 있다. 

 

 

 

22 포트 = Linux에서 ec2 인스턴스로 로그인하도록 합니다.

21 포트 = FTP 파일공유 시스템에 파일을 업로드하는데 사용됩니다. 

22  포트= SFTP 도 22번 포트를 사용하는 이유는 ssh를 사용해서 업로드하기 때문이고  보안 파일 전송 프로토콜이 되기 때문입니다.

80번 포트 = HTTP 보안이 되지 않은 사이트에 액세스하기 위한 것입니다.

443 = HTTPS 보안 사이트에 액세스한다. 현재 표준임.

3389 = RDP 원격 데스크톱 프로토콜 / 윈도우 인스턴스에 로그인할때 사용됩니다.

 

따라서 22번 포트는 리눅스 인스턴스용이고, 3389번 포트는 윈도우 인스턴스용 RDP 입니다. 

 

 

43. ec2 인스턴스의 시작

1) 온디맨드 인스턴스

2)예를 들어 예약 인스턴스를 사용할 수 있고, 기간은 1년또는 3년이면, 장기간의 워크로드를 

그래서 오랫동안 데이터베이스를 실행할 계획이라면 예약 인스턴스가 좋습니다. 

그리고 유연한 인스턴스 타입을 원할수도 있습니다. 예를 들어 시간이 지나면 인스턴스 타입을 변경하길 원한다면 전환형 예약 인스턴스가 적절합니다.

3) 다음은 절약 플랜이 있습니다. 기간은 1년또는 3년입니다. 절약 플랜은 특정한 인스턴스 유형을 약정하는게

아니라 달러 단위로 특정한 사용량을 약정하는 것이기 때문에 좀 더 현대적인 방식이죠.

역시 장기 워크로드를 위한 것입니다.

4) 반면에 스폿 인스턴스는 아주 짧은 워크로드를 위한 것입니다. 아주아주 저렴함.

하지만 언제라도 그 인스턴스들이 손실될 수 있어서 신뢰성이 낮습니다.

5) 전용 호스트는 물리적 서버 전체를 예약해서 인스턴스 배치를 제어할 수 있죠,

6)그리고 전용 인스턴스는 다른 고객이 여러분의 하드웨어를 공유하지 않는다는 의미입니다.

7) 용량 예약을 이용하면 원하는 기간동안 특정한 AZ에 용량을 예약할 수 있습니다. 

 

EC2 온디맨드

1) 여러분이 사용한대로 지불하게 됩니다.

즉, 여러분이 Linux나 windows를 사용한다면 1분 이후에 초단위로 청구가 이루어지고요 또는 다른 모든 운영체의 경우에는 1시간 단위로 청구가 이루어집니다. 

2) 비용이  가장 많이 들지만 바로 지불할 금액은 없고, 장기적인 약정도 필요가 없습니다.

3) 그렇기 때문에 단기적이고 중단없는 워크로드가 필요할때 또는 애플리케이션의 거동을 예측할 수 없을때 가장 추천할 만합니다.

 

예약 인스턴스

예약 인스턴스는 온디맨드에 비해 72% 할인을 제공합니다. 그리고 여러분은 특정한 인스턴스 속성을 예약하죠

예를 들어, 인스턴스 타입, 리전, 테넌시, OS 등을 예약하게 됩니다. 예약 기간을 1년이나 3년으로 지정해서 할인을 더 받을 수 있고요, 전부 선 결제 , 부분 선 결제 또는 선결제 없음 중에 선택 할 수 있습니다. 물론 전부 선결제를 하면 최대할인을 받을 수 있죠, 범위를 기준으로 

여러분은 범위를 특정한 리전이나 존으로 할 수 있습니다. 즉, 특정한 AZ에 있는 예약된 용량을 의미합니다.

그럼 사용량이 일정한 애플리케이션에 예약 인스턴스를 사용하는게 좋을 겁니다. 예를 들면 데이터베이스 같은게 있겠죠.

그리고 여러분은 예약 인스턴스를 마켓플레이스에서 살 수 있고, 더이상 필요가 없어지면 팔 수 도 있습니다.

 

EC2 절약 플랜 : 장기간 사용하면 할인을 받을 수 있습니다.

절약플랜을 이용하면 특정한 인스턴스와 패밀리, 리전으로 고정되게 됩니다.

 

 


질문 1:

다음 중, 할인 폭이 가장 크나, 데이터베이스 혹은 중요 업무에는 적합하지 않은 EC2 구매 옵션은 무엇인가요?

  • 전환 가능 예약 인스턴스

  • 전용 호스트

스팟 인스턴스

스팟 인스턴스는 단기적인 워크로드에 적합하며, 가장 저렴한 EC2 구매 옵션입니다. 하지만 EC2 인스턴스를 손실할 우려가 있기 때문에, 신뢰도가 떨어집니다.
질문 2:

EC2 인스턴스 내/외의 트래픽을 제어하기 위해서는 무엇을 사용해야 하나요?

  • 네트워크 액세스 제어 리스트(NACL)

  • 보안 그룹

  • IAM 정책

보안 그룹은 EC2 인스턴스 레벨에서 운용되며, 트래픽을 제어할 수 있습니다.

질문3:

EC2 예약 인스턴스를 예약할 수 있는 기간은 얼마인가요 ?

  • A. 1년 혹은 3년
  • B. 2년 혹은 4년
  • C. 6개월 혹은 1년
  • D. 1년에서 3년 사이의 기간

 

질문 4:

EC2 인스턴스에 고성능 컴퓨팅(HPC) 애플리케이션을 배포하려 합니다. 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?

  • 스토리지 최적화

  • 컴퓨팅 최적화

  • 메모리 최적화

  • 범용

컴퓨팅 최적화 EC2 인스턴스는 고성능 프로세서(예: 배치 처리, 미디어 트랜스코딩, 고성능 컴퓨팅, 과학적 모델링 및 머신 러닝, 전용 게이밍 서버 등)가 필요한 집중 컴퓨팅 워크로드에 적합합니다.
 
질문 5:

1년 간 지속적으로 서버를 운영할 계획인 애플리케이션의 경우에는 다음 중 어떤 EC2 구매 옵션을 사용해야 할까요?

  • 예약 인스턴스

  • 스팟 인스턴스

  • 온디맨드 인스턴스

예약 인스턴스는 장기적인 워크로드에 적합합니다. EC2 인스턴스는 1년, 혹은 3년의 기간으로 예약할 수 있습니다.
질문 6:

일련의 EC2 인스턴스에 호스팅 될 애플리케이션을 실행하려 합니다. 이 애플리케이션에는 소프트웨어 설치가 필요하며, 최초 실행 중에 일부 OS 패키지를 업데이트해야 합니다. EC2 인스턴스를 실행하려는 경우, 이를 위한 최적의 방식은 무엇일까요?

  • SSH를 통해 각 EC2 인스턴스에 연결한 후, 필수 소프트웨어를 설치하고 OS 패키지를 수동으로 업데이트하기

  • 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, AWS 지원 센터에 연락해 스크립트 제공하기 이들은 EC2 인스턴스를 실행할 때 인스턴스에서 실행됩니다

  • 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, 이 스크립트를 EC2 인스턴스 실행 시에 EC2 사용자 데이터에서 사용하기

 

EC2 사용자 데이터는 bash 스크립트를 사용해 EC2 인스턴스를 부트스트랩 할 경우에 사용됩니다. 이 스크립트에는 소프트웨어/패키지 설치, 인터넷에서 파일 다운로드 등, 여러분이 원하는 작업을 수행하기 위한 명령어를 포함시킬 수 있습니다.
질문 7:

인메모리 데이터베이스를 사용하는 중요 애플리케이션을 위해서는 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?

  • 컴퓨팅 최적화

  • 스토리지 최적화

  • 메모리 최적화

  • 범용

메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합합니다.
질문 8:

온프레미스에 호스팅된 OLTP 데이터베이스를 갖춘 전자 상거래 애플리케이션이 있습니다. 이 애플리케이션은 인기가 좋아, 데이터베이스가 초당 수천 개의 요청을 지니게 됩니다. 여러분은 데이터베이스를 EC2 인스턴스로 이전하려 합니다. 이렇게 높은 빈도를 보이는 OLTP 데이터베이스를 처리하기 위해서는 어떤 EC2 인스턴스 유형을 선택해야 할까요?

  • 컴퓨팅 최적화

  • 스토리지 최적화

  • 메모리 최적화

  • 범용

스토리지 최적화 EC2 인스턴스는 로컬 스토리지의 대규모 데이터 세트에 대해 높은 수준의, 그리고 순차적인 읽기/쓰기 액세스 권한이 필요한 워크로드에 적합합니다.
질문 9:

(참/거짓) 보안 그룹은 오직 하나의 EC2 인스턴스에만 연결될 수 있습니다.

  • 맞습니다

  • 아닙니다

 
질문 10:

온프레미스 애플리케이션을 AWS로 이전하려 합니다. 여러분의 기업에는 애플리케이션을 전용 서버에서 실행해야 한다는 엄격한 규정이 있습니다. 또한 비용 절감을 위해 전용 서버 바운드 소프트웨어 라이선스를 사용해야 합니다. 이 경우, 다음 중 어떤 EC2 구매 옵션이 적합할까요?

  • 전환 가능 예약 인스턴스컨버터블 예약 인스턴스

  • 전용 호스트

  • 스팟 인스턴스

전용 호스트는 높은 수준의 규정 준수가 필요한 기업, 혹은 복잡한 라이선스 모델을 가진 소프트웨어에 적합합니다. 이는 가장 비싼 EC2 구매 옵션입니다.
질문 11:

데이터베이스 기술을 EC2 인스턴스에 배포하려 합니다. 공급 업체 라이선스는 물리적 코어 및 기반 네크워크 소켓 가시성를 기반으로 비용을 책정합니다. 이 경우, 어떤 EC2 구매 옵션을 사용해야 가시성을 확보할 수 있을까요?

  •  
  • 스팟 인스턴스

  • 온디맨드

  • 전용 호스트

  • 예약 인스턴스