Cloud Infra Architecture (AWS) 205

AWS Amazon Simple Notification Service(SNS)란?

AWS Amazon Simple Notification Service(SNS)란? 메시지 전송 서비스 여러가지 이벤트를 Topic으로 보낸다. 그러면 Push Fan Out를 통해 각각의 서비스로 보낸다. 이 서비스들이 다른 어플리케이션 혹은 AWS로 보낸다. 모바일, 이메일, SMS모두 가능하다. 게시자(Publishers)에서 구독자, Subscriber(생산자 및 소비자라고도 함)로 메시지를 전송 애플리케이션간 (A2A) 및 애플리케이션과 사용자 간 (A2P) 통신 SNS는 Push 방식으로 메시지를 전송 (Subscriber에게 메시지를 보내는 방식) 전송 순서는 다음과 같다. 1) SNS에서 주제(Topic)생성 2) 구독 생성 (메시지를 받는 사람 - 람다 등등) 3) 메시지 생성 4) 구독자..

AWS Amazon Simple Queue Service(SQS)란?

AWS Amazon Simple Queue Service(SQS)란? Queue는 대기한다는 의미 SQS는 메시지를 대기하는 기능 애플리케이션 간의 느슨한 결합을 제공(Decoupling) 시나리오 : 쇼핑몰 주문 어플리케이션 이 시나리오를 생각해보자 1) 50건만 처리되고 50건은 삭제됨 2) 애플리케이션이 매우 느려짐 3) 애플리케이션의 에러 및 무응답 및 장애 발생 하지만 SQS를 사용하게 되면 SQS에서 미리 대기열에 주문정보를 올려 놓는다. 그리고 배송 애플리케이션에서는 본인이 처리할 수 있는 만큼만 가져와 처리후 완료 메시지를 보낸다. 그리고 본인이 가능한 만큼 요청을 한다. (폴링이라고 함) 그메시지를 SQS는 받고 다시 남은 만큼 다시 보내준다. 별개의 SQS로 서로 영향을 주지 않는다. ..

AWS 데이터 분석 서비스

1) Amazon Athena 표준 SQL 쿼리문을 사용해서 S3에 저장된 데이터를 분석할 수 있는 쿼리 서비스 Athena로 데이터를 로드할 필요 없이 S3에 저장된 데이터를 직접 사용 CSV, JSON, ORC, Avro또는 Parquet와 같은 다양한 종류의 데이터 형식을 지원 예를들어, S3에 CSV데이터 파일을 저장하여 Athena를 사용해 SQL 쿼리를 하는 비용 효율적인 솔루션 구축 Athena 연합 쿼리를 사용하여 Amazon CloudWatch Logs, Amazon DynamoDB, Amazon DocumentDB, Amazon RDS, JDBC 호환 관계형 데이터베이스 (Apache 기반인 MySQL, PostgreSQL 등)와 같은 데이터 원본에 저장된 데이터에 대해 SQL 쿼리 수..

AWS DataBase Migraion Service(DMS)란?

AWS DataBase Migraion Service(DMS)란? 데이터베이스를 마이그레이션하는 서비스 (DB => DB) 온프레미스에서 AWS또는 AWS 내에서 마이그레이션 가능 원본 DB를 사용하는 도중에도 지속적으로 마이그레이션 가능 같은 종류 및 서로 다른 종류 DB도 마이그레이션 가능 이 기종의 DB는 Schema Conversion Tool(SCT)를 이용해 데이터 스키마를 마이그레이션 대상 DB에 적합하게 변환해야 한다. 같은 종류의 DB는 데이터 변환이 필요 없다. 실습 1) 복제 인스턴스 생성 DMS 서비스에 들어간다. 시작전에 복제 인스턴스를 생성한다. (먼저 복제 후 다른 인스턴스로 저장하는 중간다리의 역할이 필요하다.) 이름은 db-replica, 용량 t3.micro를 선택한다. ..

AWS에서 제공하는 다양한 Databases

1) Amazon DocumentDB (With MongoDB compatibility) MongoDB를 호환하는 Document Database MongoDB는 JSON 데이터를 저장, 쿼리 및 인덱싱하는 데이터베이스 시스템 2) Amazon Keyspaces (for Apache Cassandra) Apache Cassandra 호환 데이터베이스 서비스 Apache Cassandra는 오픈소스 NoSQL 분산 데이터베이스 Wide Column 데이터베이스 모델 사용 3) Amazon Neptune 그래프 데이터베이스 서비스 노드들의 관계들로 이루어진 데이터베이스 (예, SNS) 4) Amazon Quantum Ledger Database(Amazon QLDB) 원장(Ledger) 데이터베이스 데이터에..

AWS DynamoDB란?

AWS DynamoDB란? NoSQL DB서비스 K-V, 문서 데이터 모델 지원 서버리스 서비스 (사용자가 직접 관여안해도 된다.) 용량에 맞게 자동으로 확장 및 축소하는 Auto Scaling하므로 관리 및 운영 오버헤드 최소화 10밀리 초 미만의 빠른 응답으로 초당 수백만개 이상의 요청 처리 가능 지연시간이 짧은, 빠른 응답이 필요한 애플리케이션에 사용한다. 쇼핑물 장바구니, 은행 트랜잭션, 게임 플레이어 기록 저장 DynamoDB의 특징 1) 백업 및 복구 DB 테이블에 대해 온디맨드 백업을 생성하고 특정 시점으로 복구를 활성화 특정 시점으로 복구 PIRT(Point-in-time recovery)를 사용해 최근 35일이내 원하는 시점으로 테이블 복원가능 2) DynamoDB 테이블 클래스 Dyna..

AWS ElastiCache란?

AWS ElastiCache란? 인-메모리 데이터 스토어 1밀리초 미만의 빠른 응답시간을 제공 (메모리에 저장하기에 빠름) 빠른 응답이 필요한 애플리케이션에 사용 기존의 DB와 연결하여 DB 응답 성능을 개선하기 위해 사용 (일부의 자주 사용하는 DB 데이터를 캐시) ElastiCache를 사용하기 위해서는 애플리케이션의 코드변경이 필요하며 코드변경이 불가한 경우 사용하지 못한다. 세션 스토어, 게임 리더보드, 스트리밍 및 분석과 같이 내구성이 필요하지 않은 기본 데이터 스토어로 사용 (비쌈) 오픈소스 인메모리 DB 솔루션인 Redis 또는 Memcached 두가지 유형을 지원 Memcached는 멀티쓰레드 지원, Redis는 싱글 쓰레드만 지원 일반적으로 Redis가 더 많은 기능을 지원 (스냅샷 백업..

AWS Aurora란?

AWS Aurora란? AWS에서 직접 개발한 RDS로 RDS 호환형 관계형 DB이다. RDS에서 제공하는 읽기 전용 복제본, KSM 암호화, 스냅샷 백업 및 오토스케일링 등을 제공 AWS에서 만들었으므로 성능이 뛰어나며 속도도 빠르고 가격도 저렴하다. (3~5배정도 빠름) DB 설정, 패치 적용 및 백업과 같은 관리 태스크를 자동화 개별 DB 인스턴스 기반이 아닌 여러 인스턴스를 하나로 운영하는 클러스터 DB 기반으로 운영 Aurora DB 클러스터 하나 이상의 DB 인스턴스와 이 DB 인스턴스의 데이터를 관리하는 클러스터 볼륨으로 구성 DB 인스턴스는 읽기/쓰기 작업을 하는 기본 DB 인스턴스와 읽기 작업만 하는 Aurora 복제본으로 구성 각 Aurora DB 클러스터는 기본 DB 인스턴스에 더해 ..

AWS RDS란? (Relational Database Service)

RDS란? 관계형 데이터베이스 서비스라고 함 대표적으로 Aurora, PostgreSQL, MySQL, MariaDB, Oracle, SQL Server 등의 RDS 엔진을 AWS에서 제공 관계형 DB이기 때문에 SQL 쿼리를 이용하는 DB용도에 사용 DB 다운타임 없이 스토리지 용량만큼 자동으로 확장가능 (Auto Scaling) 3가지의 DB 스토리지 유형 제공 범용 SSD 스토리지 : 일반적인 용도 프로비저닝된 IOPS SSD 스토리지 : 빠른 I/O가 필요한 경우 사용 마그네틱 스토리지 : 액세스 빈도가 낮은 경우 사용 이 친구들!! RDS의 백업 지원 DB 인스턴스 백업 및 복구를 위한 두 가지 방법, 즉, 자동 백업 및 DB 스냅샷을 제공 자동 백업(Automated backup) 백업을 수행..

AWS 데이터베이스 개요

관계형 데이터베이스 (RDS) 데이터들이 서로 연결되어 관계들로 구성된 DB 데이터를 테이블 형태(스키마)로 관리하여 관계를 통해 연결된 여러 테이블에 분산 SQL 언어를 사용하여 데이터를 검색 및 조작 데이터를 중복없이 다루기 때문에 데이터 무결성이 보장 관계를 맺고 있는 데이터가 자주 변경되는 애플리케이션에서 주로 사용 Amazon RDS, Amazon Aurora가 AWS의 대표적인 RDS이다. NoSQL 데이터베이스 NoSQL = non-SQL = non relational databases 관계 구조를 갖지 않는 DB 관리 시스템 여러 개의 테이블은 있지 않고 KEY와 VALUE가 있다. BOOK이라는 KEY에는 나무, 행복한 하루 등 VALUE가 있다. 이렇기 때문에 (관계 구조가 없기에) 대..