전체 글 370

AWS Step Functions & Amazon AppFlow란?

AWS Step Functions란? 시각적 워크플로(Workflow)구축 서비스 (그림같은 서비스....) 애플리케이션의 구성 요소를 단계별로 배열하여 다단계 애플리케이션을 구축하고 실행 가능 사용 예시는 1) 데이터 처리 : 여러 DB의 데이터를 통일된 보고서로 통합, 분석 및 기계 학습 워크플로 조정 2) DevOps 및 IT 자동화 : 지속적 통합 및 지속적 배포를 위한 도구 구축, 인프라의 변경에 자동으로 대응하는 이벤트 중심 애플리케이션 생성 3) 전자 상거래 : 주문처리, 재고 추적 등 프로세스 자동화 4) 웹 애플리케이션 : 강력한 사용자 등록 프로세스와 로그인 인증 구현 Amazon AppFlow란? Software-as-a-Service (SaaS) 애플리케이션과 AWS 간에 안전하게 ..

AWS Amazon MQ 및 AWS API Gateway란?

AWS Amazon MQ란? Apache ActiveMQ 및 RabbitMQ용 관리형 메시지 브로커 서비스 JMS 및 NMS와 같은 업계 표준 API와 AMQP, STOMP, MQTT, WebSocket등을 비롯한 메시징 프로토콜을 지원 활성(Active)/대기(Standby) 브로커 배포모드를 지원하여 고가용성 및 장애조치 가능 클라우드 기반의 애플리케이션은 SNS, SQS 메시지 서비스를 사용하는 것을 추천 스케일링 기능, 고 가용성, 더 나은 성능, 더 많은 기능 등 존재 기존에 Apache ActiveMQ 및 FRabbitMQ 등의 애플리케이션을 온프레미스에서 사용하고 있고 코드의 변경없이 클라우드로 마이크레이션할 경우 Amazon MQ 사용 AWS API Gateway란? 개발자가 API를 생성..

AWS Kinesis란?

AWS Kinesis란? 실시간 스트리밍 데이터를 수집, 분석, 처리하는 서비스이다. (실시간이 핵심) 비디오, 오디오, 로그, 웹사이트 등 실시간 데이터를 수집한다. 데이터가 수집 후에 처리하는 것이 아닌 실시간으로 수집되는 순간 바로 처리 및 분석한다. Kinesis 서비스 유형 1) Kinesis Data Streams : 데이터 스트림을 수집, 저장 및 처리 2) Kinesis Data Firehose : 데이터 스트림을 AWS 데이터 스토어에 로드 (저장기능은 없음) 3) Kinesis Data Analytics : SQL 또는 Apache Flink로 데이터 스트림 분석 4) Kinesis Video Streams : 비디오 스트림을 수집, 저장 및 처리 1) Kinesis Data Strea..

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가 더 많은 기능을 지원 (스냅샷 백업..