rds 9

EC2에 Springboot 배포시 RDS연결 불가 문제

이전에는 잘 되던 배포가 갑자기 안되기 시작했다.... 갑자기라는건 없지만... 나한테는 갑작스러운 문제였다. 오류를 살펴보니 MySQL connection문제임을 알 수 있다. RDS의 MySQL을 연결해둔 상태였는데 갑자기 안됐다. 해당 문제에 대해서는 여러가지 원인이 있겠지만 나같은 경우 EC2에 올라와있는 jar파일이 RDS로 접근할 수 없었던게 이유였다. 생각해보니 전에 RDS인바운드 보안 규칙을 팀원들의 ip로 한정지었던게 생각이 났다...! 같은 VPC를 사용중이라 당연히 될 줄 알았지만 크나큰 오해였다...! EC2의 private IP를 RDS의 인바운드규칙 소스에 추가해주면 해결이 된다..! 여기서 중요한 점은 publicIP가 아닌 privateIP를 추가해줘야 한다는 것이다. 같은 ..

RDS DB 데이터 이전(MySQL)

RDS DB이관을 진행했다. 처음 RDS를 생성할 때 너무 신나서 했더니 개발용 RDS를 생성하였고.... r5.large요금을 사용해버렸다... 그 결과 이틀만에 18000원이라는 과금을 하게 되었고... 요금제를 변경하려고 했지만 변경할 수 있는 가장 저렴한 요금제가 t3.micro였다. 큰 차이가 없을 것 같아서 그대로 진행하려했지만 하루에 4천원꼴의 과금이 발생하였고 2주 프로젝트 기간을 생각한다면.... 물론 큰 돈은 아니지만 모의 프로젝트에 그만한 돈을 쓰기 아까웠다. 그리하여 멘토님의 조언대로....DB이관을 결심하였다. 중간에 실수를 하게 되면 다른 팀원들의 개발 환경에 영향을 미칠까 최대한 안하려고 했지만 어쩔 수 없었다. 내가 진행했던 프로세스의 환경은 이러하였다. RDS --> RDS..

REST, REST API란?

이번주는 REST API 설계와 구현을 할 것이다. 무작정 시작하기보단 REST API에 대해서 공부를 하는 것이 좋을 것 같다. REST 2020년 정보처리기사를 공부하며 익숙해진 단어이다. 실기를 준비하며 외웠던 REST란 uri를 통해 자원을 구분하고 그 자원을 주고 받는 형식이다. 하지만 부족하거나 틀렸을 수도 있으니 정확히 공부해보자! REST는 Representational State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것들을 의미한다 Uri를 통해 자원을 명시하고 HTTP method를 통해 해당 자원에 대한 CRUD를 적용하는 것을 의미한다. REST구조는 3가지로 구성이 된다 자원(Resource) - URI 행위 (Verb) - HTTP ..

url로 ip입력시 도메인으로 redirect하기

주소로 ip입력시 도메인으로 redirect하는 과정을 진행해볼 것이다! ip가 1.1.1.1인 인스턴스에 도메인을 적용시킨 이후 ip로 인스턴스를 접근할 때 이를 도메인으로 바꾸는 작업이다. ex) [1.1.1.1 입력 --> abcd.com 으로 자동변경] 정말 쉽다! 서브도메인을 적용시켰던 것 처럼 nginx.conf에 Server{}부분을 추가해줄 것이다. 이전과 동일하게 /etc/nginx/에 redirect.conf라는 파일을 만들고 이를 nginx.conf파일에 include 시켜줄 것이다. redirect.conf의 코드는 아래와 같다. server_name에는 나의 ip를 넣어주고 $scheme://[이동하고자 하는 도메인]$request_uri; 으로 return 시켜준다. 아주아주 간..

AWS EC2, RDS를 활용한 웹 서버 구축하기(extra)- phpMyAdmin 설치하기

phpMyAdmin이란 웹 상에서 mySQL를 컨트롤 할 수 있도록 도와주는 도구인 것 같다. 굉장히 편리해보이지만 보안상의 이슈가 제법 있는 것 같다.... 언제나와 같이 yum 으로 설치를 하려고 시도했다 >>sudo yum install phpmyadmin 은 실패했다. 오류를 보면 이러하다 보아하니 yum으로는 phpmyadmin을 찾지 못하는 모양이길래 구글링! >>yum install epel-release 를해줘야한다해서 명령어를 줘봤지만 친절하게 다른 명령어를 입력하라고 알려줬다!! 그래서 넣어줬지! >>sudo amazon-linux-extras install epel 이후 다시 시도해봤다. >>yum install phpmyadmin 이와 같은 과정을 거치면 /usr/share 디렉토리..

AWS EC2, RDS를 활용한 웹 서버 구축하기(3)- RDS연동, MySQL Workbench

1.EC2에서 RDS 접속 RDS구축은 이미 다 끝내놨으니 EC2에서의 접속을 해보자. 명령어는 아래와 같다. >> mysql -u [사용자 이름(master name)] -p -h [엔드포인트] 엔드포인트를 못찾겠다면! [RDS > 데이터베이스 > 자신의 데이터베이스 선택 ] 하면 정보로 엔드포인트를 볼 수 있다. 엔드포인트를 그대로 복사해서 넣으면! 접속이 되었고 show databases; 쿼리를 넣으면 처음 RDS설계할 때 첫 데이터베이스로 생성하였던 vivi_sample을 볼 수가 있다!!!! 성공적!☺️ 2. MySQL WorkBench를 사용하여 외부에서 DB접속 WorkBench는 내가 평소에 사용하던 툴이라 따로 설치 과정은 없다 😭 그리고...이 과정을 이번학기에 정말 많이했다... 교..

AWS EC2, RDS를 활용한 웹 서버 구축하기(3)- nginx, php 설치

만날 천날 apache만 쓰다가 nginx는 처음 써보기에 nginx에 대해서 간단하게 알아보았다. nginx는 apache보다 단순하고 전달자 역할만 하기 때문에 동시접속 처리에 특화되어 있다고 한다. AWS에서는 시장점유율이 44%나 되는 것으로 봐서 가볍고, 성능이 좋은 엔진이라고 할 수 있다. Apache독주에 제동을 걸만한 엔진이라고!!!!! 궁금하니까 후딱 설치해보자! nginx를 사용하기 위해서 yum 패키지 매니저를 사용할 것이기 때문에 업데이트를 해주자 --> yum update 1.nginx install 다음은 nginx 설치이다. >> yum install nginx 로 설치가 가능하다고 하지만 aws에서는 조금 다른 모양이다 (알아보니 yum으로는 nginx를 못찾는 모양이다) 아..

AWS EC2, RDS를 활용한 웹 서버 구축하기(2)- instance 생성

VPC설정을 끝냈다면 본격적으로 Instance들을 생성해야한다. 다시 한번 언급하자면, 나는 EC2 isntance를 이용하여 Linux를 사용할 것이고 RDS instance를 사용하여 MySQL를 사용할 것이다. 참고로 버지니아 북부리전이 서울 리전보다 RDS 가격이 더 싸다고 한다! 1.RDS DB instance 생성 [RDS -> Dashboard -> 데이터베이스 생성] 위 과정에서 주의해야할 점이 있다면 1. 생성했던 VPC를 선택할 것. 2.VPC보안 그룹은 WebServer것이 아닌 DB를 위해 생성했던 보안 그룹을 선택할 것. 3.첫 연결을 위해 초기 데이터베이스를 설정할 것. 4. 퍼블릭 엑세스에 대한 이슈가 굉장히 크다. 원래를 퍼블릭 엑세스를 막아놔야 나의 취지에 맞지만 이전에 ..

AWS EC2, RDS를 활용한 웹 서버 구축하기(1)- VPC, 보안그룹 생성

이번에는 AWS 서비스를 사용하여 nginx- php- mysql 서버를 구축해보자 한다. 이전글에서는 virtual box를 활용하여 가상환경에 구축했었다. 돈으로 행복을 살 수 있는 이유를 여기서 찾아볼 수 있다. AWS서비스의 과금 유저라면 굳이 Virtual box를 사용할 이유가 없다^^ 말만 들어도 마음의 평화가 찾아온다^^ EC2와 RDS서비스를 사용하기전에 이들이 무엇인지에 대해 알아보고자 한다. EC2 AWS의 클라우드 컴퓨팅 서비스이다. 쉽게 말해 아마존 데이터센터에 크고 좋은 서브 컴퓨터에 접속하여 자원을 원격으로 사용할 수 있다. 더욱 쉽게 말하자면 아마존의 컴퓨터를 빌려쓰는 것이다. RDS AWS의 클라우드에서 관계형데이터베이스를 설정,운영, 확장할 수 있는 서비스이다. RDS도 ..