안녕세계
[Node.js] Redis & ElastiCache 본문
[Node.js] Redis & ElastiCache
Junhong Kim 2016. 10. 21. 14:26- ElasticCache for Redis -
[Step1] Create Security Group
AWS > Compute > EC2 > NETWORK & SECURITY > Security Groups 에 들어갑니다.
상단에 Creaste Security Group 클릭!
- Security group name : 이름
- descrtiption : 설명
- VPC : VPC 선택
Create 클릭!
Security group을 생성한 뒤 Redis inbound에 TCP 6379 port를 추가 시켜줍니다.
[Step2] Create ElastiCache
AWS > Database > ElastiCache 클릭!
Get Started Now 클릭!
※ 주의!! free-tier 사용시 설정해 줘야 하는 것들
- Node type : cache.t2.micro (0.5GiB) free tier에서 이용하실 분은 꼭 t2.micro를 선택하셔야 750시간 동안 요금이 부과되지 않습니다.
- Multi-AZ with Auto-Failover : t2에서는 지원하지 않기 때문에 체크를 해제 해줍니다.
- Securit groups : 이전에 만든 Redis로 설정 이때 해당 Security group을 설정하면 해당하는 곳에 연결됩니다.
설정을 완료한후 Create 클릭!
status에 creating 이라고 나오고 5분정도 기다려줍니다.
생성이 완료되면 status가 available로 바뀝니다.
" 여기까지 하셨다면 ElastiCache for Redis 생성 완료! : ) "
[Step3] Connect ElastiCache(Redis) to Node.js
Node.js에서 사용하기 위해 필요한 모듈을 먼저 설치를 합니다.
npm install redis --save
npm install connect-redis express-session --save
[ app.js ]
var redis = require('redis');
var redisClient = redis.createClient();var session = require('express-session');
var RedisStore = require('connect-redis')(session);
app.use(session({
store: new RedisStore({
client: redisClient, // client redis
host: 'Primary Endpoint',
port: 6379 // Redis port 번호
}),
secret: 'SecretKey', // Secret Key는 아무거나 입력하시면 됩니다.
resave: true, // 요청때 세션이 수정된게 없으면 강제로 세션 저장
saveUninitialized: true, // 저장된게 없으면 세션을 저장
cookie: {
path: '/',
httpOnly: true,
secure: false, // 안전한 상태에서만 쿠키를 보내겠습니다. (https 에서만 보내겠다는 뜻)
maxAge: 1000 * 60 * 60 * 24 * 30 // 쿠키 저장되는 만료기간 (단위 * 초 * 분 * 시 * 일)
}
}));
redis서버에 접속하기 위해서 RedisStore에 클라이언트, 호스트, 포트를 지정해 줍니다
여기서 호스트는 위에서 우리가 만든 redis를 눌러보면 primary Endpoint가 있는데 이를 지정해줍니다.
port는 말그대로 port 번호
- 끝 -
※ 필독!!
ElastiCache를 사용하면 RedisStore가 EC2를 통하므로 세션 기능을 사용하려면 EC2에서 테스해야합니다.
로컬에서 테스트 해보려면 로컬에 Redis 설치하세용~
[참고]
http://gun0912.tistory.com/45
'Server > Node.js' 카테고리의 다른 글
[Node.js] mongoose를 사용하여 MongoDB 연동 (0) | 2017.04.12 |
---|---|
[Node.js] MongoDB 설치 & 환경설정 (for MAC) (0) | 2017.04.12 |
[Node.js] forever 사용법 (for MAC) (0) | 2016.11.21 |
[Node.js] passport & passport-local (with Redis) (0) | 2016.10.24 |
[Node.js] Sequelize (0) | 2016.09.27 |