본문 바로가기
교육

21.10.17 : 개인 프로젝트 5

by ballena 2021. 10. 17.

어제 막바지에 php 에러를 찾았고, connect.php 작동까지 확인했다.

 

1. 서울 리전 인프라 구축

2. 서울 VPC-IDC 연결 후 통신 확인

3. VPC에 웹 파일 전송, IDC에 DB 구축 후 연동 확인

4. 싱가포르 인프라 구축

5. 싱가포르 웹 서버 구축

6. 서울-싱가포르 피어링, 서울과의 통신 확인

7. 싱가포르 DB 슬레이브 설정

8. 글로벌 엑셀러레이터 설정 후 테스트

 

 

* DB에 신규 정보 입력 시 한글이 깨진다.

-> mysqli_set_charset($conn, 'utf8); 추가

 

* DB 슬레이브 설정 시 순서가 중요하다.

마스터 쪽의 작업은 해놨다는 전제 하에 진행

마리아DB 설치

-> 동일한 이름의 DB 만들기 : 내용물은 만들지 않아도 된다.

-> 받아놨던 백업 파일을 방금 만든 껍데기 DB에 적용 : mysql -uroot -p[비밀번호] [DB명] < [백업 파일 경로]

-> 설정 파일 수정 : /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
#아래부분만 추가하면 됨
log-bin=mysql-bin
server-id=2
read_only=1
replicate-do-db='DB명'
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d

주석을 제외하면 대충 위와 같은 내용인데, 빨간 부분을 추가.

-> 마리아DB 서비스 재시작

-> 마스터 DB의 파일명/포지션 번호 확인 : mysql -h [마스터 주소] -u[계정명] -p[비밀번호] -e "show master status;"

출력되는 파일명과 포지션 번호가 마스터의 것과 같으면 일단 1차 성공.

-> 다시 슬레이브의 DB로 들어가서

change master to
master_host="마스터DB의 주소",
master_user="원격접속용 계정명",
master_password="비밀번호",
master_log_file="위에서 일치를 확인했던 파일명",
master_log_pos=위에서 일치를 확인했던 포지션 번호;
START SLAVE;

-> 나와서 연동 결과 확인 : mysql -u root -p -e "show slave status\G;" | grep Slave

결과가 

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

이렇게 나오면 연동 성공!

 

이제 마스터 DB에서 데이터를 추가해 보고, 슬레이브에도 추가됐는지 확인하면 된다.

 

 

 

연동은 됐고, 예정했던 고난 직면

-> 싱가포르 웹에서 DB로 어떻게 연동하지?

계정을 어떻게 할지 고민 중. 지금 그대로 하니 막혔다.

 

아니지. 생각해 보니 싱가포르 웹 서버를 굳이 슬레이브에 연결할 필요가 있나?

-> 백업 용도로 슬레이브를 만들었다고 생각하자.

원래도 SELECT 구문만 싱가포르 DB에 연동하고, UPDATE, DELETE 등은 마스터 DB로 연결할 생각이긴 했는데...

(분명 방법은 있겠지만, 일단 넘어가자)

 


제출용 PPT 만들기

 

1. 구조도

-> 강사님께 받은 자료 활용

2. 실행 화면

-> 지금 만든 결과물에서 사진 찍기

 

2번 먼저 하자. 비용 나간다.

 

 

보여줘야 하는 것은 각 기능 시연.

0. 리전 간, VPC-IDC 간 통신 확인

-> 서울 VPC/서울 IDC/싱가포르 VPC/싱가포르 IDC끼리 핑 날려보고 nslookup으로 도메인 통신 확인

-> 문제 발생 : 웹 서버에서 다른 리전으로 도메인 통신이 안됨. 이거 맞나? IDC에서는 나머지 다 되는데?

 

1. ALB를 통한 서울 리전의 웹 페이지 접속

-> ALB 도메인으로 웹 서버 1과 2 모두 접속되는 것을 확인

2. 서울 리전의 웹 인스턴스 하나가 정지되었을 때의 ALB 접속 화면

-> 대충 정지 후에도 접속 가능하다는 것을 보여주기

-> ALB의 상태 확인 보여주기

3. 글로벌 엑셀러레이터를 통한 서울/싱가포르 리전에서의 접속

-> 서울과 싱가포르에서 글로벌 엑셀러레이터 도메인으로 접속한 화면 보여주기

4. 각 리전에서 DB-웹 연동을 보여주기 : 조회, 추가, 삭제 등

5. 마스터 DB 정지 시에도 작동하는지 보여주기

-> 이건 안되면 그냥 빼자.

진짜 안되네....흑흑흑

6. 서울 or 싱가포르 웹 서버가 중지되었을 때에서 글로벌 엑셀러레이터로 접속 가능한지 확인

-> 글로벌 엑셀러레이터 상태 확인 보여주기

 

 

 

다 끝내고 PPT 만들었는데...

 

나 진짜 자료 만드는 센스가 없네...

제출 기한이 있어서 제출하긴 했는데, 기왕 만든거 목표대로 완성을 해보자.

 

1. 슬레이브 DB와의 연동

-> 싱가포르 리전에서의 SELECT는 싱가포르의 슬레이브 DB로 가야 했는데, 연결이 안되길래 서울 DB로 돌려버렸다.

2. 마스터-슬레이브 DB 작동

-> 마스터를 정지시켜도 정상 작동하지 않았었다.

 

 

댓글