오늘은 EBS, 람다와 EFS에 대해 배웠다
잊지 않기 위해 복습 또 복습…
EBS(Elastic Block Storage)
- AWS 블록 스토리지 서비스로 EC2 인스턴스에 사용되는 지속적인 스토리지
- DB, 파일 시스템, 로그 스토리지, 애플리케이션 데이터 등 사용
- 데이터를 블록 단위로 저장하며 개별적으로 다루어 질 수 있다.
- 지속성이 보장되며 중지 또는 종료해도 데이터 유지
- 주로 자주 접근하지 않는 데이터를 저렴하게 저장할 때 사용한다.
특징
- 탄력성 : 필요에 따라 크기 조정, 스냅샷을 통해 백업 및 복원 가능(용량을 늘리는 건 쉬우나 줄이는 건 힘들어 충분히 고려 후 증설)
- 고성능 : 다양한 선능 옵션 제공
- 내구성 : 데이터 복제 및 높은 가용성 제공
- 보안 : IAM 정책을 통한 접근 제어 가능
- 스냅샷 : 볼륨의 시점 복사본 생성 가능 S3에 저장되며 복구 가능
실습(볼륨 확장)
- 인스턴스 생성
- 보안 그룹 권한 변경
- 볼륨 늘림
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 인스턴스 접근
ssh -i <aws key> <os>@<ip>
# 루트 권한으로 변경
sudo su
# 파일 시스템 디스크 사용량 노출
df -hT
# 시스템 블록 장치 나열
lsblk
# 지정된 파티션의 크기 확장
growpart /dev/xvda 1
# XFS 파일 시스템 크기 확장
xfs_growfs /dev/xvda1
# 증설 확인
lsblk
|
AWS EFS(Elastic FileSystem)
- 여러 EC2 인스턴스가 동시에 데이터를 읽고 쓰며, 파일 시스템의 확장성과 고가용성 보장
- 같은 VPC 내에서 여러 인스턴스가 같은 파일 시스템에 접근해 읽기, 쓰기 가능
특징
- 확장성 : 파일 시스템 크기 자동 조절 및 필요에 따른 확장, 축소 가능
- 고가용성 및 내구성 : 여러 가용 영역(AZ)에 데이터 자동 복제해 높은 가용성 및 내구성 제공
- 동시 엑세스 : 여러 EC2 인스턴스에서 동시에 엑세스 할 수 있으며 공유 파일 시스템이 필요한 워크 로드에 적합
실습(볼륨 확장)
- EFS 생성
- 보안그룹 수정
- 연결
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 인스턴스 접근
ssh -i <aws key> <os>@<ip>
# 루트 권한으로 변경
sudo su
# ip 복사
# /mnt 디렉토리 안에 efs 폴더 생성
cd /mnt && mkdir efs
# 복사한 ip 주소 입력
# 확인
df -hT | grep efs
|
AWS S3(Simple Storage Serive)
- 객체 스토리지 서비스로 데이터를 객체 단위로 저장
- 객체는 파일 데이터와 메타 데이터로 구성되며 인터넷을 통해 접근 가능
특징
- 내구성 및 가용성 : S3는 99.99% 내구성 제공 및 여러 가용 영역의 복제되어 높은 가용성 보장
- 확장성 : 거의 무한대로 확장 가능
- 보안 : 데이터 암호화 후 저정 및 전송하며 IAM 정책, 버킷 정책, ACL을 통해 엑세서 권한 제어
- 비용과 효율성 : 저장한 데이터 양과 사용한 리소스에 따라 지용 지불
- 데이터 관리 기능 : 버전 관리, 수명 주기 정책, 객체 잠금, 이벤트 알림 등 데이터를 효울적으로 관리
사용 예시
- 중요한 데이터 백업 및 복원에 사용
- 오랫동안 보관해야 하지만 자주 접근하지 않는 데이터의 아카이빙에 적합
- 정적 웹 사이트 호스팅에 사용
- 미디어 콘텐츠 저장 후 배포 시 사용
실습(볼륨 확장)
- S3 생성(모든 퍼블릭 허용)
- 권한 추가
- 파일 업로드
- url 클릭 후 확인
AWS Lambda
- 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행 할 수 있는 컴퓨팅 서비스
- 코드를 업로드하고 실행 조건을 설정하면, 나머지 인프라 관리는 AWS에서 자동으로 처리
특징
- 서버를 프로비저닝, 관리, 확장할 필요가 없이 AWS에서 모든 인프라 관리
- Lambda 함수는 요청에 따라 자동 확장
- 다양한 프로그래밍 언어 지원
사용 예시
- 파일 업로드 이벤트 발생 시 트리거하여 파일 처리
- 실시간 데이터 처리 및 로그 분석, 필터링, 알람 트리거 수행
- 백업, 보고서 생성, 시스템 유지보수 작업 자동화
실습(볼륨 확장)
- Lambda 생성
- 코드 수정
- 테스트 클릭 및 모니터링 로그 확인
- 트리거 추가
- 파일 업로드
- 모니터링 확인
AWS CloudWatch
- 인프라와 애플리케이션의 상태를 모니터링하고 관리하는 서비스
- 다양한 AWS 서비스와 통합되어 메트릭 수집, 경보 설정, 로그 모니터링 및 분석
특징
- EC2, RDS, S3, DynamoDB 등 다양한 AWS 서비스에서 메트릭 자동 수집
- 특정 조건 충족 시 알람 생성해 SNS 및 함수 트리거, auto Scaling 조치
- 대시보드를 사용해 모니터링
- 시스템 이벤트 감지 및 지정된 대상으로 알림 전송
- 임계값 초과 시 경보 설정 및 자동 대응 조치
실습(볼륨 확장)
- IAM 역할 생성(AWSLambdaBasicExecutionRole, CloudWatchEventsFullAccess)
- lambda 생성
- 구성 - 권한 - 편집 - 역할 변경
- 이벤트 브리지 규칙 생성(aws , cloudWatch, Alarm, kakao)
- cloudWatch 대시보드 - 경보상태 - 경보 생성
- 지표 선택 - 인스턴스 - cpu - 지표 선택