AWS 가입하기 

AWS를 사용해본적이 없다고 하더라도 글로벌한 클라우드를 서비스 혹은 아마존에서 제공하는 클라우드 서비스라는 것은 들어봤을 겁니다. 인터넷 서비스를 하기위해서 예전에는 물리적인 네트워크 장비, 서버 장비를 데이터센터 혹은 회사 전산실에 들여 놓은 다음에, 운영체제 설치하고 설정하고 엄청난 시간을 들여서 인프라를 구축했습니다.지금은 이 과정이 "소프트웨어화 ...

Terraform 소개 

테라폼(Terraform)은 HashiCorp에서 개발한 오픈소스 IaC(Infrastructure as code) 소프트웨어다. 개발자는 테라폼에서 제공하는 HCL(Hashicorp Configuration Language)라는 고수준 설정 언어(high-level configuration language) 혹은 json 를 이용해서 데이터센터 인프라스트...

AWS Key Management Service 

AWS KMS는 데이터의 암호화를 위해서 사용하는 관리형 서비스다. KMS는 고가용성의 키 저장소와 관리 감사 기능을 제공한다. 이를 이용해서 애플리케이션에서 사용하는 데이터를 암호화 할 수 있으며, AWS 서비스에 저장되는 데이터(예를들어 S3에 저장되는 파일)을 암호화하기 위한 키를 (안전하게)관리 할 수 있다. AWS KMS에서 생성한 마스터 키는 F...

Aurora RDS 백업과 복구 

데이터베이스를 복원하는 것은 쉬운일이 아니다. 복원하는 방법을 찾기전에, (가능한)복원할 일이 없도록 시스템과 운영정책을 만드는게 우선이다. 애플리케이션 권한을 분리한다. 프러덕트 영역의 데이터베이스로의 접근을 엄격히 제한한다. 접근이 필요한 경우 필요한 권한만 준다. 상태를 모니터링하러 접속하는데 DELETE, UPDATE 권한을 모두 줄 필요는 없다...

Serverless Aurora 

는 컴퓨팅 노드와 스토리지를 분리하는 것으로 확장성과 성능, 유연성을 확보했다. 그래도 여전히 컴퓨팅을 담당하는 EC2 인스턴스는 필요했다. AWS는 2018년 서버노드가 전혀 필요 없는 말 그대로의 서버리스(Serverless) Aurora 서비스를 출시했다. Aurora 서버리스는 온디맨드 방식으로 제공되며, 자동으로 크기가 조정되는 서버리스 Auror...

AWS EMR 

이 문서는 을 갖췄다는 가정하에 작성했다.맵리듀스(MapReduce)는 분산&병렬처리 알고리즘을 이용 클러스터링 환경에서 빅 데이터 세트를 처리하기 위한 프로그래밍 모델및 관련 구현체를 일컫는다. 맵리듀스 프로그래밍 관련 구현체중 가장 유명한 구현체가 하둡 맵리듀스다. 하둡 스트리밍은 Hadoop에서 배포하는 유틸리티다. 이 유틸리티를 이용하면, mappe...

VPC Private link를 이용한 SaaS 개발 

PrivateLink는 VPC 내부에서 외부에 있는 다른 서비스를 연결하기 위한 기술이다. PrivateLink를 이용하면, 퍼블릭 네트워크(인터넷)을 거치지 않고도 AWS의 서비스와 다른 서비스(다른 계정의 네트워크, 다른 VPC에 존재하는)를 호출 할 수 있다.PrivateLink는 아래와 같은 장점이 있다. 트래픽보호 간단한 네트워크 구성 마이그레...

Prometheus 

프로메테우스는 단순함과 안정성을 두고 개발된 오픈소스 기반 모니터링 시스템이다. 2012년에 배포된 이래로 많은 기업과 조직들이 프로메테우스를 채택하고 있으며, 활발한 커뮤니티와 열성적인 개발자의 지원을 받고 있다. 2016년에 Kubernetes에 이어서 두번째로 CNCF(Cloud Native Computing Foundation)에 가입을 했다.프로메...

클라우드 개요 

클라우드 컴퓨팅은 컴퓨터 시스템의 구성 요소들을 모아서 하나의 풀로 만든다. 그리고 어떤 유저가 컴퓨터 자원을 요청 할 때, 풀에서 일부분을 떼어내서 대여하는 서비스를 클라우드 서비스라고 한다.사용자는 직접 물리적인 인프라를 구성, 운영하는 대신에, 마치 "전기나 수도"처럼 필요한 필요한 만큼 빌려서 사용 할 수 있다. 때문에 다른 복잡한 것들에 신경쓰지 ...

Redis data structure - List 

Redis 리스트(List)는 입력순서에 따라 정렬된 string의 목록이다. 목록의 왼쪽 혹은 오른쪽 끝에 새로운 요소를 밀어 넣는 식으로 리스트에 string 데이터를 추가 할 수 있다. 링크드리스트(Linked List)의 구현이라고 보면 된다.LPUSH(Left push)는 왼쪽에 데이터를 추가하는 반면, RPUSH(Right Push)는 오른쪽에 ...