Aurora RDS 백업과 복구

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

GoLang 로드맵

Go 패키지관리

Go1.10 버전까지는 패키지를 관리하기 위한 마땅한 도구가 없었다. 하지만 프로젝트의 규모가 커지다 보면, 패키지 관리가 필요해지기 마련이라서 dep, glide, vgo 등의 다양한 툴들이 개발됐다. 요즘 같은 시대에 개발환경을 통일해야 하나라는 주장이 있기도 하지만, 소프트웨어 의존성을 관리의 경우 다양한 툴이 있다는 것은 좋은 소식이 아니다. 다행히 Go 1.11 버전 부터 Go modules로 통합이 됐다. 이제 개발자들은 어떤 종속성관리 툴을 사용해야할지 걱정할 필요 없이, 언어에서 제공하는 표준 툴로 개발할 수 있게 됐다. 참고로 내가 최근까지 사용하던 종속성 관리 툴은 glide 였다.

AWS Key Management Service

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

Terraform 소개

테라폼(Terraform)은 HashiCorp에서 개발한 오픈소스 IaC(Infrastructure as code) 소프트웨어다. 개발자는 테라폼에서 제공하는 HCL(Hashicorp Configuration Language)라는 고수준 설정 언어(high-level configuration language) 혹은 json 를 이용해서 데이터센터 인프라스트럭처를 정의할 수 있다. 테라폼은 Amazon Web Service, IBM Cloud, Google Cloud Platform, Linode, Microsoft Azure, Oracle Cloud Infrastructure, VMware vSphere, OpenStack 등의 인프라스트럭처 제공자를 지원한다.

AWS 가입하기

AWS를 사용해본적이 없다고 하더라도 글로벌한 클라우드를 서비스 혹은 아마존에서 제공하는 클라우드 서비스라는 것은 들어봤을 겁니다. 인터넷 서비스를 하기위해서 예전에는 물리적인 네트워크 장비, 서버 장비를 데이터센터 혹은 회사 전산실에 들여 놓은 다음에, 운영체제 설치하고 설정하고 엄청난 시간을 들여서 인프라를 구축했습니다.지금은 이 과정이 "소프트웨어화 됐습니다." 인프라 구축자는 물리적인 제약같은 것들은 신경쓰지 않고 API나 CLI 툴 혹은 웹 콘솔상에서 몇 번의 클릭, 몇 줄의 명령어를 실행하는 것으로 즉시 서비스 인프라를 구성 할 수 있습니다.

스크린 캐스팅 시스템 구성

유튜버 활동을 해보기로 했다. 스크린캐스팅으로 시작할 계획이며, 이에 따라서 필요한 소프트웨어의 설치와 테스트를 진행 했다.먼저 운영체제를 선택해야 했다. 대부분 윈도우즈 운영체제를 사용 할 것이다. 하지만 내 경우 모든 컨텐츠가 리눅스 위에서 만들어지기 때문에, 리눅스위에서 사용 할 수 있는 툴들을 선택해야 했다. 현재 내 환경을 소개해 보자면 개발 환경 데스크탑

PSTN - Public Switched Telephone Network

PSTN은 국가나 지역 전화 통신사업자가 운영하는 회선교환 방식의 전화 네트워크의 집합체이며, 공용 통신을 위한 인프라와 서비스를 제공한다. PSTN은 전화 회선, 광섬유 케이블, 마이크로 웨이브 전송 링크, 셀룰러 네트워크, 통신 위성 및 해저 전화 케이블로 구성된다. 이들 구성요소들은 스위치로 상호연결되므로 대부분의 전화기가 통신하는데 문제 없다. 원래는 아날로그 시스템의 네트워크였지만 지금은 거의 전적으로 디지털화 됐다.

PBX

PBX(Private Branch Exchange)는 그룹(회사, 특정 목적으로 모인 집단)에서 사용하는 사설 전화 네트워크다. PBX 전화 시스템을 이용하여 내부 사용자들은 외부 회선을 공유하여 외부와 통화 할 수 있다. PBX는 회사 내의 내부 전화들을 연결하는 한편, 내부 전화를 에도 연결한다. 이 방법을 이용해서 필요한 전화회선의 수를 줄일 수 있다. 인터넷 회선을 공유해서 사용하는 LAN(Local Area Network)와 비슷한 개념이다. 전화, 팩스 등은 PBX에 연결되며, 내선번호를 이용해서 각 디바이스를 식별한다.

SIP

SIP(Session Initiation Protocol - 세션 개시 프로토콜)은 IETF에서 정의한 시그널링 프로토콜로 음성과 화상 통화 같은 멀티미디어 세션을 제어하기 위해서 사용한다. 시그널링 프로토콜은 전화 또는 VOIP 터미널간의 연결 상태를 식별하기 위한 프로토콜이다. 간단히 말해서 통신 하고자 하는 디바이스를 찾아서 세션의 성립, 유지, 해제, 관리를 제어하는 프로토콜이다. 주요 시그널링 프로토콜들은 아래와 같다.