# EC2를 생성 후 PHP애플리케이션을 구성한다.
# RDS 데이터베이스를 구성하여 연결. PHP는 퍼블릭 서브넷
# MySQL 데이터베이스는 Private 서브넷에 들어간다.
VPC 마법사를 사용하여 VPC생성 후 Private 서브넷 추가하기
- 아래의 과정을 통해 VPC를 구성한다.
- Public과 Private 서브넷이 존재하는 VPC를 구성해야한다.
https://holywat2r.tistory.com/153
- 위의 과정을 진행하였다면 Private Subnet을 하나 더 추가한다.
# 앞서 VPC 마법사로 설정한 Public과 Private 1서브넷의 IPv4 CIDR 블록은 각각 10.0.0.0/24 . 10.0.1.0/24 이므로 지금 생성하는 Private 2 서브넷은 10.0.2.0/24로 구성한다.
- Private 2를 생성하였다면 보안그룹을 새로 생성해준다.
- 이후 RDS용 보안그룹을 하나 더 생성해준다.
# 인바운드 규칙에서 MYSQL/Aurora 유형의 보안을 설정할 때 소스를 이전에 설정한 보안그룹(SSH, HTTP)으로 정한다.
# 이렇게 설정할 경우 웹 서버가 이전에 설정한 보안그룹을 사용할 경우 접근을 허용한다는 뜻이다.
RDS에서 서브넷 그룹 생성
- 데이터 베이스를 구동시킬 서브넷의 그룹이다. 생성을 해보자
- 그룹이름과 설명을 추가한 후 VPC를 연동한다.
- Public, Private 1은 2a에 Private 2는 2c 가용영역에 포함되므로 가용영역과 서브넷을 추가한다.
# 서브넷은 퍼블릭을 제외한 프라이빗을 추가하였다.
# 이것때문인지는 모르겠지만 XSHELL에서 SSH 연결은 잘 되었지만 yum 레포지토리 연동이 안되었다.
# 이 과정이후 퍼블릭 서브넷까지 포함을 해 보았더니 yum 명령어가 잘 되었다.
데이터 베이스 생성
- 순차적으로 데이터베이스를 생성해보자
- 앞서 생성한 보안그룹을 추가한다.
- 추가 구성을 통해 초기 데이터베이스 이름을 설정하자
새로운 인스턴스를 생성
- 인스턴스를 생성할 시 네트워크와 보안그룹만 설정해준다
# 서브넷은 퍼블릭으로 지정해준다.
- 이후 인스턴스를 XSHELL로 접속해보자
sudo -i
# 해당 명령어로 관리자 권한으로 입장 후 아래 명령어 실행
yum update -y
yum install -y httpd php php-mysqlnd
service httpd start
# chkconfig 명령어를 이용하여 서버 부팅 시 웹서버가 자동으로 시작될 수 있또록 설정
chkconfig httpd on
# ec2-user에게 웹 서버의 기본 루트 페이지 파일을 수정 변경 가능하도록 설정해야한다
# /var/www 디렉토리의 소유권 및 권한을 변경해야한다.
groupadd www
usermod -a -G www ec2-user
# 재접속 이후 groups 명령어를 통해 www가 추가되어있는지 확인
sudo -i
chown -R root:www /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} +
find /var/www -type f -exec chmod 0664 {} +
# /var/www 및 하위 디렉토리의 권한을 변경하여 그룹 쓰기 권한부여
# /var/www 및 하위 디렉토리의 파일 권한을 변경하여 그룹쓰기 권한 추가
scp를 사용하여 파일 가져오기
- 로컬 영역에서 scp를 이용하여 /tmp 폴더로 복사해온다.
- scp <파일 위치> <인스턴스ID>@인스턴스 주소
# 윈도우 파일인 RDS_Source_Update.zip 이라는 파일이 복사가 되었다.
unzip RES_Source_Update.zip -d /var/www
cd inc
vi dbinfo.inc
- DB서버 주소, USERNAME, PASSWORD, DATABASE를 수정하여 저장한 후 아래 주소로 입력하면 웹 서버가 뜬다
# 이후 인스턴스의 DNS 주소 /SamplePage.php 를 입력하면 된다.
http://ec2-3-35-230-201.ap-northeast-2.compute.amazonaws.com/SamplePage.php
# 지금은 닫혀있다.
'DevOps > AWS' 카테고리의 다른 글
[AWS] AWS 데이터베이스 실습 - MySQL Workbench 연결 (0) | 2021.09.02 |
---|---|
[AWS] Amazon RDS (0) | 2021.09.02 |
[AWS] VPC 구성 : 리전간 Peering을 통해 글로벌 통합 네트워크 구축 (0) | 2021.09.01 |
[AWS] VPC 구성 : 마법사를 통해 생성하기 (0) | 2021.09.01 |
[AWS] VPC 구성 : NAT 구성 (0) | 2021.09.01 |