SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(1)โ
1. ํ๋ฆฌํฐ์ด ๊ฐ๊ฒฉํ์ธ
2. EC2 (์๋ฒ)์์ฑํ๊ธฐ
3. ์์ฐ ์ค์ ํ๊ธฐ(AWS Budgets)
4. IP ๊ณ ์ ํ๊ธฐ (ํ๋ ฅ์ IP, Elastic IP)
SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(2)โ << ํ์ฌ ๊ฒ์๊ธ
5. Putty ์ค์น ๋ฐ ์ ์
6. Open JDK11 ์ค์น ๋ฐ ํ๊ฒฝ๋ณ์ ์ค์
7. MariaDB ์ค์น
8. HeidiSQL๋ก EC2์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฒฉ ์ ์ํ๊ธฐ
SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(3)โ
9. SpringBoot ํ๋ก์ ํธ Github์ ์ ๋ก๋ํ๊ธฐ
10. Git ์ค์น ๋ฐ Repository Cloneํ๊ธฐ
11. jarํ์ผ ์คํํ๊ธฐ
โญ์ฃผ์!
12. ์คํํ์ธํด๋ณด๊ธฐ
5. Putty ์ค์น ๋ฐ ์ ์
์ธ์คํด์ค๋ฅผ ์์ฑํ์ผ๋ ์ ์ํด๋ณด์.
๋ฆฌ๋ ์ค์ ์๊ฒฉ์ ์ดํ๊ธฐ ์ํด์๋ SSH๋ฐฉ์์ ์ฌ์ฉํด์ผํ๋๋ฐ
์๋์ฐ์๋ SSH๋ฐฉ์์ด ์๊ธฐ๋๋ฌธ์, ์ ์ํ๊ธฐ ์ํด์๋ SSHํ๋ก๊ทธ๋จ์ธ putty๊ฐ ํ์ํ๋ค.
5-1. putty ์ค์น
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
์ค์น๋ ๊ธฐ๋ณธ์ค์ ์ผ๋ก ๋๊ณ ์ ๋ถ next๋๋ฅด๋ฉด๋๋ค.
5-2. puttygen.exe ์คํ
putty๋ฅผ ์ค์นํ๋ฉด ์๋์ผ๋ก puttygen์ด ์ค์น๋๋ค.
5-3. RSA์ ์ฒดํฌ๋์ด์๋์ง ํ์ธํ๊ณ load ํด๋ฆญ
5-4. All Files๋ก ๋ณ๊ฒฝ ํ ์ ๋ฒ์ ์ ์ฅํ pemํ์ผ ์ ํ
5-5. Successfully ํ์ ํ์ธ ํด๋ฆญ
5-6. save private key ํด๋ฆญ, ํ์ ๋ ์ ํด๋ฆญ
5-7. ppk ํ์ฅ์๋ก ํ์ผ ์ ์ฅ
5-8. AWS EC2๋ค์ด๊ฐ์ ์ ์ํ๊ณ ์ ํ๋ ์ธ์คํด์ค ์ฐํด๋ฆญ - ์ฐ๊ฒฐ ํด๋ฆญ
5-9. "OS๋ช @ํผ๋ธ๋ฆญDNS"๋ฅผ ๋ณต์ฌํ์ฌ putty > session > hostname์ ๋ถ์ฌ๋ฃ๋๋ค.
port๋ 22, SSH์ ์ ํ๋์ด์ผํ๋ค.
5-10. putty > connection > ssh > auth ์ ์
pem์ ppk๋ก ๋ฐ๊พผ ํ์ผ ๋ฑ๋กํ ํ open ํด๋ฆญ
5-11. accept ํด๋ฆญ
5-12. ์ ์ ์๋ฃ! ls -al ์ ๋ ฅํ๋ฉด ์๋์ ๋น์ทํ๊ฒ ๋์จ๋ค.
6. Open JDK11 ์ค์น ๋ฐ ํ๊ฒฝ๋ณ์ ์ค์
sudo๋ ์ผ๋ฐ ์ฌ์ฉ์๊ฐ root ๊ถํ์ ๋น๋ ค ๋ช ๋ น์ ์คํํ ๋ ์ฌ์ฉํ๋ค.
apt-get์ ์ผ์ข ์ ์ฑ์คํ ์ด์ด๋ค.
6-1. apt-get ์ ๋ฐ์ดํธํ๊ธฐ
$ sudo apt-get update
$ sudo apt-get upgrade //(์ค๊ฐ์ Y/N ๋์ค๋ฉด Y์
๋ ฅ)
6-2. OpenJDK ์ค์นํ๊ธฐ
$ sudo apt install openjdk-11-jdk //(์ค๊ฐ์ Y/N ๋์ค๋ฉด Y์
๋ ฅ)
6-3. java -version, javac -version ์ ๋ ฅํ์ฌ ์ค์น ํ์ธ
6-4. javac ์์น ํ์ธ
$ which javac
$ readlink -f /usr/bin/javac
6-5. ํ๊ฒฝ๋ณ์ ์ ๋ ฅํ๊ธฐ
$ sudo nano /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
//์
๋ ฅ ํ ctrl+o ํด์ ์ ์ฅ, ํ์ผ๋ช
๊ทธ๋๋ก ์ ์ฅ ์ํฐ
//nano์์ ๋น ์ ธ๋์ค๊ธฐ ctrl+x
$ source /etc/profile //์์ ํ ํ์ผ ์ ์ฉ
$ echo $JAVA_HOME //์ ์ฉ๋์๋์ง ํ์ธ
7. MariaDB ์ค์น
7-1. MariaDB ์ค์นํ๊ธฐ
$ sudo apt install mariadb-server //์ค๊ฐ์ Y/N ๋์ค๋ฉด Y ์
๋ ฅ
7-2. MariaDB ์ ์ํ๊ธฐ
//$ mysql -u root -p
//ERROR 1698 (28000): Access denied for user 'root'@'localhost'
//์์ ๊ฐ์ ์ค๋ฅ ๋ฐ์ํ๋ค
$ sudo mysql -u root -p
//password๋ ๊ทธ๋ฅ ์ํฐ์น๋ฉด ์ ์๋๋ค
7-3. root@localhost ๊ถํ ๋ฐ ๋น๋ฐ๋ฒํธ ์ค์ ํ๊ธฐ
์๋์ ๊ฐ์ด ์คํํ๊ณ ๋๋ฉด sudo์์ด mysql ๋ก๊ทธ์ธ ๊ฐ๋ฅํ๋ค
> grant all privileges on *.* to 'root'@'localhost' identified by '์ค์ ํ ๋น๋ฐ๋ฒํธ' with grant option;
7-4. charset ํ์ธํ๊ธฐ
utf8mb4๋ก ๋์ด์์ด์ผํ๋ค!
> show variables like 'char%';
7-5. ๋ ์ง ๋ฐ ์๊ฐ ๋ณ๊ฒฝํ๊ธฐ
MariaDB๋ ์์คํ ์๊ฐ์ ๋ฐ๋ผ๊ฐ๊ธฐ ๋๋ฌธ์, ์ผ์นํ์ง ์๋๋ค! ์ผ๋จ exit๋ก MariaDB๋ฅผ ๋น ์ ธ๋์จ ํ, ์๊ฐ๋๋ฅผ ๋ณ๊ฒฝํ๋ค.
$ sudo timedatectl set-timezone 'Asia/Seoul';
$ sudo systemctl restart mysqld; //mariadb ์ฌ์คํ
๋ณ๊ฒฝ์๋ฃ
8. HeidiSQL๋ก EC2์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฒฉ ์ ์ํ๊ธฐ
8-1. ํ ์คํธ๋ฅผ ์ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ๋ ์ถ๊ฐํ์
8-2. ์ธ์ ์ ํ๋ ์์ฑํ๊ณ , ๋คํธ์ํฌ ์ ํ์ SSH tunnel๋ก ์ค์ ํ๋ค.
์ฌ์ฉ์์ ์ํธ๋ EC2 MariaDB์์ ์ ์ํ๋ ๊ณ์ ์ ์ฌ์ฉ์์ ์ํธ๋ฅผ ์ ๊ณ
ํฌํธ๋ ๊ทธ๋๋ก ๋๋๋ค!
8-3. plink, ๊ฐ์ธํค(ppk) ์ ๋ ฅ
ppk๋ ์ ๋ฒ์ pemํ์ผ์ ๋ณํํ๋ ๊ฒ์ ๋ฃ์ผ๋ฉด๋๊ณ ,
plink๋ putty์ฌ์ดํธ์์ ๋ค์ด๋ฐ์ ์ ์๋ค.
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
8-4. SSHํธ์คํธ+ํฌํธ, ์ฌ์ฉ์ ์ด๋ฆ, ํฌํธ ์ ๋ ฅ
์ฌ์ฉ์์ด๋ฆ์ EC2์ ์ ์ํ์ ๋์ ๊ณ์ ์ธ ubuntu๋ฅผ ์ ๋ ฅํ๊ณ
ํฌํธ๋ ๊ฐ์ ํฌํธ๋ก ์ ์ํ๋ ๊ฒ์ด๊ธฐ๋๋ฌธ์ 3306์ด ์๋ ๋ค๋ฅธ ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ค๋ค.
ํ๋ ฅ์ IP์ฃผ์๋ AWS EC2 ์ธ์คํด์ค์์ ํ์ธํ ์ ์๋ค.
8-5. ์ฐ๊ฒฐ๋ฒํผ ๋๋ฌ์ ํ์ธ
์๊น ๋ง๋ testdb๋ฅผ ํ์ธํ ์ ์๋ค!
'๐งฐ DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(2) (0) | 2022.03.18 |
---|---|
CircleCI๋ก SpringBoot+Postgresql ํ๋ก์ ํธ ๋น๋ ๋ฐฐํฌํ๊ธฐ(1) (0) | 2022.03.18 |
AWS EC2 Jenkins ์ค์น (0) | 2022.03.18 |
SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(3)โ (1) | 2022.02.19 |
SpringBoot, MariaDB ํ๋ก์ ํธ AWS ๋ฐฐํฌํ๊ธฐ ์ด์ ๋ฆฌ(1)โ (0) | 2022.02.18 |