클라우드 엔지니어 꿈나무
AWS httpd+ wordpress + Aurora RDS (https/loadbalancer) 본문
VPC | 192.168.18.0/24 |
subnet-911031-public-A | 192.168.18.0/27 |
subnet-911031-public-C | 192.168.18.32/27 |
subnet-911031-private1-A (EC2) | 192.168.18.64/27 |
subnet-911031-private1-C (EC2) | 192.168.18.96/27 |
subnet-911031-private2-A (RDS) | 192.168.18.128/27 |
subnet-911031-private2-C (RDS) | 192.168.18.160/27 |
IGW 라우팅 테이블
NAT A + 라우팅테이블
NAT C + 라우팅테이블
SSM 으로 인스턴스에 접속하기 위해서 인스턴스에 SSM_ROLE 부여 및 NAT로 연결
EC2 Private 1A 및 Private 1C에 각각 하나씩 생성
EC2 보안 그룹
EC2 부여한 IAM 롤
로드밸런서
대상 그룹
보안그룹은 EC2 보안 그룹과 동일
퍼블릭 서브넷에 생성
Aurora RDS 생성
Aurora Mysql
비밀번호는 직접 생성하여 관리
RDS 서브넷 그룹
RDS 보안 그룹
인바운드 3306 포트 확장
인바운드 소스 VPC 및 인스턴스 보안 그룹 추가(둘 중 하나만 해도 무방)
EC2에서 httpd, php, wordpress 설치
$ sudo dnf update -y
$ udo dnf install -y httpd wget php-fpm php-mysqli php-json php php-devel
$ sudo dnf install -y mariadb105-server
$ sudo systemctl enable --now httpd
$ wget https://wordpress.org/latest.tar.gz
wordpress 파일 tar 파일로 가져오기
$ mysql -h rds-911031-aurora.cluster-ctyuomkussrg.ap-northeast-1.rds.amazonaws.com -uroot -p
mysql 로그인
mysql > create databse wordpress_db;
mysql > GRANT ALL PRIVILEGES ON `wordpress_db`.* TO "root"@"%";
mysql > FLUSH PRIVILEGES;
mysql > exit
$ sudo cp wordpress/wp-config-sample.php wordpress/wp-config.php
복사하여 파일 수정
$ sudo vi wordpress/wp-config.php
수정 전
수정 후
하기 스크립트 입력
define('AUTH_KEY', 'a+R2KXaV_]i(m%yoVXx!m5B5,K;Vs$2]NPju9AH,vL;GT)0ym)8-a+)7|`_>{)cz');
define('SECURE_AUTH_KEY', 'KQ4Isr;^epgkj_O+HoyG{t(o0~:6|_=5c?|,~PLp%VN+8#|M8o;6hHXH2MAGRlX1');
define('LOGGED_IN_KEY', 'zVu$n0R}7XLFNYCG;7rhs:>|5uEM=7wP*:C+[{s+LBdqn$jVas~ZLHSLmVn-}C:,');
define('NONCE_KEY', 'YI,YZg{p0F,7i|/2A+C2,>-]w~r!u>qLBYreqio]/u?P}mn[lm0:.2>.cT_v6KO5');
define('AUTH_SALT', '_QG*;[FF&F;B,vNTI.2.Jp|sji+]ur;m66,eK=s+^R}:r{~hsnYCxd}I_v6U: os');
define('SECURE_AUTH_SALT', 'fK+Soc+J/r0Re2GYg(4Q,mtA3}x+Z`Sc7RA_@ALucOVtV+)Kv(v}n<7N}Gj`NQg<');
define('LOGGED_IN_SALT', 'ww/8C-x;PVF_)/Yp*EER|SE0|kVk>)B3ISx(w81A8MO*pW(3pF$BlcgFk:@m,KhD');
define('NONCE_SALT', 'DG#ZL6KHv$tK )D@(: p-|KPfbSa#A.;D2@@:uB#[SAawFC($3$p5bKu@9.%r6z^');
$ sudo cp -r wordpress/* /var/www/html/
httpd의 html 디렉토리에 복사
$ sudo vi /etc/httpd/conf/httpd.conf
AllowOverride None을 ALL 로 하기와 같이 변경
Route53 도메인 이름 생성한 후, CNAME 으로 로드배런서 연결 (별칭 + 레코드 유형 A로도 로드밸런서 연결 가능)
ACM 생성
하기와 같이 레코드 설정하고 ACM 설정
ssl/tls 연결을 위한 추가 설정
리스너 추가
로드밸런서 보안 그룹에 443 추가
https 연결 확인
'AWS' 카테고리의 다른 글
AWS Lambda (0) | 2024.04.04 |
---|---|
AWS Autoscaling 설정 (0) | 2024.04.03 |
SSM-agent 역할 부여 및 IP 개수 증량 (0) | 2024.03.29 |
loadbalancer(gateway/+ 쿠키(stickness) (0) | 2024.01.22 |
EKS Cloudwatch - Container Insight + Fluentd 설치 (0) | 2024.01.14 |