AWS Gravton EC2에서 개인 프로젝트 세팅과정 정리
spec: t4g.small (2CPU 2G Mem) / 20GB SSD (gp3)
Basic
-
Timezone amazon linux2
Set the time for your Linux instance - Amazon Elastic Compute Cloud
timedatectl
timedatectl list-timezones
sudo timedatectl set-timezone Asia/Seoul
-
zsh & oh my zsh
sudo yum install zsh
sudo lchsh $USER
Logout and login
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
-
Docker 설치
sudo amazon-linux-extras install docker
sudo service docker start
sudo systemctl enable docker
sudo usermod -a -G docker ec2-user
docker info
-
Docker-compose 설치 (arm64)
How to Install Docker Compose 2 on ARM Processor Linux Host (OL7)
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-armv7 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
docker compose version
echo 'alias docker-compose="docker compose"' >> ~/.profile
Backend
-
JDK 설치
Amazon Corretto 11 Installation Instructions for Amazon Linux 2
sudo yum install java-11-amazon-corretto-headless
sudo alternatives --config java
-
Git 설치
sudo yum install git
-
Git clone
git clone https://XXX-backend.git
git clone https://XXX-frontend.git
-
AWS CLI config
[default]
output = json
region = ap-northeast-2
[default]
aws_access_key_id =
aws_secret_access_key =
docker-compose -f docker-compose.yml up db -d
docker exec -i CONTAINER mysql -uUSER -pPW DB < migration.sql
-
root유저 모든 호스트 접근가능하게 열기
docker exec -it CONTAINER mysql -uroot -p
update user set Host = '%' where User = 'root';
-
Mysql8 에서 mysqldump 할때 비번 거부되면 mysql 접속해서
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '비번';
Frontend
-
Yarn install
[Installation | Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#centos-stable)
curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
-
Yarn build
yarn build
ETC
-
Cron 등록
crontab -e
0 7 * * * /home/ec2-user/scheduled.sh