전체 글
AWS 핵심 서비스로 웹 애플리케이션 구축하기 - 실습
AWS 핵심 서비스로 웹 애플리케이션 구축하기 - 이론AWS 핵심 서비스로 웹 애플리케이션 구축하기 - 실습 1. 아키텍처 개요 이번 실습으로 AWS 기본이 되는 컴퓨팅 서비스인 EC2 를 이용한 웹 애플리케이션을 구축한다.트래픽이 들어오면 로드 밸런서로 요청을 분산시켜 여러 EC2에 부하를 줄이도록 한다. 이후 모니터링과 오토스케일링, 정적 웹 사이트 호스팅을 추가로 사용하도록 한다.2. 네트워크 구성하기2-1. VPC 생성하기1. VPC 마법사 시작을 클릭하여 VPC 구성을 쉽게 한다. 2. VPC 설정에서 아래 사진처럼 선택한다. 이름은 VPC-Lab , CIDR 블록은 기본값인 10.0.0.0/16 으로 설정 3. 가용영역(AZ)는 1개를 선택하고, 가용영역은 ap-northeast-2a 로 선택..
AWS 핵심 서비스로 웹 애플리케이션 구축하기 - 이론
AWS 핵심 서비스로 웹 애플리케이션 구축하기 - 이론AWS 핵심 서비스로 웹 애플리케이션 구축하기 - 실습 이번 실습으로 아래 아키텍처 설계에 따른 인프라 구축을 해본다.그 전에 이론 부분들을 살펴보자 1. AWS Region (리전)전세계에 AWS 데이터센터가 클러스터 형태로 위치한 물리적 위치1개의 리전은 고가용성, 확장성, 내결함성을 위해 3개 이상의 AZ로 구성 2. Availability Zones (가용영역, AZ)모든 AWS Region은 지리적 영역 내에서 격리되고 물리적으로 분리된 최소 3개의 AZ로 구성모든 가용 영역은 AWS 리전의 중복 전력, 네트워크 및 연결이 제공되는 하나 이상의 개별 데이터 센터로 구성AZ 간에는 높은 대역폭, 10ms 이하 짧은 지연시간의 네트워크로 구성..
AWS Serverless(서버리스)로 서버 고민 없이 웹 애플리케이션 구축하기 #2
서버리스로 서버 고민없이 웹 애플리케이션 구축하기 #1서버리스로 서버 고민없이 웹 애플리케이션 구축하기 #2 1편에서 봤듯이 "친구들의 기분 상태를 랜덤으로 매칭하는 서비스"를 서버리스로 구축해보자. 1. 서버리스 아키텍처 개요비즈니스 로직을 AWS Lambda(람다) 함수에 작성하고 람다가 실행되면 DynamoDB에 친구들의 기분 상태 데이터를 저장한다. API Gateway를 통해 람다 함수를 접근할 수 있는 URL을 생성하고 S3에 HTML을 업로드하여 S3 정적 웹 사이트 호스팅 기능으로 웹 사이트를 호스팅한다.(자세한 내용은 1편에) 2. DynamoDB완전관리형 AWS의 NoSQL 데이터서비스를 이용하여 데이터를 저장하기 위해 생성한다.서비스에 연결할 DynamoDB 테이블을 만들면 멤버의..
AWS Serverless(서버리스)로 서버 고민 없이 웹 애플리케이션 구축하기 #1
서버리스로 서버 고민없이 웹 애플리케이션 구축하기 #1서버리스로 서버 고민없이 웹 애플리케이션 구축하기 #2 AWS 대표 서비스인 Lambda(람다)를 사용하여 서버 고민 없이 간단한 웹 애플리케이션을 구축하는 방법을 다뤄본다.우리가 만들 웹 서비스는 "친구들의 기분 상태를 랜덤으로 매칭하는 서비스"이다. 1. Lambda와 DynamoDB를 활용한 데이터 처리비즈니스 로직을 AWS Lambda 함수에 작성하고 이 Lambda가 실행될 때마다 친구들의 기분 상태 데이터를 랜덤하게 생성하여 DynamoDB에 저장한다. Lambda는 서버를 직접 관리할 필요 없이 이벤트가 발생할 때 자동 실행된다. 2. API Gateway를 통한 인터넷 연결Lambda 함수를 API Gateway와 연결하여 인터넷에서 ..
AWS TechCamp란?
최근 AWS Builders Korea Program이 새롭게 변화한 AWS TechCamp에 참여하면서 느낀 점을 공유하고자 한다.기존 프로그램에서는 이론과 간단한 실습을 중심으로 진행되었지만, 이번 테크캠프는 한층 더 강화된 학습 경험을 제공했다.실시간으로 과외를 받는 듯한 몰입감이 느껴졌고, AWS 서비스를 깊이 이해하고 실전에서 바로 적용해보고 싶다는 열정이 생겼다. 어떻게 진행되나요?TechCamp는 분기별로 3일간의 세션으로 구성된다.매년 3월(Modern App), 6월(AI/ML), 9월(Data), 11월(Every App)을 주제로 진행된다.하루 두 번, 오전 9~12시, 오후 2~5시까지 강의가 열린다.강의는 기초 과정 (레벨 100), 기본 과정 (레벨 100 - 200) , 심화..
빅데이터의 파일 형식은 무엇으로 해야할까? (feat. Parquet 란?)
데이터 엔지니어 프로젝트를 진행하면서 컬럼이 수십개에 레코드는 수십만개의 데이터를 다루면서 데이터 유형에 대해 고민하게 되었다. 단순히 보기 편하고 다루기 쉬운 행 기반 형식의 CSV 파일만을 생각했는데 읽고 쓰는 I/O 성능이 느려서 새로운 파일 유형을 찾게 되었다. 그것이 parquet 같은 빅데이터 파일 형식이다. 1. 고민해야할 점데이터가 기하급수적으로 증가함에 따라 효율적인 데이터 저장방법은 무엇일까?데이터를 행과 열로 구성하는 것의 차이점과 이것이 저장 및 쿼리 효율성에 어떤 영향을 미칠까?행 기반 형식으로 데이터를 저장하는 것의 장단점과 쓰기 작업이 많은 작업에 대한 적합성은 무엇일까?빠른 쿼리 속도와 효율적인 압축 옵션 등 읽기 작업이 많은 작업을 위한 열(컬럼) 기반 저장소의 이점은?Pa..
Airflow 란 무엇인가?
1. Airflow 소개파이썬으로 작성된 데이터 파이프라인(ETL) 프레임워크Airbnb에서 시작한 아파치 오픈소스 프로젝트가장 많이 사용되는 데이터 파이프라인 관리 및 작성 프레임워크데이터 파이프라인 스케줄링 지원정해진 시간에 ETL 실행 or 한 ETL의 실행이 끝나면 다음 ETL 실행웹 UI 제공데이터 파이프라인(ETL)을 쉽게 만들 수 있게 해줌다양한 데이터 소스와 데이터 웨어하우스를 쉽게 통합해주는 모듈 제공https://airflow.apache.org/docs/데이터 파이프라인을 DAG(Directed Acyclic Graph)라고 부름1개의 DAG는 1개 이상의 태스크(task)로 구성 2. Airflow 구성웹 서버(Web Server)웹 UI는 스케줄러와 DAG의 실행 상황을 시각화해줌..
Airflow 설치 - Docker
Apache Airflow 공식 홈페이지 - Running Airflow in Docker 에서 참고하였습니다. 1. 시작 전 (Before you begin)Docker Community Edition(CE)을 본인 컴퓨터에 설치합니다. OS에 따라 Airflow 컨테이너가 제대로 실행되려면 최소 4.00GB에서 권장 8.00GB 메모리를 사용하도록 Docker를 구성해야 합니다. 자세한 내용은 Windows Docker 또는 Mac Docker 를 참고하세요.컴퓨터에 Docker Compose v2.14.0 이상 설치해야 합니다. 버전을 확인하려면 `docker compose version` 명령어를 실행하세요.% docker compose versionDocker Compose version v2...