๐Ÿ›ผ study/๐Ÿ“ฒ tech

[infra] AWS EC2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ

jcowwk 2024. 5. 26. 15:40

AWS EC2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ


spring project ๋ฐฐํฌํ•˜๋ฉด์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์ •๋ฆฌ ์ž…๋‹ˆ๋‹ค !

 

1. ๋ฌธ์ œ ์ƒํ™ฉ

2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•


1. ๋ฌธ์ œ ์ƒํ™ฉ

์ „์—๋Š” ๋นŒ๋“œ ์˜ค๋ฅ˜, ์ด๋ฒˆ์—๋Š” ์‹คํ–‰ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

1. Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
2. Caused by: java.net.ConnectException: Connection refused
3. java.lang.NullPointerException: Cannot invoke "org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(java.sql.SQLException, String)" because the return value of "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()" is null
4. Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)

 

์‹คํ–‰ ์˜ค๋ฅ˜๋Š” ์œ„์™€ ๊ฐ™์€ ๋กœ๊ทธ๋กœ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค.

์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ†ต์‹ ์ด ๋ถˆ๊ฐ€ํ•ด์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์—ˆ๋‹ค.

 

2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

RDS์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์—†์ด mysql์„ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์— ์„ค์น˜ํ•˜์—ฌ ๋กœ์ปฌ์˜ workbench๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค.

 

- ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์— mysql ์„ค์น˜

 

๊ทผ๋ฐ mysql ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฉˆ์ถค ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ธธ๋ž˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘๋‹จํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•œ ํ›„ ์„ค์น˜๋ฅผ ํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.

๊ทธ๋žฌ๋”๋‹ˆ ์œ„์™€ ๊ฐ™์ด ์•„๊นŒ ํ•˜๋˜๊ฑฐ ๊ณ„์† ํ•˜๋ผ๋Š” ๋ฌธ๊ตฌ ๋œจ๊ธธ๋ž˜ sudo dpkg --configure -a ๋ฅผ ํ†ตํ•ด ์„ค์น˜๋ฅผ ์™„๋ฃŒํ–ˆ๋‹ค.

 

- ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ mysql ํŒŒ์ผ ์„ค์ •

/etc/mysql/mysql.conf.d์— ๊ฐ€์„œ vi mysqld.cnf๋ฅผ ํ†ตํ•ด vim์œผ๋กœ ์„ค์ • ํŒŒ์ผ์„ ์—ด์–ด์ค€๋‹ค.

bind-address๋Š” 127.0.0.1์œผ๋กœ ํ˜„์žฌ ๋กœ์ปฌ์—์„œ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ๋งŒ ๋ฐ›๋Š”๊ฑธ๋กœ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ชจ๋“  ๋„คํŠธ์›Œํฌ์—์„œ ์˜ค๋Š” ์š”์ฒญ์„ ํ—ˆ์šฉํ•˜๋Š” 0.0.0.0์œผ๋กœ ๋ฐ”๊พผ ํ›„ :wq๋กœ ์ €์žฅํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ E45: 'readonly' option is set (add ! to override)๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค.

 

sudo vim mysqld.cnf๋ฅผ ํ†ตํ•ด vim์„ ์—ด์–ด ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์ฃผ์—ˆ๋‹ค.

 

- ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ mysql ์ ‘์†

ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ mysql์—์„œ CREATE USER '์œ ์ € ์ด๋ฆ„'@'%' IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ';๋กœ test์œ ์ €๋ฅผ ๋งŒ๋“ค์–ด์„œ

GRANT ALL PRIVILEGES ON *.* TO test@'%';๋กœ ๊ถŒํ•œ ์„ค์ •์„ ํ•ด์ค€ ํ›„ ๋กœ์ปฌ์˜ workbench์—์„œ test์œ ์ €๋กœ ์ ‘์†ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  CREATE DATABASE cloudboard;๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค.

 

- workbench ์„ค์ •

 

์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.

๋ฐฉํ™”๋ฒฝ ์„ค์ •, ๊ถŒํ•œ ์„ค์ •, ip ์ฃผ์†Œ ํ™•์ธ ๋“ฑ.. ํ•ด๋ณผ๊ฑฐ ๋‹คํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ ์•ˆ๋˜๋Š” ์ค‘์ด๋‹ค.

whyrano.. whyrano.. ๐Ÿฅบ

 

- workbench ssh ์—ฐ๊ฒฐ

๊ตฌ๊ธ€๋ง ํ–ˆ๋”๋‹ˆ SSH ์—ฐ๊ฒฐ์„ ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค.

๋‹น์žฅ ์‹œ๋„ํ•ด๋ดค๋‹ค.

 

 

์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.

๊ทธ๋ž˜์„œ SSH ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ Key File ์„ค์ •์„ ํ–ˆ๋”๋‹ˆ... !!

 

 

 

์„ฑ๊ณต์ด๋‹ค.

๋กœ์ปฌ์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์˜ mysql์— ๋ฐ˜์˜๋˜๊ณ , ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์˜ mysql์—์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋กœ์ปฌ์˜ mysql์— ๋ฐ˜์˜๋œ๋‹ค.


์ฐธ๊ณ ํ•œ ์‚ฌ์ดํŠธ

 

https://velog.io/@minji/AWS-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-RDS-%EC%97%86%EC%9D%B4-EC2%EC%97%90%EC%84%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-MySQL-qcm2f3nm

 

[AWS, ์Šคํ”„๋ง๋ถ€ํŠธ] RDS ์—†์ด EC2์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉํ•˜๊ธฐ( MySQL )

EC2 ๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ํ•˜๋‚˜๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” RDS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ , ํ•˜๋‚˜๋Š” EC2์— ์ง์ ‘ ๋””๋น„๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.๊ฐœ์ธ ๋˜๋Š” ์†Œ์ˆ˜๋กœ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ 

velog.io

https://min-devlog.tistory.com/37

 

[AWS EC2 / SQL] EC2 MySQL๊ณผ Workbench SSH ์™ธ๋ถ€์ ‘์† ์—ฐ๊ฒฐ (+ docker) + "server public key has changed workbench ~" ์˜ค๋ฅ˜

EC2 ๋‚ด๋ถ€์˜ docker๋กœ ๋„์›Œ์ง„ mysql์— Workbench๋กœ ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž‘์„ฑํ•˜์˜€๋‹ค. 1. Workbench Connections๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค + ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. 2. ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • ์ •๋ณด๋“ค์„ ์ž…๋ ฅํ•˜๊ณ  [Test Connection]์œผ๋กœ ํ™•์ธ

min-devlog.tistory.com

https://velog.io/@njs04210/Server-MySQLWorkbench%EB%A1%9C-%EB%8B%A4%EB%A5%B8-%EC%84%9C%EB%B2%84-MySQL-%EC%9B%90%EA%B2%A9%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0

 

[Database] MySQLWorkbench๋กœ ๋‹ค๋ฅธ ์„œ๋ฒ„ MySQL ์›๊ฒฉ์ ‘์†ํ•˜๊ธฐ

์ด ๊ธ€์€ ๋กœ์ปฌ PC์˜ MySQLWorkbench ๋ฅผ ์ด์šฉํ•ด ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ๋นŒ๋ฆฐ Sever ์˜ MySQL์— ์ ‘์†ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. (MySQL ์„ค์น˜๋Š” ๊ตฌ๊ธ€๋ง์œผ๋กœ..)Server๋Š” centOS-7 ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.Server๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ 

velog.io

https://sectumsempra.tistory.com/80

 

Mysql workbench ์™ธ๋ถ€์ ‘์† ์˜ค๋ฅ˜/Failed to Connect to MySQL at [serverIp] with user

mysql์„ ์„œ๋ฒ„์—์„œ ์„ค์น˜ํ•˜๊ณ  workbench ์— ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„ธ๊ฐ€์ง€ ์กฐ๊ฑด์ด ์„ ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค. 1) bind-address๋ถ€๋ถ„ ์ฃผ์„์ฒ˜๋ฆฌ -> mysql์„ ์™ธ๋ถ€์—์„œ๋„ ์ ‘์† ํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ์ž‘์—… ์•„๋ž˜ ์ฝ”๋“œ

sectumsempra.tistory.com