"클라우드의 최대 장점은 on - premise"
"paas 는 하드웨어에 OS or 개발환경을 놓아주는 것을 말한다"
"VPC 끼리는 보안그룹을 공유하지 않는다"
"VPC 에는 서브넷이 존재 한다"
"사설영역을 연결하는 방법이 있다 - VPC Peering"
데이터베이스는 중요한 리소스이기 때문에 고가용성을 추구하기 떄문에 멀티 AZ(Availability Zone)를 구성해야 한다
pub-sub2 생성 10.10.11.0 /24 - public 라우팅 테이블
pri-sub2 생성 10.10.12.0 /24 - private 라우팅 테이블
rds-sub2 생성 10.10.13.0 /24 - private 라우팅 테이블
퍼블릭 서브넷을 갖는 인스턴스 내에서 프라이빗 서브넷 안의 인스턴스에 연결할 수 있다.
아마 permission denied 오류를 뿜을 것이다.
키페어를 베스천한테 scp로 전달 해야 ssh에 접속이 가능하다
방금 만들었던 프라이빗 키페어 rapa-pri.pem 키페어 파일을 베스천 키페어 와 같은 장소(디렉토리)에 놓아야한다.
실무에서도 키페어 관리를 이런 방식으로 한다고 한다
키페어 파일에 권한 부여
쉘로 접속한 톰캣 인스턴스로 가서 외부로 통신이 가는지 확인
정상적으로 송신이 가능하다
[삭제 순서]
RDS 는 가용영역 a,c 에 대해 서브넷 그룹을 만들어 줘야한다
kakao 라는 vpc를 192.168.0.0/16 대역으로 생성. 3tier로 구분된, 두개의 가용영역 (A 및 C )를 갖는 서브넷을 구성하여 테스트 해보자
하나의 인스턴스 생성
[ec2-user@ip-10-10-1-165 ~]$ sudo yum -y install httpd
[ec2-user@ip-10-10-1-165 ~]$ sudo systemctl restart httpd
[ec2-user@ip-10-10-1-165 ~]$ sudo systemctl enable httpd
[ec2-user@ip-10-10-1-165 ~]$ cd /var/www/html/
[ec2-user@ip-10-10-1-165 html]$ sudo touch index.html
[ec2-user@ip-10-10-1-165 html]$ sudo vi index.html
[ec2-user@ip-10-10-1-165 html]$ curl localhost
webserver
webserver2 라는 내용이 보여지는 web2 인스턴스를 AZ-c 에 생성
[ec2-user@ip-10-10-11-167 ~]$ sudo yum -y install httpd
[ec2-user@ip-10-10-11-167 ~]$ sudo systemctl restart httpd
[ec2-user@ip-10-10-11-167 ~]$ sudo systemctl enable httpd
[ec2-user@ip-10-10-11-167 ~]$ sudo touch index.html
[ec2-user@ip-10-10-11-167 ~]$ ls
index.html
[ec2-user@ip-10-10-11-167 ~]$ sudo vi index.html
[ec2-user@ip-10-10-11-167 ~]$ sudo mv index.html /var/www/html/
어플리케이션 로드 밸런서 (ALB)
네트워크 로드 밸런서 (NLB)
로드밸런서 계획(Scheme)
우리는 웹서버를 외부에 노출시켜야 하므로 Internet-facing 을 선택
새로운 탭이 생성 된다.
인스턴스 선택
헬스 체크 (Health Check)
NLB로 똑같이 로드밸런서를 생성하여 로드밸런싱 여부를 확인해보자.
[과금 이슈]
문제
[참고] php -v 7.x 이상 Amazone Linux 환경에서 설치하기
https://techviewleo.com/install-php-7-on-amazon-linux/
해결과정
아마존 리눅스를 베이스 AMI 로 하는 인스턴스 생성
Shell로 ssh 로 접속하여 wordpress 구성을 위한 패키지 설치 - wp-config.php 파일 생성까지의 과정
인스턴스 중지 후 AMI 이미지 생성
인스턴스 wp1, wp2 생성
ssh 로 wp1, wp2 인스턴스를 Shell 로 접속
RDS 에서 Data base 생성 RDS 내의 데이터 베이스 2개가 필요하다.
RDS 생성이 완료됐다면 아무 인스턴스에서 mariadb-server 패키지를 설치해 RDS 엔드포인트를 이용하여 mysql에 접속
초기 데이터베이스는 이미 생성됐으니 남은 Data base create
각각의 wp1, wp2 인스턴스 wp-config.php 파일에 DB 정보 입력 후 httpd 서비스 재시작
wp1, wp2 각각 wordpress 접속이 되는지 확인
로드밸런싱을 증명해야 하므로 wp1, wp2 둘 중 하나를 다르게 구성
ELB - ALB 생성
Target Group 생성 후 ALB 에 할당
"엔드포인트"/wordpress 를 크롬 접속창에 접속하여 로드밸런싱이 되는지 확인