어제 막바지에 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 작동
-> 마스터를 정지시켜도 정상 작동하지 않았었다.
'교육' 카테고리의 다른 글
[60일 차] 21.10.19 : DevOps 1 (0) | 2021.10.19 |
---|---|
[59일 차] 21.10.18 : 개인 프로젝트 6 (0) | 2021.10.18 |
21.10.16 : 개인 프로젝트 4 (0) | 2021.10.16 |
[58일 차] 21.10.15 : 개인 프로젝트 3 (0) | 2021.10.15 |
[57일 차] 21.10.14 : 개인 프로젝트 2 (0) | 2021.10.14 |
댓글