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 접속 시도
'클라우드' 카테고리의 다른 글
Azure : 가상 네트워크 간 연결 (피어링) (0) | 2024.12.19 |
---|---|
Azure : 리눅스 웹 서비스 만들기 (docker 활용) (0) | 2024.12.16 |
Azure Monitor를 사용하여 부하 분산 장치 리소스 모니터링 (실습) (0) | 2024.11.27 |
Azure PowerShell을 사용하여 Azure 프라이빗 엔드포인트 만들기 (실습) (0) | 2024.11.26 |
Azure 가상 네트워크 서비스 엔드포인트로 PaaS 리소스에 대한 네트워크 액세스 제한 (실습) (0) | 2024.11.26 |