본문 바로가기
Programming/AWS

[AWS] EC2 고급 기능 1

by 공부합시다홍아 2024. 6. 13.

이전 포스팅에서 EC2 란 무엇이고, EC2 인스턴스를 어떻게 생성하는지 그리고 보안그룹을 어떻게 지정하는지에 대해서 공부를 진행하였습니다. 오늘은 EC2의 고급 기능들에 대해서 조금씩 공부를 하면서 이해를 해보려고 한다.

 

[AWS] EC2

[AWS] IAM 서비스[AWS] AWS란?개발을 교육받으면서 몇 가지 의문점이 들 수 있었다. 개발만 하는 개발자? 개발과 동시에 서비스를 제공하는 개발, 서비스를 제공하며 커스터마징까지 가능한 개발자

hong-study.tistory.com

 

[AWS] EC2로 서버 연결하기

[AWS] EC2[AWS] IAM 서비스[AWS] AWS란?개발을 교육받으면서 몇 가지 의문점이 들 수 있었다. 개발만 하는 개발자? 개발과 동시에 서비스를 제공하는 개발, 서비스를 제공하며 커스터마징까지 가능한 개

hong-study.tistory.com


EC2 배치 그룹

여러 인스턴스가 배치될 때, 아래와 같은 방식을 제어하는 방식이다.
배치 그룹을 사용할 때는 3가지 전략을 사용할 수 있다.

1. 클러스터 배치그룹

같은 가용 영역에 존재한다.
장점 : 같은 영역에 있기 때문에 빠른 네트워크 통신이 가능
단점 : 가용 영역에서 실패가 발생할 때 모든 인스턴스로 실패가 전팔된다. ( 짧은 지연 속도 )

2. 분산 배치그룹

클러스터 배치그룹의 반대의 의미로, 인스턴스들이 다른 하드웨어에 분산되어 배치되는 것이다.
장점 : 동시 실패 위험이 감소한다.
단점 : 가용 영역별 7개 까지 배치될 수 있다. ( 규모의 제한 )

3. 분할 배치그룹 ( 파티션 )

파티션이라는 단어는 자주 눈에 들어오던 것이다. 이전에 엔지니어로 근무하면서, 메모리를 강제로 분리시켜줄 일이 많았다. 그럴 때마다 디스크 관리 영역에서 하드디스크의 파티션을 분리해주었는데, 이도 거의 맥락은 비슷하다고 느꼈다.

분산 배치 그룹과 비슷한 방식이지만, 각 가용 영역에 파티션을 지정하고 배치하는 방식이다.
1. 동일 리전에 여러 가용 영역이 있다.
2. 같은 영역이지만 파티션을 나눌 수 있다.

이 말을 위의 경험을 기반으로 간단한 예로 들면, 1TB 하디디스크 1개가 서버에 설치되어 있다고 가정하자. 하지만, 서버에는 하나의 솔루션만 동작할 때도 있지만, 여러 솔루션을 설치해 분산 저장시켜야 하는 경우도 잦게 있다.
이럴 때, 하드디스크 물리장치는 1대이지만, 논리적으로 분리하여 512GB 두 개인 것처럼 파티션을 분리해서 솔루션 각 각을 저장할 수 있다.  

장점
각 하드웨어별로 물리적인 랙(장비)를 공유하지 않기 때문에 장애로 부터 격리된다.
파티션1이 다운되어도 파티션2의 동작여부에는 이상이 없다.
Apache, Kafka, Hadoop과 같은 빅데이터 처리 애플리케이션들에 사용하기 좋다.

배치 그룹 지정하기 시나리오

1. EC2 > 배치 그룹 > 배치 그룹 생성으로 접속
2. 클러스터 배치 그룹을 생성
3. 분산 배치그룹을 생성 ( 랙 없음 )
4. 파티션 배치그룹을 생성 ( 파티션 개수는 알맞게 생성한다. 예 4개 정도 )
5. 인스턴스 생성시 배치그룹을 선택하여 인스턴스 배치 방법을 지정할 수 있다.


EC2 Hibernate(절전 모드)

근래, 웹 개발자 그리고 Spring Framework를 이용하는 개발자라면 Hibernate라는 단어만 보고, 어?? ORM인가?? 하는 생각도 들 수 있지만, 조금의 차이가 있다. EC2에서 이야기하는 것은 절전 모드로 두어 빠르게 부팅하고, 상태를 유지하고 싶을 때 사용한다 정도로 이해하면 된다.

인스턴스를 절전 모드 상태로 둘 수 있다.
인스턴스 종료 시 인스턴스의 메모리 내용을 EBS 볼륨에 덤프한다. ( 도커의 볼륨과 비슷한 방식 )
EC2를 다시 실행하면 덤프한 내용을 EBS 볼륨에서 EC2인스턴스 메모리로 가져가는 방식이다.
덤프 내용을 그대로 복구하기 때문에, 중지한 적이 없는 효과를 나타 낼 수 있다.

조건

EBS 볼륨의 용량이 충분해야 하고, 암호화 설정이 들어가 있어야 한다. ( 생성 시 )

사용 사례

빠르게 부팅하거나, 인스턴스의 상태 정보를 유지하고 싶을 때 사용한다.

사용 방법

인스턴스 생성 시, 고급 세부 정보 > 최대 절전 중지 방식란에서 활성화 할 수 있다.


EBS 볼륨 ( 저장장치 + 볼륨 암호화 )

EBS 볼륨은 쉽게 설명하면, 컴퓨터의 하드디스크 장치라고 생각할 수 있다. 더 간단히 말하면 "외장 하드"이다.
단, 물리적으로 연결되는 것은 아니고 네트워크를 통해 EC2에 부착되는 형태이다.
하나의 EBS 볼륨은 하나의 EC2와 연결될 수 있고, 복수의 EC2와의 연결은 힘들다.
EBS 볼륨은 다른 가용 영역의 EC2와 연결될 수 없다.

볼륨 추가 시나리오

1. Elastic Block Store > 볼륨 탭 접속
2. 볼륨 생성 ( 범용 SSD G2 or G3 )
3. 가용 영역은 반드시 EC2와 동일한 위치로 생성
4. 연결되는 EBS 볼륨을 확인

생성이 되면 볼륨 Attach에서 EC2에 부착할 수가 있다.
추가적으로 생성된 EBS 볼륨은 인스턴스 삭제 시에도 기본적으로 남아 있을 수 있다.

EC2에서 연결된 EBS 볼륨을 사용할 수 있도록 Mount(폴더에 연결)하기

아래 주소를 통해 접속을 하면 AWS에서도 어떻게 사용을 하면되는지 상세하게 설명이 나와 있다.

 

Amazon EBS 볼륨을 사용할 수 있도록 만들기 - Amazon EBS

Windows Server 2008에서는 시작(Start), 관리 도구(Administrative Tools), 컴퓨터 관리(Computer Management), 디스크 관리(Disk Management)를 선택합니다.

docs.aws.amazon.com

연결된 볼륨 포멧 및 탑재 부분을 실행한다.

# 연결된 EBS볼륨 보기
$ lsblk

# 데이터를 읽고 쓸 수 있도록 마운트하기
$ 공식문서 확인

sudo mkfs -t xfs /dev/xvdf

sudo mkdir /data

sudo mount /dev/xvdf /data

EC2와 연결된 EBS 볼륨의 모습

AWS 콘솔에서 볼륨을 분리해주면, EC2에서 사라진 것을 확인할 수 있다.

볼륨 암호화

EBS 볼륨이 인스턴스와 통신할 때 주고 받는 데이터를 암호화해주는 기능이다.
EBS 볼륨을 암호화 했을 때, 백그라운드에서 자동으로 복호화해서 사용한다.
볼륨을 암호화한다고 해서, 성능이 느려지는 것은 아니다.

  • 볼륨 생성시 아래와 같은 방법으로 볼륨을 암호화 할 수 있다.
  • 비 암호화 스냅샷으로 남겨진 경우, 암호화 하여 볼륨을 생성 할 수 도 있다.

어려울 꺼라고 생각할 수도 있는데, AWS 콘솔에서 마우스만 몇 번 클릭하면 알아서 암호화를 진행시켜주는 기술력이 진짜 감탄만 나온다....언제쯤 나도...


EBS 스냅샷 ( 백업)

EBS 스냅샷은 특정 시점에 대한 볼륨의 백업을 일컫는다. 스냅샷을 이용하면 다른 가용 영역에 EBS 볼륨을 복원하는 게 가능한 장점이 있다. 쉽게 말하면 서로 다른 AZ 간의 이전이 가능하다는 점이다.

EBS 스냅샷의 다양한 기능

1. EBS 스냅샷 아카이브 - 아카이브 파일로 EBS 볼륨을 백업할 수 있다. ( 24-72시간 정보 소요)
2. 휴지통(리사이클 스냅샷) - EBS 볼륨을 영구히 삭제하는 것이 아니라, 휴지통에 보관하고 필요한 경우 복원한다.
3. 빠른 스냅샷 복원(FSR) - 규모가 큰 EBS 볼륨을 빠르게 초기화 할 때 사용할 수 있다.

스냅샷 남기기 시나리오

1. Elastic Block Store > 볼륨 접속
2. 남기고 싶은 볼륨 선택
3. 작업에서 스냅샷 남기기 클릭
4. Elastic Block Store > 스냅샷 탭 접속
5. 이 스냅샷을 다른 가용 영역으로 복사 할 수 있다.
6. 우 클릭하여 스냅샷으로 부터 볼륨 생성을 클릭하고, 다른 지역으로 생성한다.
7. 볼륨 탭에서 이동했는지 안됬는지에 대해 확인한다.

휴지통 만들기 시나리오

1. 스냅샷 우상단의 휴지통을 클릭한다.
2. 리사이클 보존 규칙을 생성한다 ( DemoRecycle )
3. 모든 리소스에 적용을 클릭한다.

4. 이제 스냅샷을 삭제한다.
5. 휴지통 > 리소스 탭에서 삭제한 볼륨에 대해 확인하고, 설정 기간동안 얼마든지 복구가 가능하다.


 

728x90

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

[AWS] EC2로 서버 연결하기  (0) 2024.06.13
[AWS] EC2  (0) 2024.06.13
[AWS] IAM 서비스  (0) 2024.06.11
[AWS] AWS란?  (0) 2024.06.11