상세 컨텐츠

본문 제목

[AWS] MySQL DB + PHP 연동

IT/AWS

by o_zeew 2022. 6. 15. 23:08

본문

<문제>

1. 인스턴스를 두개 생성 후 첫번째 인스턴스에는 php 7.4 설치, 두번째 인스턴스에는 mysql 설치

2. 첫번째 인스턴스의 공인 IP로 접속 시 두번째 인스턴스의 DB에 사설 IP로 연결 되도록 구성

3. DB는 설정을 위해 탄력적 IP 할당 후 설정이 완료되면 떼어내기

 

실습 구성도

 


 

1. 인스턴스 생성

  * 이전 실습에서 사용했던 Linux-1은 그대로 유지

  * 탄력적 IP 할당을 위해 Linux-2는 삭제 후 새로 생성

인스턴스 종료 = 삭제

 

  - Linux2 인스턴스 생성 시 네트워크 설정에서 퍼블릭 IP 자동 할당을 비활성화

네트워크 설정 편집
퍼블릭 IP 자동 할당을 비활성화로 설정
퍼블릭 IP 주소 없이 Linux-2 인스턴스 생성 완료

 

2. 탄력적 IP 생성

  - Elastic IP : 고정 퍼블릭 IP 주소, 생성하고 사용하지 않으면 과금 위험

탄력적 IP 생성
네트워크 경계 그룹 : 서울(ap-northeast-2)

 

3. 탄력적 IP 주소 연결

Linux-2 인스턴스에 연결
Linux-2 인스턴스에 생긴 퍼블릭 IP 주소 확인

 

4. xShell 접속

Linux-2 공인 IP로 접속

 

5. 첫번째 서버에 php7.4 설치

 - 아마존은 자체 repository를 가지고 있기 때문에 extras library에서 repository를 다운

amazon extra library에서 php7.4 repository 확인

 

  - [amazon-linux-extras install -y] 명령어로 php7.4 다운

php 버전 확인

 

  - repository를 다운 받은 후 yum 명령어로 php 설치 가능  

 

6. httpd.conf 파일 수정

  - 기본적인 웹 시작페이지는 index.html로 설정되어있기 때문에 index.php로 변경

index.php 입력

 

7. php 파일 올리기

  - root 사용자를 이용해 파일을 받을 수 있도록 sshd config 파일 수정

PasswordAuthentication yes 수정

  - root 사용자에게 패스워드 부여

 

  - scp 명령어를 사용해 필요한 php 파일들 복사

 

8. php 파일 수정

  - index.php

DB Server의 사설 IP 입력

 

  - insert1.php

DB Server의 사설 IP 입력

 

  - table1.php

DB Server의 사설 IP 입력

 

  - person1.php

php7.4 Server의 공인 IP 입력

 

9. 두번째 서버에 MySQL Server 설치

  - DB 생성을 위해 서버 설치

repository 다운
다운된 repository 확인

 

  - mysql 5.7 버전 설치를 위해 repository 수정

mysql 5.7버전 gpgcheck=0 으로 수정
mysql server 설치
mysql 시스템 시작

 

10. mysql 접속

  - mysql 접속을 위해 초기 패스워드 확인

cat 명령어로 초기 패스워드 확인
mysql_secure_installation 명령어로 접속 후 비밀번호 변경
mysql 로그인

 

11. DB 및 Table 생성

  - index.php 파일에서 필요한 test db 생성

  - insert1.php와 table1.php 파일에서 필요한 member db 생성

  - table1.php 파일에서 필요한 데이터 table로 생성

 

12. 인바운드 규칙 추가

모든 IP에 mysql 3306번 포트 열기

 

13. DB Server의 공인 IP 제거

  * DB Server를 외부에 노출 시키는 것은 보안상 매우 위험하기 때문에 세팅이 끝난 후 공인 IP 제거

생성한 탄력적 IP 주소 연결 해제
연결 해제
Linux-2 인스턴스에서 퍼블릭 IP 주소가 사라진 것을 확인

 

14. 설정 적용 확인

첫번째 인스턴스의 공인 IP 접속
person1.php 연결
table1.php 연결

관련글 더보기