0. Azure?

Microsoft Azure는 AWS(Amazon web service)와 같은 클라우드 컴퓨팅 서비스입니다.
어? 마이크로소프트도 클라우드 서비스가 있어? 네 있습니다. GA가 된지 올해로 7년째인 플랫폼입니다.
클라우드 서비스를 이용하는 모든 시나리오는 AWS 뿐만아니라 Azure에서도 적용 가능합니다.

Azure는 IaaS 환경도 어느정도 AWS와 견줄 수 있을 만큼 발전하였고 무엇보다 아래와 같이 다양하고 많은 PaaS와 SaaS를 가지고 있습니다.

(스크롤 내리느라 수고하셨습니다…)

앞으로의 포스팅을 통하여 Azure를 쉽고 간편하게 이용 할 수 있도록 쭈-욱 게시물을 올릴 계획입니다.

그럼, 이번 포스팅을 통하여 간단하게 Azure에서 VM을 만들어 보고 LAMP 스택을 구축하는 방법에 대해 알려드리도록 하겠습니다!

1. VM 설치

처음 가입시 1개월동안 사용가능한 무료계정 등록이 가능합니다. 무료계정 등록 후
Azure 포털(https://portal.azure.com/) 에 로그인을 하게 되면 다음과 같은 화면이 나오게 됩니다.

동그라미 친 새로만들기 버튼을 클릭합니다.

새로만들기를 누르고 Ubuntu 16.04를 입력한 후 검색을 하면 아래와 같이 설치 가능한 OS들이 나오게 됩니다.
OS의 기본 이미지 뿐만 아니라 Zulu, Infomatica, Docker 등이 설치 된 다양한 Image로 OS를 설치 가능합니다.

Ubuntu 16.04 설치를 위해 빨간색 동그라미 친 Image를 선택합니다.

이미지를 선택하면 만들기 버튼을 보실 수 있습니다. 배포 모델은 Resource Manager와 클래식 두가지가 있습니다.
Azure는 현재 플랫폼 전환 중이기 때문에 두가지 배포 모델이 존재합니다.
최신 배포 모델인 Resource Manager를 선택하고 만들기 버튼을 눌러줍니다.

만들기 버튼을 누르면 아래와 같이 가상 컴퓨터 만들기 블레이드가 나타나게 됩니다.

이름은 가상 컴퓨터의 이름을 지칭합니다.
VM 디스크 형식은 SSD 혹은 HDD로 설정 가능합니다.
사용자 이름은 가상 머신 안에서의 사용자 계정 이름을 나타냅니다.
가상머신에 접속하기 위하여 SSH Public Key, 사용자 암호 옵션을 제공합니다. SSH 접속은 아래 링크를 통해 손쉽게 수행할 수 있습니다.

https://docs.microsoft.com/ko-kr/azure/virtual-machines/virtual-machines-linux-ssh-from-windows

Linux VM용 Windows를 통한 SSH 키 사용
docs.microsoft.com

구독은 무료 체험 구독을 선택하여 줍니다.
리소스 그룹은 서비스에 필요한 컴포넌트를 그룹화 하여 관리하는 기능을 제공합니다.
이를 통해 리소스를 개별적으로 관리하는 것이 아니라 통합적인 솔루션 차원에서의 배포 및 관리, 모니터링이 가능해집니다.
LAMP라는 리소스 그룹을 생성하여 줍니다.

마지막으로 VM이 배포 될 지역을 선택하면 됩니다. 현재 한국 지역은 선택이 불가능 하나 조만간 KR DC의 사용이 가능해 질 것 같습니다.

확인 버튼을 누르게 되면 다양한 스펙의 VM을 선택 할 수 있는 창이 나타납니다. 적당한 크기의 VM을 결정하고 선택 버튼을 누릅니다.

다음으로 설정탭이 나오게 됩니다.
Azure 저장소는 대규모로 확장 가능하고 내구성이 견고한 고가용성 데이터 저장소입니다. 처음 VM을 만들게 되면 자동으로 생성이 됩니다.

네트워크 탭에서는 4가지 설정이 가능합니다. VM이 속하게 될 Azure 가상 네트워크를 생성 혹은 가져올 수 있습니다. 최소 하나 이상의 서브넷이 필요 하고 미리 가상 네트워크를 만들고 서브넷을 설정하지 않았다면 자동적으로 생성이 됩니다.
공용 IP 주소는 인터넷과 연결이 가능한 IP 주소이며 네트워크 보안 그룹은 간단하게 말해 방화벽이라 생각하면 되겠습니다.

네트워크 보안 그룹을 눌러 인바운드 트래픽에 대해 설정해 줍시다!

네트워크 보안그룹을 누르게 되면 다음과 같은 창이 나타나게 됩니다. 웹페이지를 생성하였을 경우 80번 포트에 대해 개방을 하지 않으면 외부에서 접근이 불가능합니다. 네트워크 보안그룹을 통하여 HTTP에 대한 인바운드 트래픽 규칙을 추가해 줍니다.

확인 버튼을 누르고 누르고 누르면 마지막으로 배포단계의 마지막인 유효성 검사 탭이 나타납니다. 확인을 눌러 배포를 진행합니다.
배포를 진행하게 되면 처음 Azure 대시보드에 아래와 같이 배포중이라는 창이 뜨면서 배포가 진행되게 됩니다.

(기달려 봅시다…)

잠시 기다리면 배포가 완료가 되고 아래와 같은 창이 나타나게 됩니다.
SSH 연결을 위해 연결 버튼을 누르고 내용을 복사합니다.

2. SSH 접속 및 프로그램 설치

SSH 접속은 위에 있는 링크를 참조하여 진행하도록 합니다. 저는 Window 용 Git Bash를 사용하였습니다.
Putty로 하셔도 되고 Window용 Bash를 사용하셔도 상관 없습니다.
PrivateKey를 이용하여 ssh 접속을 하게 되면 만든 VM에 접속한 것을 확인 할 수 있습니다.

매번 sudo를 입력하기 귀찮으니

sudo su

명령어를 통해 root 권한을 획득합니다.

우분투는 apt-get 명령어를 이용하여 다양한 패키지를 손쉽게 설치가 가능합니다. apt-get 업데이트를 위해 아래의 명령어를 입력해 줍니다.

apt-get update

2-1. apache 서버 설치

설치가 완료 되었다면

apt-get install apache2

명령어를 통해 apache 서버를 설치해 줍니다.

2-2. MySQL 설치

다음으로 MySQL 설치를 위해 다음과 같은 명령어를 입력합니다.

apt-get install mysql-server mysql-client

mysql에 사용 될 비밀번호를 입력하면 설치가 완료됩니다.

2-3. PHP 및 기타 라이브러리 설치

apt-get install php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-cgi libapache2-mod-php7.0 php-mbstring php7.0-mbstring php-gettext

2-4. phpmyadmin 설치

마지막으로 mysql db를 손쉽게 관리하기 위한 phpmyadmin을 설치합니다.

apt-get install phpmyadmin

apache2 서버를 설치하였으므로 apache2 를 선택한 후 enter를 눌러줍니다.

Yes를 눌러주고

이전에 설정하였던 mysql DB의 비밀번호를 입력하여 준다면 설치가 완료됩니다.

apache2 서버와 phpmyadmin을 연결하기 위하여 다음의 명령어를 치고 conf 파일을 수정하여 줍니다.

파일의 마지막 부분에
Include /etc/phpmyadmin/apache.conf
를 추가 시키고 저장합니다.
저장은 ctrl + x을 누르고 y를 누른 후 enter를 입력하면 됩니다.

마지막으로 서버 재시작을 위하 아래와 같은 명령어를 입력합니다.
service apache2 restart

3. 접속 확인

아파치 서버가 정상적으로 설치가 되었고 phpmyadmin 또한 설치가 완료 되었다면
<내”>http://<내 VM의 ip 주소>/
<내”>http://<내 VM의 ip 주소>/phpmyadmin
로 접속하시면 아래와 같은 페이지가 나타나게 됩니다.