AWS EC2 Ubuntu 20.04 LTS 버전에 Redis 설치

# OS 버전 확인
lsb_release -dc
Description:    Ubuntu 20.04.3 LTS
Codename:       focal

1. Redis Server 패키지 설치하기

sudo apt-get install redis-server

1-1. Redis Server 패키지 설치가 완료되면 버전 확인

sudo redis-server --version

2. Redis Server 설정

# OS .conf 경로
sudo vi /etc/redis/redis.conf
  • redis 접속 비밀번호
  • redis에 접속 가능한 ip 주소
  • redis가 사용할 min/max 메모리
  • 메모리가 가득 찼을 때 데이터 교체 알고리즘 등등..

2-1. Redis Server 메모리 설정

설정 파일에서 maxmemory 옵션으로 설정

max 메모리 값 만큼의 용량이 확보

maxmemory <bytes> 라인의 주석(#) 해제하고 <bytes> 부분에 원하는 max 메모리 값을 입력

데이터 단위 정보 까지 포함 (ex: maxmemory 1gb, 1g, 1mb, 1m, 1kb, 1k)

2-2. Redis Server 데이터 교체 알고리즘 설정

maxmemory-policy 옵션으로 설정.

maxmemory-policy  라인의 주석(#) 해제하고 원하는 데이터 교체 알고리즘 값을 넣습니다. Ex: 모든 키에 대해서 사용된 지 가장 오래된 데이터를 삭제하는 allkeys-lru 알고리즘

가능한 교체 알고리즘의 목록과 설명은 https://redis.io/topics/lru-cache <<Eviction Policies 부분 확인

정책명 설명

noeviction ★ 기존 데이터 삭제 안함. 메모리 한계에 도달하면 OOM 오류 반환하며 새 데이터가 저장되지 않는다.
allkeys-lru ★ 모든 것 중에서 LRU 기준으로 삭제하여 공간확보
volatile-lru ★ expire set을 가진 것 중 LRU로 삭제하여 간확보
volatile-ttl ★★ expire set을 가진 것 중 TTL이 짧은 것부터 삭제하여 공간확보
allkeys-random 모든 것 중에서 랜덤으로 삭제하여 공간확보
volatile-random expire set을 가진 것 중에서 랜덤으로 삭제하여 공간확보

2-3. Redis Server 외부 접속 설정

외부 접속 설정 ip 정보는 bind 옵션으로 설정 가능

bind 값 수정

2-4. Redis Server 패스워드 설정

SECURITY 영역 이동 requirepass <비밀번호> 라인(#)주석 해제 후 설정

2-5. Redis Server Port 설정

2-6. Redis Server Port Bind 확인

ubuntu@ip-172-31-59-154:/etc/redis$ sudo ps -ef | grep redis
redis    2859926       1  0 16:55 ?        00:00:00 /usr/bin/redis-server 0.0.0.0:6379
ubuntu   2862300 2715715  0 17:02 pts/0    00:00:00 grep --color=auto redis

3. Redis Streams Consumer Groups 생성

 
sudo redis-cli
6379> XGROUP CREATE webhook group-1 $ MKSTREAM

3-1. Redis Server 설정 후 서비스 재 시작

sudo systemctl stop redis-server
sudo systemctl start redis-server
sudo systemctl status redis-server
sudo systemctl restart redis-server

 

Ubuntu 20.04 LTS 버전에 MongoDB 설치

# OS 버전 확인
lsb_release -dc
Description:    Ubuntu 20.04.3 LTS
Codename:       focal

1. 패키지 관리 시스템에서 사용하는 public key 가져오기

wget -qO - <https://www.mongodb.org/static/pgp/server-4.4.asc> | sudo apt-key add -

2. MongoDB를 위한 List 파일 만들기

List 파일을 만드는 방법은 우분투 버전에 따라 다르기 때문에 이 글의 도입부에 안내 한대로 본인의 우분투 버전을 확인하고, 그에 맞춰 진행해야 한다.

(현재 우분투 20.04 버전 입니다.)

$ echo "deb [ arch=amd64,arm64 ] <https://repo.mongodb.org/apt/ubuntu> focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

3. 로컬 패키지 데이터베이스 불러오기

MongoDB 패키지 설치를 위해, 먼저 터미널 창에서 다음 명령어를 실행해 로컬 패키지 데이터베이스를 불러온다

sudo apt-get update

4. MongoDB 패키지 설치하기

(3) 번 작업이 완료되었다면, 이제 MongoDB 패키지를 설치해주자.

아래의 명령어로 최신 안정 버전의 MongoDB 설치

sudo apt-get install -y mongodb-org

5. MongoDB 실행하기

터미널에서 아래 명령어로 몽고디비를 실행.

sudo systemctl start mongod

mongodb - 상태 확인

sudo systemctl status mongod

mongodb - 재 시작

sudo systemctl restart mongod

mongodb - 시작

sudo systemctl start mongod

mongodb - 중지

sudo systemctl stop mongod

mongodb - 시스템 재부팅 후 시작되도록 설정

sudo systemctl enable mongod

6. MongoDB 사용 시작하기

아래 명령어를 사용해 mongo 실행하면 27017 포트(default port)로 localhost에서 실행 중인 mongod에 연결된다. (서비스가 정상으로 접속이 되는지 확인.)

mongo

7. MongoDB 외부에 연결(AWS EC2)

mongoDB는 디폴트로 내부에서만 접속을 허용하고 있기 때문에. 이 작업은 외부에서 접근이 가능하도록 설정을 수정합니다.

sudo vi /etc/mongod.conf
# mongod.conf

# for documentation of all options, see:
#   <http://docs.mongodb.org/manual/reference/configuration-options/>

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

7-1. 아래 네트워크 인터페이스 내용 수정

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0

 

7-2. 내용 수정 후 mongod 서비스 재 시작

sudo service mongod restart

'Database' 카테고리의 다른 글

[PostgreSQL] Stored Procedure  (1) 2022.09.21
Redis 설치 및 설정(AWS EC2)  (0) 2022.03.22
[MS-SQL] 대용량 데이터 삭제하기  (0) 2021.12.29
Database Naming rule  (0) 2021.09.14
[MS-SQL] SQL_SERVER DB계정 Query  (0) 2021.08.30

+ Recent posts