상세 컨텐츠

본문 제목

AMAZON LINUX ㅡMARIADB-PHP 연동

LINUX

by drogva 2024. 3. 11. 01:03

본문

<elb-vpc>

elb-vpc: 10.0.0.0/16

-elb-public1-subnet: 10.0.0.0/24 , ap-northeast-2a, 라우팅 테이블 : my-elb-public, IGW

-elb-public2-subnet: 10.0.1.0/24 , ap-northeast-2c, 라우팅 테이블 : my-elb-public, IGW

-elb-private-subnet: 10.0.2.0/24, ap-northeast-2a, 라우팅 테이블 : my-elb-privat, NGW(elb-public1-sunbnet연결)

 

1. public -1, public-2 , private 오토스케일링 그룹 생성

 

 

 

 

2. public -1, public-2 ALB 대상그룹 생성, 대상 ELBALB 어플리케이션 로드벨런서에 접속

 

대상 ELBALB의 오토스케일링으로 실행된 인스턴 그룹 상태 - PUBLIC ELB -1 인스턴스 2, PUBLIC ELB -2 인스턴스 2HEALTH CHECK 양호

 

 

3. public 서브넷에서 private 인스턴스로의 ssh 접속 및 mariadb 생성

 

(private 인스턴스)

sudo -s

yum -y install mariadb105-server-utils.x86_64

yum -y install mariadb105-server.x86_64

yum -y install mariadb105.x86_64

systemctl enable maraidb

systemctl start mariadb

 

(mariadb 접속)

mysql -u root -p

use mysql;

grant all privileges on *.* to 'root'@'public1,2인스턴스의 ip'identified by 'password!!'; - public1,2의 인스턴스 에서 접근가능 (사용자 root)

flush privileges;

quit

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 344

Server version: 10.5.20-MariaDB MariaDB Server

 

 

-생성완료(10.0.0.77,10.0.0.139,10.0.1.153,10.0.0.219)

 

-설정파일에서 public1,2 의 인스턴스가 접속할 수 있도록 설정 > /etc/my.cnf.d 에 접속해 bind-adress 에 public ip 기입

 

 

사용자 root 와 원격 접속 허용 설정

 

mysql_secure_installation

Enter current password for root (enter for none): <ENTER>

Set root password? [Y/n] Y - 사용자 root 의 비밀번호 생성

Remove anonymous users? [Y/n] N

Disallow root login remotely? [Y/n] N - elb-public 터미널에서 원격접속이 가능해야 함

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

systemctl restart mariadb

exit

 

 

4. (elb-public1,2 인스턴스로 복귀), php 생성

-php 설치

-httpd 설정 파일에서 index.php 추가

-index.php 생성

 

 

 

 

vi /etc/httpd/conf/httpd.conf 169번째 줄 index.php 추가

168 <IfModule dir_module>

169 DirectoryIndex index.html index.php

170 </IfModule>

 

 

 

-vi index.php

 

vi index.php

<?php

echo "Maria DB 연결 테스트<br>";

$db = mysqli_connect("private subnet 인스턴스 ip(접속하고자하는 dbip)","root(접속허가 받은 사용자)","(비밀번호)");

if($db){

echo "connect: success<br>";

}else{

echo "connect: failure<br>";

}

$result = mysqli_query($db,'SELECT VERSION() as VERSION');

$data = mysqli_fetch_assoc($result);

echo $data['VERSION'];

?>

 

-수정한 퍼블릭 ip/index.php 로 확인

 

 

 

 

-모든 PUBLIC 인스턴스의 설정 완료 후 ALBDNS주소/index.php 로 확인