amazon elastic cache를 통해 Redis를 사용할 예정이다.
Redis를 사용하기 위해 먼저 vpc를 생성해준다.
기본 VPC를 생성하고 vpc에 모든 서브넷을 연결해준다.
다음 링크를 통해 ElastiCache 콘솔로 접속해준다.
이후 서브넷 그룹을 생성해준다.
https://ap-northeast-2.console.aws.amazon.com/elasticache/home?region=ap-northeast-2#/
이런식으로 서브넷 그룹을 생성해 주었다면 ec2 보안그룹을 하나 생성해준다.
다음 링크를 통해 보안그룹 하나를 생성해준다.
https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home:
우선 test server를 사용하기 위해 test-SG를 하나 생성해주었다.
다음은 redis_SG를 하나 생성해준다.
이제 다 생성하였다면 다시 elastic cache 콘솔로 접속하여 cluster을 생성해주도록 한다.
다중 AZ를 사용하도록 하였다. 포트는 기본값인 6379로 지정하고 요금을 절감하기 위해 t2.micro로 지정해주었다.
이후 서브넷을 기본값으로 설정하고 다음 버튼을 눌러 보안그룹을 설정하였다.
이후 그대로 생성해준다.
redis 엔드포인트를 복사하고
이제 test-server를 생성해준다.
다시 ec2 콘솔로 접속하여 생성해주도록 한다.
이름은 test로 지정하고 amazon linux로 선택한다.
test-SG를 선택하고 사용자 데이터를 다음과 같이 작성해준다.
#!/bin/bash
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
mv /usr/local/bin/aws /bin/aws
pip3 install flask
pip3 install redis
export REDIS_URL= redis://(redis-endpoint)
cat << EOF > python.py
< redis file >
EOF
chmod +x python.py
nohub python3 python.py &
이후 test instance를 생성해주고, EIP를 연결해준다.
이제 공인 IP를 복사하고 접속해준다.