Azure
- Azure은 NAT게이트웨이가 없어도, Public IP가 없는 가상머신이 인터넷과 연결 될 수 있다.
- AWS는 NAT게이트웨이가 존재해야 연결할 수 있었다.
- NAT게이트웨이를 강화하는 것이 더욱 트래픽을 관리하기 좋을 수 있다.
가상머신 만들기
기본사항

- 리소스 그룹 새로만들기 (rg-test)
- 인스턴스 이름 (WEB01)
- 가용성 영역 (Zone1)
- 이미지
- [smalldisk]Windows Server 2012 R2 Datacenter - Gen2
- 사용자 이름 : azureuser
- 인바운드 포트 선택 : 80(HTTP), 3389(RDP)

- 체크 확인
디스크
새 디스크 만들기 및 연결

네트워크

- 가상네트워크, 서브셋, 공용 IP를 새로 만들게 된다.
- Azure에서는 기본 IP주소를 10.0.0.0/16을 사용하고, 서브넷으로 default(10.0.0.0/24)를 제공한다.
고급
- 사용자 지정 데이터는 PowerShell을 사용하게 되는데, 지금은 사용하지 않는다.
검토 + 만들기

- 유효성 검사를 통과했고, 가격 책정 예상을 볼 수 잇다.
만들기
- 만들기를 누르는데, 배포가 가장 빠른것은 AWS이다.
- 그래서 AWS에 손이 많이 가게 된다.
MariaDB서버 만들기

기본
- 리소스 그룹 : rg-test
- 서버이름 : cocudenydb
- 위치 : KoreaCentral
- 버전 : 10.3
- Azure는 10.2~10.3 두개의 버전만 지원한다. 이렇게 적은 수의 버전은 AWS에 비교해서 신뢰도를 떨어뜨리는 느낌을 준다.
- 컴퓨팅 + 스토리지
- 컴퓨팅 계층을 기본을 눌러 vCore수를 1개로 만들어준다.
- 스토리지 크기(Gb)도 5Gb로 줄여준다.(최솟값)
- 스토리지 자동증가 사용 (용량이 부족할때 자동증가)
- 백업 보존기간 : 서버 파일을 삭제해도 7일간 남아있을 수 있다.
- 관리자 사용자 이름 : azureuser
- 만들기를 진행한다.
WEB01(Window) 디스크 확인

- WEB01을 만들 때, 5Gb의 추가 용량을 붙혔지만, 보이지 않는다.
- 그러나 포맷이나 새로운 디스크를 추가해본 사람이라면 한번 씩 겪어본 디스크 공간 관리를 들어가면 된다.


- 디스크 매니지먼트 -> 디스크 매니지먼트 -> Initialize Disk 설정

- 우리 눈에 익숙한 UI에 8Gb짜리 디스크가 보인다.

- 이 디스크를 포맷하고 마운트 해줘야 한다.





- 8Gb 디스크가 생겼다.
WEB01에 Wordpress설치
- Wordpress 를 인터넷에 검색해서 다운로드 받는다.
- 원격데스크탑에서 복사 붙혀넣기를 허용하므로, 그냥 복붙해서 wordpress.zip파일을 옮긴다.
IIS 설치

- 이전에 했던 내용이니, Next가 아닌 특이사항만 이미지를 캡처한다.










- IIS와 PHP가 잘 설치되었다.

- 여기 있던 기존 HTM 파일을 삭제하고,
- 아까 다운로드 받은 WordPress파일을 여기에 압축해제해준다.

- 워드프레스 하이~

- wwwroot폴더에 Users와 IIS_IUSRS의 권한이 제대로 설정되어 있지 않다. 모두 허락해주어야 한다.
MariaDB 연결
- 서버이름 (호스트) : cocudenydb.mariadb.database.azure.com
- 서버 관리자 로그인 이름 (계정 ID): azureuser@cocudenydb
- 서브 관리자 로그인 이름 (wordpress) : wpuser@cocudenydb
- SQL에서 계정을 만들면
[이름]@cocudenydb
과 같은 형식이 될 것ㅇ다.
MobaXterm설정
- Menubar에 settings -> MobaXterm Configuration -> Persistent home directory 를 다운로드 폴더에 새로운 폴더를 만들어서 거기로 정해준다.
- MobaXterm의 local Terminal에 연결하면 linux화면을 볼 수 있다. 여기서
touch hello.txt
명령어를 입력하면 선택한 파일에 생성되는 것을 확인할 수 있다.
키 생성
- MobaXterm터미널에서
ssh-keygen -t rsa
로 키를 만들어준다.
ls -al
명령어로 보면 .ssh폴더가 생겼을 것이다.
- cd 명령어로 .ssh로 이동하고
id_rsa
-> id_rsa.pem
으로 만들어준다.
Maria DB SSL 적용상태
- Azure서비스 방문 허용 : 아니요
- SSL 연결 적용 : 사용됨
상태에서 Maria DB를 연결할 수 있도록 해보자.
공인 IP확인
- curl ipconfig.io/
- ipconfig.io 사이트에서 내 공인 IP를 캐치하고 그것을 돌려주는 방법으로 공인IP주소를 반환해준다.

- 이렇게 방화벽 규칙을 내 공인 IP로 하여 접속하게 한다. 이때, 이 IP를 가진 강의실 PC만 접속할 수 잇다.
Maria DB 접속해보기

mysql -h cocudenydb.mariadb.database.azure.com -u azureuser@cocudenydb -p --ssl-ca=BaltimoreCyberTrustRoot.crt.pem
- mysql -h [서버이름(호스트)] -u [서버 관리자 로그인 이름] -p --ssl-ca=BaltimoreCyberTrustRoot.crt.pem
- ssl-ca: ssl classificate
~ 를 말한다 (검색요망)
- 이렇게 접속할 수 있었다.
- 이후
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
quit
- 위 SQL명령어로 유저와 데이터베이스를 만들어 준다.
WordPress 완전설치

- wp-config-sample.php파일을 복사 붙혀넣기로 Copy버전을 만들어준다
- 이것을 wp-config.php로 만들어준다.
wp-config.php 편집

- wp-config.php를 notepad로 열어준다.

- 다음과 같이 설정한다.
- username은 DB에서 새로운 계정을 만들었을 떄,
[계정이름]@cocudenydb
와 같은 형식으로 username을 써줘야 한다.
- hostname도 작성한다.
- Connect with SSL 부분은 Azure의 Mariadb를 사용하기 위해 추가해야되는 부분이다.
IIS Manager

WordPress 접속확인
- Azure 가상머신의 퍼블릭IP주소를 웹브라우져서에서 접속해본다.

- 에러....
- 데이터베이스 방화벽에 우리 강의장PC (hostpc)를 오픈했지만, 우리의 WEB01(Window)는 열지 않았다. 새로 열어줘야 한다.

- 새로 열어준 후 저장해준다.

- 접속 완료!
리소스 정리