Cloudfront를 사용하여 콘텐츠 가속화하기#1

이번 글에서는 아래 아키텍처에 따라 Amazon S3 및 Amazon EC2 인스턴스에서 각각 호스팅되는 정적 및 동적 콘텐츠가 있는 애플리케이션을 시작하도록 CloudFront를 설정해보겠습니다. Cloudformation 템플릿을 사용하여 S3 및 EC2를 생성하고 애플리케이션도 배포하겠습니다. Cloudformation 콘솔로 이동하여 스택을 생성합니다. AWSTemplateFormatVersion: ‘2010-09-09’ Parameters: # EC2 인스턴스의 AMI 이미지를 파라미터로 정의합니다. imageId: Description: Linux AMI image Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id> AllowedValues: – … Read more

AWS 미디어 서비스를 사용하여 파일 스트리밍

이번 글에서는 스토리지 및 미디어 트랜스코딩을 위해 AWS 서비스를 사용하여 웹 스트리밍용 비디오를 처리하는 방법에 대해서 알아보겠습니다. [실습 순서] S3 버킷 생성 IAM 역할 생성 MediaConvert 작업 생성 [1. S3 버킷 생성] AWS Console을 사용하여 MediaConvert 작업의 출력을 저장할 S3 버킷을 생성합니다. 테스트 플레이어에서 콘텐츠에 대한 액세스를 활성화하려면 공개 읽기 액세스를 허용하고, CORS(Cross Origin Resource … Read more

AWS 서비스를 사용하여 CRUD API 생성하기

이번 글에서는 DynamoDB 테이블에서 항목을 생성, 읽기, 업데이트 및 삭제하는 CRUD API를 생성합니다. API는 서버리스로 실행되므로 기본 인프라를 관리하지 않아도 되고 자동으로 확장됩니다. 실습 순서는 아래와 같이 진행됩니다. [실습 순서]1. DynamoDB 테이블 생성2. Lambda 함수 생성3. HTTP API 게이트웨이 생성4. AWS Cloud9 IDE 생성5. API Test [1. DynamoDB 테이블 생성] DynamoDB를 통해 원하는 양의 데이터를 … Read more

AWS Cloudformation으로 인프라 구축하기#2 – Server 구성하기

‘AWS Cloudformation으로 인프라 구축하기#1 – Network 구성하기’에 이어서 이번 글에서는 이전에 생성한 네트워크를 바탕으로 Server를 구축하여 3tier를 구축해보겠습니다. 3tier Architecture 3tier Architecture는 한 서버에 3가지 로직을 구현한 것이 아닌, 3계층(Presentation 계층, Application 계층, Data 계층)으로 나누어 논리적 또는 물리적 장치에서 구축하는 것입니다. 3개의 계층을 사용하면 수평 확장성, 성능 및 가용성이 향상될 수 있습니다. 각 계층이 … Read more

AWS Cloudformation으로 인프라 구축하기#1 – Network 구성하기

이번 글에서는 AWS에서 제공하는 IaC 도구 서비스인 Cloudformation을 이용하여 인프라를 구축하는 내용입니다. What is Cloudformation? AWS 및 서드 파티 리소스를 손쉽게 모델링, 프로비저닝 및 관리할 수 있는 코드형 인프라(IaC) 서비스입니다. 리소스를 코드로 관리하여 휴먼에러를 최소화하고 버전관리로 협업에 유리하며 템플릿을 사용하여 같은 구성을 다른 환경에서도 사용할 수 있다는 장점이 있습니다. 생성한 AWS 리소스에 대해서 사용 비용을 … Read more

K8S 개념 및 Cluster 구축 실습

쿠버네티스(kubernetes)란 마이크로 서비스 아키텍처(MSA)가 발전하고, 데브옵스(DevOps)에 대한 개념이 명확해지면서 컨테이너 기반의 환경이 주목받기 시작했다. 대규모의 서비스에서 하드웨어와 VM 의 수가 많아지고 컨테이너의 수가 많아지면 이 컨테이너를 어디에 배포해야 하는지 결정해야 한다. 주어진 자원을 최적으로 사용하기 위해 적절한 위치에 배포해야 한다. 특성에 따라 물리서버에 배포하거나, 가용성을 위해 다른 서버에 배포하기도 한다. 이러한 개념을 스케줄링이라고 한다. 스케줄링을 … Read more

Influxdb tuning step

[1] 데이터베이스 튜닝이란 데이터베이스 튜닝(Database Tuning) 이란 데이터베이스 어플리케이션, 데이터베이스 자체, 운영체제 등의 조정을 통하여 데이터베이스 시스템의 성능을 향상시키는 작업을 말한다. 데이터베이스 튜닝이 필요한 이유는 데이터베이스 시스템 운영 중에 다양한 어플리케이션의 도입과 데이터의 대용량화로 인해 데이터베이스 시스템의 성능이 저하될 수 있기 때문이다. 따라서 데이터베이스 튜닝을 통해 기존 데이터베이스 시스템에 존재하는 문제점을 정확히 분석하여, 높은 작업 … Read more

AWS Storage Gateway 이해하기

AWS Storage Gateway 란? 1. 개요 AWS Storage Gateway는 온프레미스 소프트웨어 어플라이언스를 클라우드 기반 스토리지에 연결하여 온프레미스 IT 환경과 AWS 스토리지 인프라 Amazon Web Services Cloud에 데이터를 저장하여 데이터 보안을 유지하는 데 도움이 되는 확장 가능하면서 비용 효율적인 스토리지를 구현할 수 있습니다. AWS Storage Gateway에서는 파일 기반 파일 게이트웨이 (Amazon S3 파일 및 Amazon FSx … Read more

빅데이터 처리와 저장의 핵심 기술, Hadoop

Hadoop (High-Availability Distributed Object-Oriented Platform); 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 자바 소프트웨어 프레임워크. 하둡이란? 1. 배경 2006년 야후의 더그 커팅이 ‘넛치’라는 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로는 처리가 어려워 새로운 기술을 찾는 중 구글에서 발표한 GFS(Google File System) 와 MapReduce 관련 논문을 참고하여 개발하고, … Read more

[Server] 서버 인증 이해하기-4부 (OAuth 확장편)

인증 유형(Authorization Grant Types) 시퀀스 다이어그램 1. Authorization Code 리소스 접근을 위한 계정 정보, 권한 서버에 요청하여 받은 권한 코드를 함께 활용하여 리소스에 대한 Access Token을 받는 방식이다. – 권한 서버가 클라이언트와 리소스 서버 간의 중재역할을 한다. – Access Token을 바로 클라이언트로 전달하지 않아 유출을 방지한다. – 로그인 시 페이지 url에 response_type=code 로 넘긴다. 2. … Read more