Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

클라우드 엔지니어 꿈나무

AWS httpd+ wordpress + Aurora RDS (https/loadbalancer) 본문

AWS

AWS httpd+ wordpress + Aurora RDS (https/loadbalancer)

새싹싹이 2024. 4. 1. 17:12

 

 

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