1. 요구 조건

 1.1. vnet 생성 : 10.0.0.0/16
 1.2. subnet 생성
  1.2.1. bastion : 10.0.0.0/24
  1.2.2. web : 10.0.1.0/24

  1.2.3. db : 10.0.2.0/24 

 1.3. 가상머신 생성 / 인바운드 포트 허용
  1.3.1. bastion : 10.0.0.4 / 22
  1.3.2. web : 10.0.1.4 / 22, 80, icmp

  1.3.3. db : 10.0.2.4 / 22, icmp

 1.4. bastion에서 web, db로 ssh 접속 가능하게 설정

 1.5. 가상머신 접속시 rsa 비대칭키 사용 

2. 조건에 맞게 가상 네트워크 및 서브넷 만들기     * 세부  내용은 이전 자료 참고

3. bastion 가상머신 만들기     * 세부  내용은 이전 자료 참고

 

4. 로컬 컴퓨터에서 RSA 비대칭키 만들기 

 4.1. 명령 프롬프트 실행 

 4.2. RSA 비대칭키 생성 (비밀번호 없음)

ssh-keygen -m PEM -b 2048 -t rsa -q -N ""

 

 4.3. Bastion 가상머신으로 개인키 보내기 

scp -i id_rsa id_rsa [bastion 가상머신 계정]@[bastion 가상머신 공인IP]:[저장하고자 하는 디렉토리]/home/[계정]/.ssh/

 

5. WEB, DB 가상머신 만들기    * 세부  내용은 이전 자료 참고

 5.1. 인증형식 : SSH 공개 키 

 5.2. SSH 공개 키 원본 : 기본 퍼블릭 키 사용 

 5.3. SSH 공개 키 : 로컬 컴퓨터에서 생성한 RSA 비대칭키에서 공개키에 해당하는 id-rsa.pub 파일을 메모장을 열어서 컴퓨터 계정 정보를 제외한 내용을 복사 붙여넣기 

 

 

 5.4. 사용자 지정 데이터 입력 (자동 설치 스크립트) 

 

 5.5. web 서버 자동 설치 스크립트

#!/bin/bash
setenforce 0
dnf install -y wget tar
wget https://ko.wordpress.org/wordpress-5.8.8-ko_KR.tar.gz
tar xvfz wordpress-5.8.8-ko_KR.tar.gz
dnf install -y httpd
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php/g' /etc/httpd/conf/httpd.conf
cp -ar wordpress/* /var/www/html/
dnf install -y php php-cli php-gd php-opcache php-curl php-mysqlnd
cp /var/www/html/{wp-config-sample.php,wp-config.php}
sed -i 's/database_name_here/wordpress/g' /var/www/html/wp-config.php
sed -i 's/username_here/root/g' /var/www/html/wp-config.php
sed -i 's/password_here/It12345!/g' /var/www/html/wp-config.php
sed -i 's/localhost/10.0.2.4/g' /var/www/html/wp-config.php
systemctl enable --now httpd

 

 5.6. DB 서버 자동 설치 스크립트

#!/bin/bash
setenforce 0
yum install -y mysql-server
systemctl start mysqld
mysql -uroot -e "create user 'root'@'%' identified by 'It12345!';
grant all privileges on *.* to 'root'@'%';
create database wordpress; 
quit;"
yum install -y openssh     # mysql-server 설치시 원격 접속이 되지 않는 Openssh 문제가 발생함으로 다시 설치해야 원격접속이 가능

 

6. 네트워크 보안 그룹 설정      * 세부  내용은 이전 자료 참고

 

7. 확인 : bastion 가상머신에서 web, db 서버  ssh 접속 시도 

 

+ Recent posts