분류 전체보기 116

AWS에서 Kubernetes를 운영하는 가장 쉬운 방법, EKS

# Amazon EKS - Elastic Kubernetes Service EKS를 사용하면 AWS에서 Kubernetes 클러스터를 시작하고 관리할 수 있다.   🧐 Kubernetes란? Kubernetes는 오픈 소스 시스템으로 컨테이너형 애플리케이션의 관리, 배포, 확장을 위해 사용된다. 주로 Docker 컨테이너로 관리되지만, 다른 형태의 컨테이너도 사용할 수 있다.  이 컨테이너들은 EC2 인스턴스나 Fargate에서 호스팅할 수 있고, Fargate에서 호스팅되면 완전히 서버리스로 운영할 수 있다.   EKS로 관리되는 Kubernetes 클러스터를 사용하면 위와 같이 EKS 노드를 갖게 된다. 위 예시에서 노드는 EC2 인스턴스로 구성된다. 또한 Docker 컨테이너를 실행할 때마다 Ku..

AWS 2025.03.18

AWS에서 도커 컨테이너 실행하기: ECS, Fargate, ECR 개념 정리

# ECS - Elastic Container Service ECS는 AWS에서 도커 컨테이너를 실행할 때 사용하는 서비스이다. ECS를 동작시키기 위해서는 사용자가 직접 인프라를 프로비저닝하고 자체적으로 유지해야 한다( = EC2 인스턴스를 사전에 만들어야 한다는 의미!) 사용자가 컨테이너에서 실행되는 인프라에 대한 책임이 있다면, AWS는 컨테이너를 시작하고 중지하는 것과, 애플리케이션 밸런서와의 통합을 책임지는 것!    위의 그림을 보면, 여러개의 EC2 인스턴스가 있고, 사용자는 이 EC2 인스턴스들을 사전에 만들어야 한다.  EC2 인스턴스들은 ECS 서비스에 의해 서로 다른 컨테이너에서 실행되고, ECS 서비스는 새로운 도커 컨테이너를 가질 때마다 어떤 EC2 인스턴스를 어떤 도커 컨테이너에..

AWS 2025.03.17

도커(Docker)란? 컨테이너로 앱 배포하기

# Docker 도커는 앱 배포를 위한 소프트웨어 개발 플랫폼이다. 도커를 사용하면 컨테이너에 앱을 패키징할 수 있으며, 컨테이너에 패키징 된 앱은 어느 곳에서든 매번 같은 방식으로 실행된다.  ➡️ 컨테이너를 사용하면 모든 운영 체제에서 쉽게 실행할 수 있다! 어떤 기계든 상관없이 호환성 문제 극복동작 예측 가능작업량이 적어짐(컨테이너가 다 해주니까!)유지 보수 및 배포가 쉬움모든 프로그래밍 언어로 작업할 수 있음OS나 기술에 구애받지 않음도커를 사용하면 매우 빠르게(몇 초만에) 컨테이너 스케일링 업/다운 가능위와 같은 장점들 덕분에 오늘날 애플리케이션 배포에 있어 도커가 아주 강력한 도구로 활용되고 있다!   EC2 인스턴스에서 도커를 살펴보면 위와 같은 이미지를 상상할 수 있다.  Java 코드로 ..

AWS 2025.03.16

AWS DMS로 쉽게 하는 데이터베이스 마이그레이션

이전 포스팅까지 여러 종류의 데이터베이스 기술들을 정리해보았다. 이번에는 데이터베이스 간에 데이터 마이그레이션하는 방법에 대해 살펴보려고 한다.   # DMS 데이터베이스 간 데이터 마이그레이션을 위해 DMS(Database Migration Service)를 사용할 수 있다.   💡 DMS를 이용해 데이터를 이동하는 방법   1. DMS 소프트웨어를 실행하는 EC2 인스턴스를 실행 2. DMS를 이용해 소스 데이터베이스로부터 데이터 추출 3. DMS가 해당 데이터를 대상 데이터베이스로 입력  이러한 방식으로 DMS를 이용하여 데이터베이스를 AWS 클라우드로 신속하고 빠르게 마이그레이션할 수 있다. 이러한 기술 덕분에 데이터 복원 및 자가 복구 작업을 수행하는 것도 가능한 것! 또한 위와 같은 마이그레..

AWS 2025.03.15

데이터 추출, 변환, 로드(ETL)을 위한 서비스 - AWS Glue

# AWS Glue Glue는 관리형 추출, 변환, 로드 서비스로, ETL 서비스라고도 부른다. (extract, transform, load)  🧐 ETL이란? 데이터셋에 대한 분석을 수행할 때, 형식이 올바르지 않거나 원하는 형식이 아닐때 유용하게 쓰이는 서비스이다. ETL 서비스를 통해 데이터를 원하는 형식으로 변환하여 준비할 수 있다.  보통 데이터를 원하는대로 준비하는 작업은 서버를 사용하여 수행되곤 하는데, Glue는 서버리스 서비스이기도 해서, 데이터 변환하는 작업 자체에만 신경을 쓰면 된다는 점도 서버와 비교했을 때 장점이다.     위 그림과 같은 상황을 예로 들어 Glue가 어떤 서비스인지 더 자세하게 살펴보자.  S3 버킷과 Amazon RDS 데이터베이스 모두에서 데이터를 추출하려..

AWS 2025.03.14

변경 불가능한 원장 데이터베이스 Amazon QLDB

# Amazon QLDB QLDB (Quantum Ledger Database)는 금융 거래를 기록하는 장부의 역할을 하는 데이터베이스이다.  완전 관리형 데이터베이스서버리스3개의 가용 영역에 데이터 복제본을 갖는다.-> 고가용성과거에 발생한 애플리케이션 데이터의 모든 변경 내역을 살펴볼 때 사용해서 'Ledger=원장' 이라는 이름이 붙음. Ledger라는 특징에 어울리게 '변경이 불가능'한 시스템-> 데이터베이스에 작성한 후 수정/삭제 불가-> 삭제된 사항이 없음을 인증하는 암호 서명 설정 가능 QLDB의 작동 원리:    QLDB에는 일련의 수정 사항을 갖는, 보이지 않는 저널이 존재한다. -> 수정이 발생할 때 암호화 해시가 연산되어, 삭제 또는 수정된 사항이 없음을 보장. 이 내용은 해당 QLD..

AWS 2025.03.13

AWS 데이터 분석 서비스: Redshift, EMR, Athena

# Redshift PostgreSQL 기반의 데이터베이스 (하지만 OLTP에 사용되지는 않음 - RDS와의 차이점)OLAP(Online Analytical Processing)에 특화됨데이터 웨어하우스와 분석 역할- 데이터 분석/계산 성능이 매우 좋음.- 타 데이터 웨어하우스들의 10배 성능- PB 단위까지 용량 확장 가능1시간 이상 간격으로 데이터 로드 (지속적 로드 아님)Column based 스토리지 - '열 저장 방식'으로 데이터 저장SQL 인터페이스를 통해 쿼리 수행QuickSight 같은 BI 도구와 통합되어 있어, 데이터 웨어하우스에 대시보드 생성 가능   -> 보고서 작성, 대시보드 애플리케이션, 실시간 분석 등에 Redshift 가 적합하다.  -> 서버리스 옵션을 선택하면, 사용자는 ..

AWS 2025.03.12

DynamoDB - 키-값 저장, DAX, Global Tables의 이해

# DynamoDB의 특징 완전 관리형 고가용성 데이터베이스NoSQL database - 비관계형 데이터베이스3개의 가용 영역에 걸쳐 복제본을 두고 운영막대한 워크로드를 조화할 수 있는 스케일분산된 서버리스 데이터베이스 - RDS나 ElastiCahe를 이용해서 서버에 프로비저닝할 필요가 없음초당 수백만 건의 요청, 조 단위가 넘는 row, 수백 TB 스토리지까지 확장해도 빠르고 지속적인 성능을 보임-> 검색 지연 시간이 한 자릿수 밀리초인 성능이 필요한 경우 DynamoDB가 적합한 데이터베이스!보안, 인증, 관리상 IAM과 통합오토스케일링 기능  DynamoDB는 키-값 데이터베이스로, 아래와 같이 데이터가 저장된다.   기본 키: 1-2개의 column으로 파티션 키, 정렬 키로 구성속성: 데이터에..

AWS 2025.03.11

AWS에서 빠른 데이터 처리를 위한 캐싱 전략 - ElastiCache

# Amazon ElastiCache 🧐 캐시란?인 메모리 데이터베이스로, 높은 성능과 짧은 지연시간이 특징  🗃️ 일래스티 캐시 일래스티 캐시는 읽기 집중적인 워크로드의 데이터베이스로부터 워크로드를 줄일 때 유용하다. 예를 들어..RDS 데이터베이스에서 많은 쿼리 작업을 수행하는 경우, 항상 동일한 쿼리를 다루게 되면 RDS 데이터베이스에 막대한 부하가 발생할 것! 대신 일래스티 캐시를 사용하여 인메모리 데이터베이스로 캐시가 직접 전송되도록 한다면? -> 데이터베이스의 부하를 줄일 수 있다! 일래스티 캐시는 관리형 데이터베이스로 아래 작업들을 AWS가 담당하기 때문에 사용자 입장에서 편리하게 이용할 수 있다는 점도 장점이다.  운영체제 유지 보수패치 작업최적화 설정config모니터링장애회복백업 등을..

AWS 2025.03.10

AWS RDS 데이터베이스 배포 전략

RDS 데이터베이스를 배포하는 아키텍처의 종류는 다양하고, 이 중 적합한 것을 선택해 배포하면 된다.   1. RDS 읽기 전용 복제본(Read Replica) RDS 배포 중 읽기 전용 복제본을 사용하는 방식이다.  메인 RDS 데이터베이스로부터 읽기 작업을 수행하는 애플리케이션을 예로 들어 보자. 이 경우 더 많은 애플리케이션이 RDS로부터 더 많은 데이터를 읽어 들이게 될 것이다. -> 따라서 읽기 워크로드를 확장해야 한다.    읽기 워크로드를 확장하는 방법으로 '읽기 전용 복제본 생성'을 선택하는 것이다. RDS 데이터베이스의 복사본과 복제본이 생성되면서, 이들로 부터 읽기 작업을 진행할 수 있는 것!읽기 권한을 여러 RDS 데이터베이스에 분산시킨다고도 볼 수 있다.  - 최대 5개의 읽기 전용..

AWS 2025.03.09