진짜 개발자
본문 바로가기

AWS/Computing

AWS - EC2 Apache, PHP, RDS 연동

728x90

EC2 RDS 접속하기

1. EC2 생성

http://galid1.tistory.com/224


2. RDS 생성

http://galid1.tistory.com/231


3. Putty를 이용하여 EC2 접속

http://galid1.tistory.com/344


4. RDS 접속하기

1) AWS의 RDS 서비스를 찾아 들어간 뒤 Connectivity(연결) 섹션의 Endpoint를 복사한다


2) mysql -u "RDS 생성시 입력한 마스터 ID" -p -h "복사한 Endpoint 주소" 를 입력한뒤

    RDS생성시 입력했던 마스터 PW를 입력하여 접속한다.



EC2 Apache와 RDS 연동

생활코딩 - https://opentutorials.org/course/608/3120


1. RDS 설정

 - ec2에서 RDS로 접속이 가능하도록 보안그룹 설정을 해야한다


1) RDS의 Connectivity 탭의 우측하단 Security섹션에 적용되어있는 보안그룹을 클릭하여 들어간다


2) 웹서버가 설치되어있는 EC2에서 접속가능하도록 설정해주어야 한다 

  (잘 모르겠다면 그림과 같이 0.0.0.0/0 으로 설정하면 보안에취약하지만 모든 곳에서 접속가능하게 설정할 수 있다)


2. putty를 이용하여 ec2에 접속한다

1) 접속 후 sudo su - root를 이용하여 root 계정으로 변경한다

 

3. APM 구축

1) Apache

1. 설치

$ yum install -y httpd

2. 실행

$ systemctl start httpd


2) php 

1. 설치

$ yum install -y php

2. 따로 실행하지 않아도 된다


3) mysql 설치

http://galid1.tistory.com/296

 

4. mysql 테이블 생성 및 데이터 생성

1) testdb 생성

mysql > create database testdb;

 

2) user table 생성

mysql > create table user(

 user_id int not null auto_increment,

 user_name varchar(20),

 primary key(user_id));

 

3) 데이터 생성

mysql> insert into user(user_name) values('jjy');

mysql> insert into user(user_name) values('galid');

 

4. Selinux 를 끄거나 접속이 가능하게 설정을 해야한다

$ vi /etc/sysconfig/selinux

 

5. RDS를 이용하는 index.php 파일 생성

1. index.php 파일을 /var/www/html 하위에 생성한다

$ vi /var/www/html/index.php


2. 아래의 코드를 삽입한다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
    #Host : EC2의 dns를 입력한다
    $host = 'jjy-dbtest.cc9hxsu4qru5.ap-northeast-2.rds.amazonaws.com';
    #user : EC2에 설치된 mysql의 사용자를 입력한다
    $user = 'root';
    #pw: EC2에 설치된 mysql의 사용자의 암호를 입력한다
    $pw = 'It12345!1';
    #dbName : EC2에 설치된 mysql에서 사용할 DB이름을 입력한다
    $dbName = 'testdb';
 
    $conn = new mysqli($host$user$pw$dbName);
 
    if($conn){
        echo "MySQL Success<br>";
    }else{
        echo "MySQL Fail<br>";
    }
 
    $query = 'select * from user';
    $result = mysqli_query($conn$query);
 
    while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
        echo 'Name : '.$row['user_name'];
        echo '<br>';
    }
?>
cs

 

6. 확인

- 브라우저에서 ec2의 public IP를 입력하면 페이지가 보인다