Bibi's DevLog ๐ค๐
[AWS] aws ec2์ mysql ์ค์น ๋ฐ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ธฐ ๋ณธ๋ฌธ
[AWS] aws ec2์ mysql ์ค์น ๋ฐ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ธฐ
๋น๋น bibi 2021. 6. 8. 14:12AWS Ubuntu์ ์คํ๋ง ์ฑ ๋ฐฐํฌ ๊ณผ์ ๋ค์ ์ ๋ฆฌ ..
AWS EC2 ์ฐ๋ถํฌ์ mysql ์ค์น
MySQL ์ค์น
sudo apt update
sudo apt-get install mysql-server
MySQL ์ ์
mysql -u root -p
- (์ ์ ๋๋ฉด
sudo mysql -u root -p
) - (ํจ์ค์๋๋ ์ค์ ํ ๊ฐ ์ ๋ ฅ, ์์ผ๋ฉด ๊ทธ๋ฅ ์ํฐ)
- (์ ์ ๋๋ฉด
- ์์ฑํ ์ ์ ๋ก ์ ์ํ๋ ค๋ฉด
mysql -u ์ ์ ์ด๋ฆ -p
MySQL ์ฌ์ฉ์ ์์ฑ
create user '์ฌ์ฉ์์ด๋ฆ'@'ip์ฃผ์' identified by '๋น๋ฐ๋ฒํธ';
flush privileges;
- ๋ชจ๋ ip์์ ์ ์์ ํ์ฉํ๊ณ ์ถ๋ค๋ฉด
create user '์ฌ์ฉ์์ด๋ฆ'@'%' identified by '๋น๋ฐ๋ฒํธ'
- ์ดํ ์ ์์
mysql -u ์ฌ์ฉ์์ด๋ฆ -p
ํ ๋น๋ฐ๋ฒํธ๋ก ์ค์ ํ๋น๋ฐ๋ฒํธ
์ ๋ ฅ
MySQL ์ฌ์ฉ์ ํ์ธ
use mysql;
-select user, host, authentication_string from user;
MySQL ์ฌ์ฉ์์ ๊ถํ ๋ถ์ฌ
grant all privileges on ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ช .ํ ์ด๋ธ๋ช to '์ฌ์ฉ์๋ช '@'ip์ฃผ์';
๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ์ ์ ๊ทผ ํ์ฉ ๋ฐ ๋ชจ๋ ip ์ ์๊ฐ๋ฅํ ์ฌ์ฉ์์ผ ๋ :
grant all privileges on *.* to '์ฌ์ฉ์๋ช '@'%';
MySQL ์ธ๋ถ์ ์ ํ์ฉ
- MySQL์์ ๋๊ฐ ๋ค ์ฐ๋ถํฌ์์ ์๋ ๋ช ๋ น์ด ์คํ
cd /etc/mysql/mysql.conf.d
-ls
-vi mysqld.cnf
- ์ด๋ฆฐ ๋ฌธ์์์
bind-address
๋ถ๋ถ์0.0.0.0
์ผ๋ก ์์ ํ ๋ค:wq
. - readonly๋ผ๊ณ ์ ๋๋ฉด vi ๋๊ฐ ๋ค,
sudo vi mysqld.cnf
๋ก ์ฐ ๋ค ๋ค์ ์๋.
MySQL ์ฌ์์
sudo service mysql restart
AWS EC2์ MySQL๊ณผ Spring Boot ์ ํ๋ฆฌ์ผ์ด์ ์ฐ๊ฒฐํ๊ธฐ
(AWS EC2์ MySQL์ด ์ค์น๋์ด ์๊ณ , ์ธ์คํด์ค๊ฐ ์คํ ์ค์ด์ด์ผ ํจ)
- ์ธํ ๋ฆฌ์ ์ด ์ฐฝ ์ค๋ฅธ์ชฝ์ Gradle ํ๋จ [Database] ํด๋ฆญ
- [+] - [MySQL] ์ ํ
- ''ํธ์คํธ''์ ํผ๋ธ๋ฆญIPv4 ์ ๋ ฅ
- ''์ฌ์ฉ์''์ MySQL ์ ์ ์์ด๋, ๋น๋ฐ๋ฒํธ์ ํด๋น ์ ์ ์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ
- [์ฐ๊ฒฐ ํ ์คํธ] ํด๋ฆญํด ์ฐ๊ฒฐ๋๋์ง ํ์ธ(์ด๋ก์)
- ์ฐ๊ฒฐ์ด ํ์ธ๋๋ฉด ์์ฑ๋ ์ฃผ์(URL)์ ๋ณต์ฌํด
application.properties
์spring.datasource.url=
์์ ๋ถ์ฌ๋ฃ๋๋ค.
AWS EC2 ์๋ฒ์ SpringBoot jarํ์ผ ๋ฐฐํฌํ๊ธฐ
- ์ค๋น๋ฌผ : AWS EC2 ์ธ์คํด์ค(Ubuntu), spring boot ์ดํ๋ฆฌ์ผ์ด์
ํ๋ก์ ํธ์์ gradlew ํ์ผ์ด ์๋ ๊ฒฝ๋ก๋ก ์ด๋
./gradlew build jar
- ํ
์คํธ๋ฅผ ์ ์ธํ๊ณ ๋น๋ํ๋ ค๋ฉด
./gradlew build jar -x test
์์ฑ๋ jarํ์ผ์ด ์๋ ๊ฒฝ๋ก๋ก ์ด๋
TodoList-0.0.1-SNAPSHOT.jar
์ ๊ฐ์ ํ์ผ์ด ์๋ ๊ณณ์ผ๋ก- ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ
/build/libs
์๋ค
์์ฑ๋ jarํ์ผ์ AWS EC2 ์๋ฒ์ ์ ์ก
scp -i "pemํ์ผ๊ฒฝ๋ก์ํ์ผ๋ช " jarํ์ผ๋ช EC2์ฌ์ฉ์์ด๋ฆ@EC2ํผ๋ธ๋ฆญIPv4DNS:~/
์์ :
scp -i "C:/Users/rnala/key/TodoList.pem" TodoList-0.0.1-SNAPSHOT.jar ubuntu@ec2-13-125-136-48.ap-northeast-2.compute.amazonaws.com:~/
AWS EC2์ ์ ์ํด ์ ์ก๋ jarํ์ผ ํ์ธ
- ์์์ ๊ฒฝ์ฐ
TodoList-0.0.1-SNAPSHOT.jar
๊ฐ ์๋์ง ํ์ธ
- ์์์ ๊ฒฝ์ฐ
์ ์ก๋ jarํ์ผ ์คํ(= ๋ฐฐํฌ)
java -jar jarํ์ผ์ด๋ฆ.jar
์์ :
java -jar TodoList-0.0.1-SNAPSHOT.jar
๋ฐฑ๊ทธ๋ผ์ด๋ ๋ฐฐํฌ๋ฅผ ์ํ ๊ฒฝ์ฐ (์ข ๋ฃ, ๋ก๊ทธ์์ํด๋ ์คํ)
nohup java -jar jarํ์ผ์ด๋ฆ.jar &
์คํ ์ค์ธ ์๋ฐ ํ๋ก์ธ์ค ํ์ธ
ps -ef | grep java
(์กฐํ๋ ๋ด์ญ์์ ์ฒซ ๋ฒ์งธ์ 5์๋ฆฌ ์ซ์๊ฐ ํด๋น ํ๋ก์ธ์ค์
PID๋ฒํธ
์ ํด๋นํ๋ค)์คํ ์ค์ธ ์๋ฐ ํ๋ก์ธ์ค ์ข ๋ฃ
kill -9 PID๋ฒํธ
AWS EC2 ์ธ์คํด์ค์ ๋ณด์๊ทธ๋ฃน์์ 8080 ํฌํธ ์คํ
- [๋ณด์ ๊ทธ๋ฃน] - ์ธ๋ฐ์ด๋ ๊ท์น - ์ฌ์ฉ์ ์ง์ TCP, ํฌํธ 8080, ์์ค 0.0.0.0/0 ์ผ๋ก ์์ฑ
๋ธ๋ผ์ฐ์ ์์
http://ํผ๋ธ๋ฆญIPv4:8080
์ผ๋ก ์ ์ํด ์ ์คํ๋๋์ง ํ์ธ!