AWS ELB 및 ASG 정리
·
Cloud/AWS
고가용성 및 스케일링성확장성: 애플리케이션 시스템이 조정을 통해 더 많은 양을 처리할 수 있다는 의미수직 확장성: 인스턴스의 크기를 확장하는 것하위 인스턴스의 유형을 업그레이드해 수직적으로 확장일반적으로 확장할 수 있는 정도에는 (하드웨어 제한) 한계가 있음스케일 업 / 스케일 다운수평 확장성(탄력성): 인스턴스나 시스템의 수를 늘리는 것수평 확장을 했다 = 분배 시스템이 있다스케일 인 / 스케일 아웃고가용성: 애플리케이션 또는 시스템을 적어도 둘 이상의 AZ나 데이터 센터에서 가동 중데이터 센터에서의 손실에서 생존이 목표다중 AZ가 활성화된 자동 스케일러 그룹이나 로드 밸런서Elastic Load Balancing (ELB) 개요로드 밸런서: 트래픽을 백엔드나 다운스트림 EC2 인스턴스 또는 서버들로 ..
모니터링 메트릭(지표) 및 모니터링 도구
·
Cloud
1. 모니터링의 필요성서비스가 성장하거나 사용자가 몰리는 이벤트가 있을 때, 시스템은 얼마나 버틸 수 있을까? 이 질문에 대한 답을 얻기 위해 부하 테스트(Load Testing) 는 필수다. 하지만 부하만 주는 것으로는 부족하다. 어디에서 병목이 발생하고, 어떤 리소스가 부족한지 파악하기 위해선 정확한 모니터링(Monitoring) 이 함께 이루어져야 한다.2. 부하 테스트에서 주로 사용하는 모니터링 지표 (Metrics)아래는 부하 테스트 시 모니터링하는 주요 지표들이다.지표명설명응답 시간 (Response Time)요청을 보낸 시점부터 응답을 받을 때까지 걸리는 시간처리량 (Throughput)초당 처리된 요청 수 (RPS 또는 TPS)TPS (Transactions Per Second)초당 완료된..
부하 테스트 정의, 툴, 시나리오
·
Cloud
부하 테스트의 정의부하 테스트(Load Testing)는 시스템이 특정 수준의 부하(트래픽, 요청, 데이터 처리 등)를 받을 때 성능이 어떻게 변화하는지를 평가하는 테스트 방법이다.쉽게 말해, 사용자가 몰릴 때 서버가 얼마나 잘 버티는지를 확인하는 과정이라고 할 수 있다.예를 들어, 온라인 쇼핑몰에서 연말 세일을 시작할 때 갑자기 수천 명의 사용자가 동시에 접속하면, 서버가 이를 감당할 수 있을까? 페이지 로딩 속도가 느려지거나, 결제가 원활하게 이루어지지 않는 문제는 없을까?이런 문제를 사전에 발견하고 해결하기 위해 부하 테스트를 수행한다.성능 테스트와의 차이점 부하 테스트는 성능 테스트의 한 종류다. 하지만 성능 테스트에는 여러 가지 유형이 있으며, 각 유형마다 목적이 조금씩 다르다.부하 테스트 : ..
백엔드 코드는 어떻게 S3에 접근할 수 있을까?
·
Cloud/AWS
https://ctrl-shit-esc.tistory.com/187 EC2는 S3에 어떻게 접근할 수 있을까?사건의 발단최근 AWS 비용을 줄이기 위해 아키텍처 구조에 대한 대대적인 점검에 들어갔다.그러던 중, 엔드포인트 점검을 하던 중 이상한 것을 발견했다. 저 ssm-endpoint, ec2messages-endpoint, ssmmessages-ctrl-shit-esc.tistory.com 위 글에 이어서 백엔드 코드에서 S3를 호출하는 여러 가지 방법에 대해 다뤄 보려고 한다.그 전에...코드 분석을 하기 전에 EC2에 부여된 S3 권한부터 살펴보았다. 우리 EC2에는저장소 접근을 위한 ElastiCache, S3 서비스에 대한 Full AccessSession Manager 사용은 위한 SSM~~..
AWS EC2 정리
·
Cloud/AWS
EC2 기초Elastic Compute Cloud, AWS가 제공하는 IaaSEC2에서 임대한 가상 머신을 EC2 Instance라고 부름EC2 선택 옵션운영 체제: Windows, Mac, LinuxCPU 개수RAM 개수저장 공간 - 네트워크(EBS, EFS) / 하드웨어(EC2 Instance Store)네트워크 종류 - 네트워크 카드 속도, 공용 IP방화벽 - 보안 그룹User Data를 사용해 인스턴스를 bootstrap(머신이 작동될 때 명령을 시작하는 것) 가능→ 부팅 작업을 자동화EC2 인스턴스 유형https://aws.amazon.com/ko/ec2/instance-types/EC2 인스턴스 생성SSH로 인스턴스에 접근하기 위해서는 .pem 형식의 키 페어를 생성해야 함User data 부..
EC2는 S3에 어떻게 접근할 수 있을까?
·
Cloud/AWS
사건의 발단최근 AWS 비용을 줄이기 위해 아키텍처 구조에 대한 대대적인 점검에 들어갔다.그러던 중, 엔드포인트 점검을 하던 중 이상한 것을 발견했다. 저 ssm-endpoint, ec2messages-endpoint, ssmmessages-endpoint는 Session Manager를 위한 엔드포인트이다. (따로 글 쓸 예정)그리고 rds-connection-ssm은 따로 rds에 접근하기 위해 만들어 놓은 엔드포인트이다. (이것도 따로 글 쓸 예정)그래서 서버팀에게 S3 접근을 하고 있는지 물어보았다.  그러면 지금까지 S3 버킷 접근을 엔드포인트 없이 진행했다면, 혹시 인터넷으로...?우리의 EC2는 private subnet에 있다. 그러면 인터넷으로 S3에 접근했다면 혹시 NAT...?트래픽 ..
AWS Lambda로 Serverless 디스코드 봇 생성하기 (with CDK)
·
Cloud/Serverless
기존의 디스코드 봇은 주로 EC2 인스턴스를 통해 운영되었습니다.하지만 명령어를 입력하여 동작하는 간단한 봇의 경우, EC2 인스턴스를 상시 실행하는 것은 서버 비용 부담이 클 수 있습니다.이러한 문제를 해결하기 위해 AWS Lambda를 활용한 서버리스 방식을 이용하여 디스코드 봇을 배포하는 것을 고려하게 되었습니다.  Lambda는 서버를 직접 운영할 필요 없이, 특정 이벤트가 발생할 때만 실행되는 서버리스 컴퓨팅 서비스입니다.Lambda를 사용하면 별도의 서버 운영 없이, 저렴한 비용으로 디스코드 봇을 24/7로 유지할 수 있습니다.Node.js와 Python 등을 지원하는데, 저는 Python에 익숙해 Flask로 봇을 개발하였습니다.  이번 글에서는 Python과 Flask를 사용하여 Disco..
클라우드와 클라우드 아키텍처
·
Cloud
클라우드와 온프레미스 클라우드(Cloud) 광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경 클라우드를 이용하면 필요한 컴퓨팅 자원을 인터넷으로 쉽게 이용할 수 있다. 온프레미스 기업의 서버를 클라우드와 같이 가상의 공간이 아니라, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식 클라우드 이전에 가장 일반적으로 사용되던 시스템으로 직접 인프라를 구축하는 방식을 뜻한다. 클라우드와 정반대로 온프레미스는 필요한 시스템을 구축하기 위해 하드웨어와 소프트웨어를 각각 구입하고 특정 공간에 직접 인프라 환경을 구성한다. 온프레미스와 클라우드와의 차이점 클라우드와 온프레미스를 비용, 보안, 구축 및 관리 측면에서 비교해 보면 아래와 같..
AWS Cloud Practitioner 2. 클라우드 컴퓨팅
·
Cloud/AWS
모듈 2 소개가상화 : 단일 컴퓨터의 하드웨어 요소를 일반적으로 가상 머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할할 수 있도록 해주는 기술하이퍼바이저 : 가상 머신과 실제 하드웨어 사이에서 조정해주는 역할멀티 테넌시 : 여러 가상머신이 기본적인 하드웨어를 공유하는 것  Amazon EC2 인스턴스 유형 범용 인스턴스컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공애플리케이션, 게임, 백엔드 서버에 적합컴퓨팅 최적화 인스턴스고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합고성능 웹 서버, 컴퓨팅 집약적 애플리케이션 서버 및 게임 전용 서버에 적합많은 트랜잭션을 처리해야 하는 일괄 처리 워크로드에 사용 가능메모리 최적화 인스턴스메모리에서 대규모 데이터 집합을 처리하는 워크로드에 빠른 성능..
AWS Cloud Practitioner 1. Amazon Web Service 소개
·
Cloud/AWS
모듈 1 소개클라이언트-서버 모델 클라이언트 : 컴퓨터 서버에 요청을 보내기 위해 상호 작용하는 웹 브라우저 또는 데스크톱 애플리케이션서버 : 가상 서버인 Amazon Elastic Compute Cloud(Amazon EC2)와 같은 서비스 클라우드 컴퓨팅온디멘드 제공온디맨드 제공 : AWS가 사용자에게 필요한 리소스를 필요한 순간(On-demand)에 전달할 수 있다는 뜻 미리 통보하지 않고도 필요한 스토리지를 필요한 순간에 바로 사용스토리지가 필요 없어지면 반환하여 비용 지불을 바로 중단배포 모델클라우드 기반 배포기존 애플리케이션을 클라우드로 마이그레이션클라우드에서 새 애플리케이션을 설계 및 빌드 혹은 실행온프레미스 배포프라이빗 클라우드 배포가상화 및 리소스 관리 도구를 사용하여 리소스를 배포애플리..