이번엔 InfluxDB를 설치하도록 합시다. 기본적으로 8086 포트를 listen합니다.

Docker

> docker run -d -p 8086:8086 influxdb

Homebrew

> brew install influxdb
> brew services start influxdb

Ubuntu & Debian

> wget https://dl.influxdata.com/influxdb/releases/influxdb_1.5.2_amd64.deb
> sudo dpkg -i influxdb_1.5.2_amd64.deb

Windows

> wget https://dl.influxdata.com/influxdb/releases/influxdb-1.5.2_windows_amd64.zip
> unzip influxdb-1.5.2_windows_amd64.zip


특정 데이터들을 환경 변수로 관리해야 할 경우가 생길 수 있습니다. 백엔드 어플리케이션의 secret key나, API 문서 URI, slack bot을 다루기 위한 slack token 등이 될 수 있습니다.

export

export 명령을 통해 환경 변수를 설정할 수 있습니다.

> export SECRET=super-secret!!

그러나 이렇게 설정한 환경변수는, terminal을 종료하거나 운영체제를 재부팅하면 해제됩니다. 따라서 쉘이 시작될 때마다 위의 export를 실행하도록 해야 하는데, 이는 .profile 파일을 통해 설정할 수 있습니다.

.profile

.profile, /etc/profile 등 profile에 관련된 파일들은 사용자가 로그인할 때마다 실행되는 스크립트를 정의하기 위한 파일입니다. 대표적으로 사용하는 profile 파일은 아래 2가지가 있습니다.

  • /etc/profile : 모든 사용자에게 공통으로 적용되는 스크립트
  • .profile : 해당 사용자에 한해 적용되는 스크립트, 보통 /home/[user]/.profile에 위치하며, root인 경우 /home/root/.profile에 위치

따라서 사용자가 로그인하면 /etc/profle -> /home/[user]/.profile의 순서로 스크립트가 실행됩니다. 둘 중 하나의 파일을 nano, vim 등의 에디터를 이용해 열어 export 구문을 삽입하고, 저장한 후 아래의 명령을 실행합니다.

> source ~/.profile | source /etc/profile

이제 쉘에 로그인할 때마다 profile에 정의해 둔 스크립트가 실행되어 환경 변수가 설정될 것입니다.

환경 변수 확인과 해제

env 명령을 이용해 환경 변수를 확인할 수 있습니다. grep과 함께 사용하여 특정 환경 변수만 확인할 수도 있습니다.

> env
> env | grep [ENVVAR_NAME]

아래의 명령을 통해 환경 변수를 해제할 수 있습니다.

> unset [ENVVAR_NAME]

마침내 클라우드 DB의 시대가 열리고 있다라는 글을 본 적이 있었습니다. 이 기사에선 아래와 같이 이야기합니다.

"지난 몇 년 동안 많은 기업이 온프레미스 워크로드를 퍼블릭 클라우드로 옮기려 노력했다. 그러나 데이터베이스는 가장 힘든 워크로드였다. (...) 최근 유럽 최대 항공사인 라이언에어(Ryanair)가 대규모 클라우드 전환 계획을 발표했다. 인프라스트럭처를 모두 AWS로 이전하는 것으로 문자 그대로 '클라우드 올인'이다. 이번 발표에서 가장 주목해야 할 부분은 "AWS 데이터베이스로 표준화한다"는 대목이다. 마이크로소프트 SQL 서버를 아마존 오로라(Aurora)로 완전히 대체한다는 것이다. 필자는 드디어 때가 왔다고 본다. 기업이 데이터베이스를 클라우드 데이터베이스를 이전하는 행렬이 이어진다면, 이 시장의 게임은 완전히 새로운 국면에 접어드는 것이다."


사내에서 Aurora를 써본(쓰는 걸 옆에서 지켜본) 적이 있었습니다. 클라우드 컴퓨팅 자원 위에 데이터베이스를 올리는(RDS같은) 경험은 몇 번 해 봤어도, 클라우드 자체에서 제공하는 데이터베이스 엔진을 사용하는 것은 처음 하는 일이라 새로우면서도, 좋은 경험이었습니다. MySQL의 데이터를 마이그레이션한 이후, 비용도 비용이지만 속도가 눈에 띄게 빨라졌기 때문입니다. Amazon Aurora는 완전 관리형이면서, PostgreSQL, MySQL과 호환되는 RDBMS입니다.

RDS는 훌륭한 관리형 RDB 서비스지만, MySQL과 같이 지원하는 엔진들이 클라우드 환경에 최적화 되었다고 보긴 어렵습니다. 이들은 클라우드 환경에 맞게 성능과 가용성을 끌어내기 어렵다는 문제가 있었는데, Aurora는 이런 문제를 해결하기 위해 AWS가 쏟은 노력의 결과입니다. 일반적으로 MySQL에 비해 5배, PostgreSQL에 비해 3배 정도까지 처리량이 향상됩니다. MySQL과 PostgreSQL 데이터베이스에 사용되는 코드, 도구, 어플리케이션 모두 Aurora에서도 적용할 수 있어 이 둘을 즉시 대체할 수 있습니다.

'AWS' 카테고리의 다른 글

[AWS] AMI  (0) 2018.09.06
[AWS] Route 53  (0) 2018.09.06
[AWS] Athena  (0) 2018.09.06

+ Recent posts