개발놀이터

데이터베이스 서버와 애플리케이션 서버를 분리해보자 : 실전3 (EC2 연결) 본문

사이드 프로젝트/온라인 쇼핑몰 ver.4

데이터베이스 서버와 애플리케이션 서버를 분리해보자 : 실전3 (EC2 연결)

마늘냄새폴폴 2023. 8. 13. 17:38

앞선 포스팅에서 우리는 EC2 인스턴스를 생성했습니다. 이제 우리는 EC2 인스턴스에 접속해보도록 하겠습니다. 

 

이전 포스팅과 연결되는 포스팅입니다. 

 

https://coding-review.tistory.com/453

 

데이터베이스 서버와 애플리케이션 서버를 분리해보자 : 실전2 (EC2 생성)

이전 포스팅에서 AWS 설정을 마무리지었습니다. 이번엔 public subnet에 애플리케이션 서버를 두고 private subnet에 데이터베이스 서버를 둬보겠습니다. 이전 포스팅과 이어지는 포스팅입니다. https://co

coding-review.tistory.com

 

바로 시작해보죠

 

PuTTY를 키고 Host Name에는 application-server 인스턴스의 퍼블릭 IPv4 주소를 입력해줍니다. 그리고 SSH 탭에 들어가서 Auth로 들어갑니다. 

우리가 아까 만들었던 키 페어인 ppk 키를 연결합니다. 

 

그리고 Open을 누르면?

자 연결이 되었습니다. 이제 이 public subnet을 통해 private subnet으로 들어갈겁니다. 

 

그러려면 필요한 것이 이전에 우리가 만든 키 페어인 pem 키가 필요합니다. 

 

EC2 인스턴스로 pem키를 가져오는 방법에 여러가지 방법이 있습니다. FTP를 사용하는 방법이 있고 S3를 이용하는 방법이 있습니다. 

 

저는 비교적 간단하다고 생각했던 S3를 이용해서 가져와보도록 하겠습니다. 

 

먼저 AWS CLI를 다운받아야합니다. 

 

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install

$ aws --version
aws-cli/2.7.9 Python/3.9.11 Linux/5.13.0-51-generic exe/x86_64.ubuntu.20 prompt/off

$ rm -f awscliv2.zip # 설치 되었으면 zip 파일은 지워주도록 합시다. 용량이 넉넉하지 않으니..

이렇게 AWS 자원에 접근할 준비가 되었습니다. 

 

그리고 aws 설정을 진행해줘야합니다. 

 

Access key와 Secret Access key는 IAM을 만들 때 받았던 credential입니다. 여기선 IAM과 관련된 내용을 포스팅하기 조금 그렇기 때문에 나중에 다른 포스팅으로 찾아뵙도록 하겠습니다. 

 

이제 S3에 우리가 만들었던 pem키를 업로드합니다. 

 

S3에 관련된 내용도 해당 포스팅과 결이 달라서 다른 포스팅으로 찾아뵙도록 하겠습니다. 

 

S3에 업로드 하고, S3 URI를 복사합니다. 

 

그리고 다시 PyTTY로 돌아와서 

 

해당 명령어를 적습니다. 

 

$ aws s3 cp <아까 복사했던 S3 URI> ./database.pem

그럼 다운로드가 됩니다. 

 

이제 다운받은 pem키의 권한을 조금 낮춰주겠습니다. 

$ sudo chmod 400 ./database.pem

 

그리고 이제 private subnet으로 접근해보겠습니다. 

 

$ ssh -i database.pem ubuntu@<database-server의 private IPv4>

 

우리가 요청한 밑줄 친 부분을 보시면 우리가 요청한 private IPv4에 잘 접속한 것을 알 수 있습니다. 

 

그리고 ls 같은 명령어를 쳐보면 우리가 아까 다운 받았던 aws cli나 pem 키가 없는 것을 보아하니 정말 다른 서브넷에 접속한 것임을 알 수 있습니다. 

 

이제 다음 포스팅에선 MySQL을 설치하고 DBeaver와 연결해보겠습니다. 

 

다음 포스팅

https://coding-review.tistory.com/455

 

데이터베이스 서버와 애플리케이션 서버를 분리해보자 : 실전4 (MySQL 설치, DBeaver 연결)

우리는 앞서 private subnet에 접근하는데 성공했습니다. 이제 여기에 도커와 MySQL을 설치하고 외부 연결 서비스인 DBeaver에 연결해보도록 하겠습니다. 이전 포스팅과 이어지는 포스팅입니다. https://c

coding-review.tistory.com