반응형

TIL 33

AWS 서버 구축 (EC2 vs RDS)

AWS 서버 구축 (EC2 vs RDS) AWS를 이용하여 서버를 구축할 때, Database를 구축하는 방법에는 2가지 방법이 있다. 첫번째로는 EC2에다가 직접 설치해서 관리하는 것이고, 두번째 방법은 RDS 서비스를 이용하는 것이다. 두 경우에는 장단점이 존재한다. 전자는 직접 DB서버를 설치 및 관리하는 것으로 local 서버 환경을 AWS의 가상환경으로 옮긴 것 이외에는 크게 차이점이 없다. 그러므로 OS와 RDBMS를 자유롭게 선택하고 설정할 수 있는 장점이 있다. 하지만 OS와 DB환경을 사용자가 직접 관리해줘야 하는 부담이 있다. 후자는 패치 적용과 백업이 자동화되어 있기 때문에 운영상에 큰 도움을 받을 수 있다. 가능한 한 아마존 RDS를 사용하는 편이 설정과 운영에 들어가는 수고를 줄여..

TIL/AWS 2022.03.01

AWS 요금 및 고려사항

서비스별 요금 1. 온디맨드 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 Amazon EC2를 사용하기 원하는 사용자 단기의 갑작스럽거나 예측할 수 없는 워크로드가 있으며, 중단되어서는 안 되는 애플리케이션 Amazon EC2에서 처음으로 개발 또는 시험 중인 애플리케이션 2. 스팟 인스턴스 시작 및 종료 시간이 자유로운 애플리케이션 컴퓨팅 가격이 매우 저렴해야만 수익이 나는 애플리케이션 대량의 서버 용량 추가로 긴급히 컴퓨팅 파워가 필요한 사용자 3. Savings Plans 1년 또는 3년 기간의 일정 사용량 약정을 조건으로 EC2 및 Fargate 사용량에 대해 저렴한 요금을 제공하는 유연한 요금 4. 예약 인스턴스 수요가 꾸준한 애플리케이션 예약 용량이 필요할 수 있는 애플리케이션 총 컴퓨팅..

TIL/AWS 2022.03.01

Lambda

Lambda AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다. 즉, AWS에서 제공하는 서버리스 컴퓨팅 서비스이다. * 프로비저닝이란 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말합니다. 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있고 수동으로 처리하는 "수동 프로비저닝"과 자동화 툴을 이용해 처리하는 "자동 프로비저닝"이 있다. * 서버리스 컴퓨팅은 애플리케이션을 실행하기 위해 별도의 서버 셋업 없이 곧바로 코드를 실행해주는 서비스를 의미한다. AWS Lambda 특징 AWS Lambda..

TIL/AWS 2022.03.01

Auto Scaling

Auto Scaling AWS Auto Scaling은 정책에 따라서 시스템을 자동으로 늘리고 줄여주기도 한다. 예를 들어 갑자기 트래픽이 폭주하면 서비스에 참여하고 있던 서버들의 CPU 사용률이 점점 높아진다. 그러다 CPU 점유율이 80%를 넘게되면 미리 준비된 이미지(AMIs)를 이용해서 인스턴스를 생성하고, ELB에 연결해서 트래픽을 새로 생성한 EC2 인스턴스에 분산한다. 트래픽이 줄어들면서 CPU 사용률이 20% 아래로 떨어지면 EC2 인스턴스가 순차적으로 제거된다. 비용을 절감할 수 있다. Auto Scaling을 통해 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지할 수 있다. 클라우드 자체가 하드웨어를 요구되는 수준만큼만 리..

TIL/AWS 2022.03.01

RDS(Relational Database Service)

RDS(Relational Database Service) Relational Database Service의 약자로 아마존 웹서비스에서 제공하는 데이터베이스 전용 서비스다. 데이터베이스를 운영 하기 위해서 필요한 복제, 백업, 장애복구와 같은 작업을 대행해준다. Amazon RDS는 완전관리형이 아닌 데이터베이스 배포와 비교해서 다음과 같은 특정 이점을 제공한다. 이미 친숙한 MySQL, MariaDB, PostgreSQL, Oracle 및 Microsoft SQL Server 같은 데이터베이스 제품을 사용할 수 있다. Amazon RDS는 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리한다. 자동화된 백업을 설정하거나 고유한 백업 스냅샷을 수동으로 생성할 수 있다. 이러한 백업을 사용하여 데..

TIL/AWS 2022.03.01

EBS(Elastic Block Store)

EBS(Elastic Block Store) EBS란 Elastic Block Store의 약자로 일종의 하드디스크라고 생각하면 된다. EBS의 특징은 아래와 같다. 필요한 용량에 맞게 구입할 수 있다. 이를테면 EC2 인스턴스를 웹서버의 용도로만 쓰고 파일 저장은 S3를 사용한다면 넉넉 잡고 1기가바이트만 구입하면 된다. 필요에 따라서 즉시 생성하고, 제거할 수 있다. 사용한 만큼 과금 되는 종량제다. 자세한 내용은 설명서의 비용예측을 참고한다. 내부적으로 데이터를 실시간 복제하고 있기 때문에 하드디스크에 비해서 데이터를 잃어버릴 확률이 현저히 낮다. 스냅샷 기능을 제공해서 EBS의 현재 상태 그대로 보존할 수 있다. CloudWatch를 통해서 EBS의 통계를 열람할 수 있다. EC2 인스턴스를 제거..

TIL/AWS 2022.03.01

EC2(Elastic Compute Cloud)

EC2(Elastic Compute Cloud) Amazon Elastic Compute Cloud(Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스이다. 이용자는 높은 초기 비용, 유지 및 보수 등의 다양한 제약에서 벗어나서 단시간 안에 여러 가지 프로세서, 스토리지, 네트워킹, 운영 체제, 구매 모델을 선택하여 생성할 수 있으며 사양 변경, 삭제도 쉽게 실행할 수 있는 AWS서비스이다. Ex)서버 구축이 이미 되어있는 상태에서 운영체제를 재설치 하거나 하드디스크를 포맷할 필요 없이 하드디스크 용량을 변경할 수 있고, PC 사양을 변경할 수 있다. 변경할 수 있는 카테고리 : CPU 코어 수, RAM의 양, 할당된 인스턴스 스토어 공간의 양, EBS 최적..

TIL/AWS 2022.03.01

AWS (Amazon Web Services)

AWS란? AWS(Amazon Web Service)는 소위 클라우드 서비스라고도 한다. 클라우드 서비스란, *인프라스트럭쳐를 필요한대로 *On-Demand로 사용할 수 있는 서비스이다. 즉 유저가 직접 서버를 구입하고 설치할 필요없이 AWS상에서 클릭 몇 번으로 서버를 구축하고 사용할 수 있다. *인프라스트럭쳐 : 개발환경의 하드웨어나 소프트웨어, 네트워킹, 운영 체제, 데이터 스토리지 등을 모두 지칭하는 것 *On-Demand : 주문형, 요구사항에 따라 즉시 제공/공급하는 방식 AWS 필수 개념 AWS가 제공하는 기능들은 굉장히 방대하고 다양다. 그 중 일반적으로 많이 사용되는 개념과 기능들은 다음과 같다. EC2(Elastic Compute Cloud) AWS 상에서 사용하는 Server. EC2..

TIL/AWS 2022.03.01

[ECMASciprt6+ Features] 7. Promise

Promise 개요 computer science 에서는 보통 동기 프로그램을 작성할 때 future, promise, delay, deferred 로 아직 실행되지 않은 구문을 작성한다. 웹에서 요청과 응답이 많아 지면서, 동기 프로그램을 작성해야 하는 상황이 많이 발생하였다. 이를 해결하기 위해 ECMAScript6 부터 Promise 패턴이 추가되었다. Promise는 3가지 상태가 존재한다. pending : 대기상태 fulfilled : 성공상태 rejected : 실패상태 // pending 대기상태 var pending = new Promise((resolve) => {}); console.log(pending); // pending // [[PromiseStatus]]: "pending" ..

TIL/JavaScript 2021.07.22

[ECMASciprt6+ Features] 6. import, export

import, export import : 다른 스크립트의 특정 함수, 객체, primitives를 사용하기 위해 들여오는 키워드이다. export : 반대로 스크립트 내의 특정 함수, 객체, primitive를 내보내는 키워드이다. // module.js export var port = 3000 export function getAccounts(url) { ... } main.js 파일에서는 import를 사용해서 module.js 모듈을 불러올 수 있다. import {port, getAccounts} from 'module' console.log(port) // 3000

TIL/JavaScript 2021.07.22
반응형