본문 바로가기
AWS

Introduction to Amazon EC2 (Korean) 실습 및 느낀점

by 공일공공 2024. 5. 22.

실습 개요

Amazon Elastic Compute Cloud(Amazon EC2) : 클라우드에서 크기 조정 가능한 컴퓨팅 용량을 제공하는 웹 서비스.

  • 개발자가 보다 쉽게 웹 규모의 클라우드 컴퓨팅을 수행할 수 있도록 설계되었습니다.
  • Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있습니다. 사용자는 컴퓨팅 리소스를 완전히 제어하고 Amazon의 검증된 컴퓨팅 환경에서 실행할 수 있습니다.
  • Amazon EC2는 새로운 서버 인스턴스를 확보하고 시작하는 데 필요한 시간 줄일 수 있고, 컴퓨팅 요구 사항의 변경에 따라 신속하게 용량을 확장 및 축소할 수 있습니다.
  • 실제 사용한 용량에 대해서만 요금을 지불하면 되므로 컴퓨팅 비용이 절약됩니다. Amazon EC2는 개발자에게 장애 발생 시 복원력이 뛰어난 애플리케이션을 구축하고 장애가 있을 때 애플리케이션을 격리할 수 있는 도구를 제공합니다.

목표

  • 종료 방지 기능이 활성화된 웹 서버를 시작합니다.
  • EC2 인스턴스를 모니터링합니다.
  • 웹 서버가 HTTP 액세스를 허용할 때 사용하는 보안 그룹을 수정합니다.
  • 규모에 맞게 Amazon EC2 인스턴스의 크기를 조정합니다.
  • 종료 방지 기능을 테스트합니다.
  • EC2 인스턴스를 종료합니다.

1. Amazon EC2 인스턴스 시작

1.AWS 관리 콘솔에서 AWS 검색 창을 사용하여 EC2 선택

 

2. 인스턴스 시작

 

3. 이름 및 태그 섹션의 이름 상자에 'Web Server'를 입력

 

4 애플리케이션 및 OS 이미지 (AMI) 에서 Amazon Linux 2 AMI를 선택

Amazon Machine Image(AMI) 는 클라우드의 가상 서버인 인스턴스를 시작하는 데 필요한 정보를 제공합니다.

  • 인스턴스 루트 볼륨에 대한 템플릿(예: 운영 체제 또는 애플리케이션이 있는 애플리케이션 서버)
  • 인스턴스를 시작하기 위해 AMI를 사용할 수 있는 AWS 계정을 제어하는 시작 권한
  • 시작 시 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑

5.인스턴스 유형 섹션에서 인스턴스 유형 드롭다운 메뉴를 선택하고 t3.micro를 선택

  • Amazon EC2는 각 사용 사례에 맞게 최적화된 다양한 인스턴스 유형을 제공
  • t3.micro : 가상 CPU 2개, 1GiB 메모리   

 

6. 키 페어(로그인)섹션에서 키 페어 이름 드롭다운 메뉴를 찾은 후 Proceed without a key pair (Not recommended) 를 선택

 

7. 네트워크 섹션에서 Edit 버튼을 선택합니다. 다음 항목을 선택합니다.

  • VPC: 이름에 Lab VPC가 포함된 VPC를 선택합니다.
  • Subnet: 이름에 Public Subnet 1이 포함된 서브넷을 선택

 

네트워크는 인스턴스를 시작할 Virtual Private Cloud(VPC)를 나타냅니다.

개발, 테스트 및 프로덕션 등 다양한 용도의 다중 네트워크를 사용합니다.

 

 

8.Firewall (security groups) 섹션에서  Create security group을 선택합니다.

  • Security group name = Web Server security group
  • Description = Security group for my web server

  • 보안 그룹은 하나 이상의 인스턴스에 대한 트래픽을 제어하는 가상 방화벽 역할을 합니다.
  • 인스턴스를 시작할 때 하나 이상의 보안 그룹을 인스턴스와 연결합니다.
  • 연결된 인스턴스와 트래픽을 주고받을 수 있게 하는 규칙을 각 보안 그룹에 추가합니다.
  • 언제든지 보안 그룹에 대한 규칙을 수정할 수 있습니다.
  • 새 규칙은 보안 그룹과 연결된 모든 인스턴스에 자동으로 적용됩니다.

 

이 실습에서는 SSH를 사용하여 인스턴스에 로그인할 수 없습니다. SSH 액세스를 제거하면 인스턴스의 보안이 향상됩니다.

 

9. Remove 버튼을 선택하여 기존 SSH 규칙을 제거합니다. 이제 보안 그룹 규칙이 없어야 합니다.

 

Amazon EC2는 Elastic Block Store라고 하는 네트워크 연결 가상 디스크에 데이터를 저장합니다.

이 실습에서는 기본 8GiB 디스크 볼륨을 사용하여 Amazon EC2 인스턴스를 시작합니다. 이것이 루트 볼륨(‘부트’ 볼륨이라고도 함)이 됩니다.

 

10. Advanced Details 섹션을 확장합니다. 아래쪽의 Termination protection 드롭다운 메뉴로 스크롤한 다음 Enable로 설정

 

 

11. User data 필드가 표시될 때까지 맨 아래로 스크롤

 

인스턴스를 시작할 때 인스턴스에 사용자 데이터를 전달하여 일반적인 구성 태스크를 자동으로 수행하는 데 사용할 수 있고,

인스턴스가 시작된 후에 스크립트를 실행하는 데 사용할 수도 있습니다.

이 인스턴스는 Amazon Linux를 실행하므로 인스턴스를 시작할 때 실행되는 셸 스크립트를 제공

 

 

12. 다음 텍스트를 복사하여 User data 필드에 붙여넣습니다.

#!/bin/bash
yum -y install httpd
systemctl enable httpd
systemctl start httpd
echo '<html><h1>Hello From Your Web Server!</h1></html>' > /var/www/html/index.html

 

이 스크립트는 다음 작업을 수행합니다.

  • Apache 웹 서버 설치(httpd)
  • 부팅 시 웹 서버를 자동으로 시작하도록 구성
  • 웹 서버 활성화
  • 간단한 웹 페이지 생성

 

13.오른쪽 탭에 인스턴스 시작 선택

 

왼쪽 창의 축소 가능한 메뉴에서 Instances를 선택

새로 생성된 Web Server를 체크합니다. 체크 했을 때 Details 탭에 인스턴스의 세부 정보 표시됩니다.

 


과제 2: 인스턴스 모니터링

상태 체크 탭을 선택, 시스템 도달 가능성 및 인스턴스 도달 가능성 검사 확인

 

모니터링 탭을 선택

인스턴스가 최근에 시작되었으므로 현재 표시할 지표가 많지 않습니다.

그래프를 선택하여 확장된 보기를 표시

 


콘솔의 오른쪽 상단에 있는 작업  메뉴를 선택하고 모니터링 및 문제 해결 를 선택한 후에 시스템 로그 가져오기를 선택

 

시스템 로그에는 문제 진단에 유용한 도구인 인스턴스의 콘솔 출력이 표시됩니다. 인스턴스가 종료되거나 SSH daemon을 시작하기 전에 연결할 수 없게 되는 서비스 구성 문제와 커널 문제를 해결하는 데 특히 유용

인스턴스 생성 시 추가한 사용자 데이터에서 httpd 패키지가 설치되었음을 확인

 


Web Server를 선택한 다음 작업 메뉴를 선택하고 모니터링 및 문제 해결  인스턴스 스크린샷 가져오기를 차례로 선택

모니터 화면을 해당 Amazon EC2 인스턴스 콘솔에 연결할 경우 어떤 모습일지를 볼 수 있습니다.

 

 


과제 3: 보안 그룹 업데이트 및 웹 서버 액세스

EC2 인스턴스를 시작할 때 웹 서버를 설치하고 간단한 웹 페이지를 생성한 스크립트를 제공했습니다. 이 과제에서는 해당 웹 서버의 콘텐츠에 액세스하겠습니다.

 

Web Server를 선택한 다음 세부정보 탭을 선택

인스턴스의 퍼블릭 IPv4 주소를 클립보드에 복사

 

포트 80에서 웹 트래픽을 허용하도록 보안 그룹을 업데이트 후 주소 탭에서  http://  입력하고 방금 복사한 IP 주소를 붙여 이동합니다.

 

웹 사이트 접속했을 때 아래와 같은 문구를 확인할 수 있습니다.


과제 4: 인스턴스 크기 조정: 인스턴스 유형 및 EBS 볼륨

  • 요구 사항이 변경됨에 따라 인스턴스가 과도하게 사용되거나(인스턴스가 너무 작음) 사용률이 낮아질 수 있습니다.(인스턴스가 너무 큼).
  • 이런 경우 인스턴스 유형을 변경할 수 있습니다.
  •  디스크 크기도 변경 가능합니다.

인스턴스 중지

  • 인스턴스 크기를 조정하려면 먼저 인스턴스를 중지해야 합니다. 중지하는 인스턴스는 종료됩니다.
  • 중지된 EC2 인스턴스에는 요금이 부과되지 않지만 연결된 Amazon EBS 볼륨에 대한 스토리지 요금은 그대로 청구됩니다.
  1. EC2 Management Console의 왼쪽 탐색 창에서 인스턴스를 선택합니다.
  2. 인스턴스 상태 를 선택한 다음 인스턴스 종료를 선택합니다.
  3. Stop을 선택합니다.

이때 종료와 중지를 착각해서 과제1 에서 설정해주었던  종료 방지를 인스턴스 설정에서 비활성화하여 종료하였는데,  AWS에서 인스턴스 종료는 인스턴스 삭제와 같아서 처음부터 다시 인스턴스를 생성했습니다..

 


인스턴스 유형 변경

  1. Web Server를 선택.
  2. 작업메뉴를 선택하고 인스턴스 설정 , 인스턴스 유형 변경을 차례로 선택한 후에 다음을 구성합니다.

  • 인스턴스 유형을 t3.micro에서 t3.small로 수정 후 적용

EBS 볼륨 크기 조정

  1. 왼쪽 탐색 창의  Elastic Block Store 섹션에서 볼륨를 선택합니다.
  2. 작업  메뉴에서 볼륨 수정을 선택합니다.

현재 디스크 볼륨의 크기는 8GiB입니다. 이제 이 디스크의 크기를 늘리겠습니다.

  1. 볼륨 크기를 10GiB로 수정합니다.


크기가 조정된 인스턴스 시작

이제 인스턴스를 다시 시작하면 더 많은 메모리와 디스크 공간이 생깁니다.

  1. 인스턴스 탭으로 이동후 Web Server를 선택합니다.
  2. 인스턴스 상태를 선택한 다음 인스턴스 시작

과제 5: 종료 방지 테스트

더 이상 필요하지 않은 인스턴스는 삭제할 수 있습니다. 이를 인스턴스 종료라고 합니다.

  • ★ 인스턴스가 종료된 후에는 인스턴스에 다시 연결하거나 인스턴스를 재시작할 수 없습니다.

 

이 과제에서는 종료 방지 기능을 사용하는 방법을 배웁니다.

  1. 왼쪽 탭에서 인스턴스를 선택후 Web Server 선택.
  2. 인스턴스 상태 를 선택한 다음 인스턴스 종료를 선택합니다.
  3. 종료를 선택합니다.

 

 

그러면 페이지 상단에 다음과 같은 오류 메시지가 표시됩니다.

 

위의 오류는 예상된 것으로, 인스턴스가 의도치 않게 종료되는 것을 방지하는 보호 장치입니다. 인스턴스를 종료하려면 종료 방지 기능을 비활성화해야 합니다.

  1. 작업를 선택하고 인스턴스 설정, 종료 방지 기능 변경을 차례로 선택.
  2.  종료 방지를 비활성화.
  3. 저장.

이제 인스턴스를 종료할 수 있습니다.

  1. 인스턴스 콘솔 화면을 새로 고친 뒤 Web Server를 선택.
  2. 인스턴스 상태를 선택한 다음 인스턴스 종료를 선택합니다.

이제  인스턴스가 종료된 후에는 인스턴스에 다시 연결하거나 인스턴스를 재시작할 수 없습니다.

 


느낀점

  • 팁 및 도움말 패널을 통해 쉽게 따라갈 수 있어서 좋았습니다.
  • 단계별로 자세히 실습 과정이 설명되어 있어 천천히 진행하면 AWS 입문자도 편하게 따라갈 수 있어서 이 점이 마음에 들었습니다.
  • 다만 완전히 변역되어 있는 것이 아니라 몇몇 탭들은 영어로 되어있어 실습을 진행하는데 시간이 조금 더 걸렸습니다.
  • EC2의 기본 개념만 알고 있었지만 이번 실습을 통해 어떻게 EC2 인스턴스를 시작하고, 인스턴스 모니터링, 컴퓨팅 용량 크기 조정 , 인스턴스 크기 조정 등 전반적인 기능들을 직접 체험하여 개념으로 들었을 때 보다 더욱 기억에 남았습니다.

'AWS' 카테고리의 다른 글

AWS Educate Compute 랩 : Amazon EC2  (1) 2024.05.29
AWS - 01 AWS 웹 서비스 정리  (0) 2024.05.01