본문 바로가기

Ryu's Tech

AWS EC2와 RDS 연결하기

자 이번에는 아마존 웹 서비스(AWS) 의 데이터베이스 서비스, RDS를 설치해 보려 합니다.

하지만 RDS를 만들기 전에 Parameter를 미리 설정하여 언어를 바로 UTF-8로 만드려 합니다.

저의 경우에는 이렇게 하지만 파라메터를 생략하고 기본으로 쓰셔도 문제 없을 겁니다.

제가 이렇게 만드는 이유는 이전에 한번 만들어서 티스토리 백업 XML 데이터를 옮기고 나니 언어에 문제가 생겨 이 방법으로 해결했습니다.

   

데이터를 옮기는 것이 아니고 신규로 블로그를 시작하신다면 그냥 하셔도 문제가 없을 거라 생각합니다.

   

Parameter Group 하나를 생성 한 뒤 아래와 같이 언어를 utf8로 설정합니다. 나중에 만든 RDS 인스턴스에 설정할 파라메터 입니다.

   

   

   

   

   

파라메터가 준비가 되었으면 이제 제 EC2 서버에서 RDS 서버로만 접속할 수 있도록 Security Group을 생성하여 줍니다.

   

허용할 서비스는 아래와 같이 MYSQL 로만 해주시고 Source IP를 Custom IP로 바꾸시고 자신의 EC2 인스턴스를 선택해주시면 됩니다.

   

   

   

   

   

자 이제 드디어 RDS 인스턴스를 생성할 차례입니다.

   

   

MySQL로 선택하여 주시고

   

   

Multi-AZ를 사용하면 Free Tier를 사용할 수 없으니(돈 나옴) No로 가주시면 됩니다.

   

   

DB 세부 설정을 하는 부분인데 설정하실 때 왼쪽의 메시지를 주의하시면 됩니다.

기본 설정에서 넘어가는 설정을 하시면 Free Tier를 벗어나서 과금이 되게 되니 Free Tier 내에서 설정하시면 됩니다.

Multi-AZ나 Storage 용량 DB Instance Class만 주의하시면 됩니다.

   

   

그 다음 중요한 세부 설정 부분입니다. Security Group은 좀 전에 만드신 Security Group으로 설정하시고

Parameter Group도 좀 전에 만든 그룹으로 변경해 줍니다.

그 아래는 백업과 버전관리 부분이니 원하시는대로 설정하시면 됩니다.

   

   

   

만드는데 한… 10분? EC2 인스턴스는 1분정도 걸리지만 RDS는 꽤 걸렸던 것 같네요.

   

이렇게만 하시면 준비가 완료됩니다. 그럼 한번 테스트를 해볼까요?

   

EC2에서 아래와 같이 php 파일을 만들어서 돌려보시면됩니다.

   

/var/www/html 안에 아래와 같은 내용으로 dbtest.php 파일을 만들어서 돌려주시면 됩니다.

   

<?php

$servername = "xxxxxxxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com";

$username = "IDIDIDID";

$password = "PWPWPWPW";

   

// Create connection

$conn = mysqli_connect($servername, $username, $password);

   

// Check connection

if (!$conn) {

die("Connection failed: " . mysqli_connect_error());

}

echo "Connected successfully";

?>

   

위와 같이 만들어 저장하신 뒤 접속해 보셔서 아래와 같이 나오시면 잘 된 겁니다.