반응형
AWS EC2 인스턴스를 처음 실행 하면 몇 가지 설정을 진행해야 합니다.
Ubuntu 인스턴스를 몇 번 설정해보니 공통적으로 수행해야 하는 설정이 있어서 배치 파일로 만들어뒀습니다.
init_ubuntu.sh
clear
touch init_std.log
echo ":: AWS EC2 Instance Initialzer for Ubuntu"
echo " "
echo " "
# node 설치
echo "::::::::::::::::::::::::::::::"
echo ":: Installing node.js v8... ::"
echo "::::::::::::::::::::::::::::::"
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - &> init_std.log
sudo apt-get install -y nodejs &> init_std.log
echo ":: node.js v8 installed. ::"
echo "::::::::::::::::::::::::::::::"
echo " "
# PM2 설치
echo ":::::::::::::::::::::::"
echo ":: Installing pm2... ::"
echo ":::::::::::::::::::::::"
sudo npm i --global pm2 &> init_std.log
echo ":: pm2 installed. ::"
echo ":::::::::::::::::::::::"
echo " "
# git 암호 저장 설정 변경
sudo git config --global credential.helper store &> init_std.log
echo ":::::::::::::::::::::::::::::::::::::::::::"
echo ":: Changed git credential configuration. ::"
echo ":::::::::::::::::::::::::::::::::::::::::::"
echo " "
# 시간대 설정
sudo timedatectl set-timezone Asia/Seoul &> init_std.log
echo ":::::::::::::::::::::::::::::::::::"
echo ":: Timezone changed: Asia/Seoul. ::"
echo ":::::::::::::::::::::::::::::::::::"
echo " "
# 포트 포워딩 설정
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE &> init_std.log
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000 &> init_std.log
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3001 &> init_std.log
echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo ":: Port-forwarding configured: 80 to 3000 and 443 to 3001. ::"
echo ":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo " "
echo " "
echo ":: Initialized."
echo " "
10-19: Node.js V8을 설치합니다. 필요하지 않다면 삭제합니다.
21-29: PM2를 설치한다. 필요하지 않다면 삭제합니다.
31-37: Git을 사용할 때 사용자 암호는 영구적으로 저장하도록 설정합니다.
39-45: EC2 인스턴스는 기본적으로 UTC 시간대를 사용합니다. 이를 KST인 UTC+9로 설정합니다.
47-53: 외부 80 포트를 내부 3000 포트, 외부 443 포트를 3001 포트로 포워딩합니다. 포트포워딩이 불필요하다면 삭제합니다.
사용법
- 위 본문의 코드를 임의의 디렉토리에 init_ubuntu.sh로 저장합니다.
- 새로 실행한 인스턴스로 업로드 합니다.
- 다음의 명령어로 실행합니다.
chmod +x init_ubuntu.sh && ./init_ubuntu.sh
반응형