AWS EC2의 윈도우 서버 인스턴스를 생성하는 실습을 진행해보았다.
실습에 사용된 VPC 구성 및 상세한 EC2 구성 방법은 이전 글에서 설명한다.
2022.09.27 - [보안 이론/클라우드 보안] - AWS - VPC, EC2를 이용하여 웹서버 구축하기 (Gnuboard5)
EC2 Window Server 인스턴스 생성
AWS에서 EC2를 검색해 EC2서비스에 접속 후 새로운 인스턴스를 생성한다.
(1) 인스턴스 이름 설정
인스턴스를 구분하기 위해 원하는 이름을 설정한다.
(2) OS 이미지 설정
IIS 서버를 구축하기 때문에 Windows 운영체제를 선택한다.
실습에서는 Windows Server 2016 base 이미지를 선택한다.
Windows Server xxxx base : GUI환경이 제공되어 간편하게 서버를 관리할 수 있지만 속도가 느림.
Windows Server xxxx core base : CLI환경으로 제공되며 커맨드를 이용해 관리, 상대적으로 속도가 빠름
키 페어의 경우 이전에 만든 키를 재사용한다.
키가 없는 경우 새 키 페어 생성을 통해 rsa와 .pem를 체크하고 생성한다.
(키 페어 생성 방법은 위에 명시한 이전 게시글에 기술되어있다.)
네트워크 설정을 위해 오른쪽에 편집 버튼을 눌러준다.
그 후 네트워크와 서브넷은 자신이 만든 VPC, Subnet을 이용한다.
(VPC를 이용한 네트워크 구축 방법은 위에 명시한 이전 게시글에 기술되어있다.)
IIS 웹 서버를 위한 보안 규칙을 생성한다.
(1) RDP(원격 데스크톱 프로토콜)
다른 웹서버는 SSH를 이용해 원격 접속을 했으나 IIS에서는 RDP를 이용해 원격 접속한다.
관리 목적의 프로토콜이기 때문에 내 IP로만 접속할 수 있도록 설정한다.
(2) HTTP, HTTPS
인터넷에서 웹 서버로 접근하기 위해 열어두는 프로토콜이다.
위치 무관으로 설정하여 외부의 IP를 제한없이 접속할 수 있도록 한다.
다른 설정은 기본값으로 설정하고 인스턴스 생성을 누른다.
인스턴스 원격 연결
EC2의 인스턴스에서 내가 생성한 인스턴스를 체크한뒤 연결버튼을 누른다.
인스턴스 연결 창에서 RDP 클라이언트를 누른뒤 아래 암호 가져오기를 들어간다.
인스턴스를 생성할 때 사용한 키 페어를 이용해서 접속을 시도하기 때문에 다운로드된 .pem 파일이 필요하다
Browse를 눌러 키를 업로드한 뒤 암호 해독 버튼을 누른다.
정상적으로 등록되면 아래에 다음과 같이 Public IP, 사용자 이름, 암호가 출력된다.
이제 윈도우에서 원격 데스크톱 연결을 실행시켜 위 정보를 동일하게 기입한다.
컴퓨터에는 Public IP를 입력하고 연결 버튼을 누른다.
자격 증명 입력 창이 나오면 사용자 이름과 암호를 입력한 뒤 확인 버튼을 누른다.
정상적으로 접속되면 다음과 같이 우리가 만든 Window Server OS를 GUI환경으로 원격 연결할 수 있다.
윈도우 서버 IIS 설치
먼저 윈도우 모양 버튼을 클릭해 "Server Manager"를 실행한다.
다음과 같은 프로그램이 열린다.
대시보드에서 "Add roles and features" 눌러 설치 마법사가 실행한다.
위 단계가 올 때까지 Next를 눌러 진행하고 위 단계에서는 WebServer (IIS)를 체크하여 IIS설치를 진행한다.
뒤에 오는 단계는 Next를 눌러 기본값으로 진행한다.
설치가 완료되면 다음과 같이 Server Manager에 IIS 메뉴가 생성된다.
이제 생성한 인스턴스의 퍼블릭 주소로 접속하여보자.
퍼블릭 주소는 EC2의 인스턴스 상세정보에서 확인할 수 있다.
접속하면 다음과 같은 IIS 디폴트 페이지가 나오며 성공적으로 서버가 운용되고 있다는 것을 알 수 있다.
부록. IIS의 웹 루트 폴더
웹 브라우저를 통해 웹 서버를 접속하면 웹 루트 폴더의 웹 페이지 파일을 요청한다.
윈도우의 웹 루트 폴더인 C:\inetpub\wwwroot 경로를 확인해보자.
iisstart라는 html 파일이 바로 위에서 웹 서버 ip에 접속했을 때 나온 디폴트 페이지이다.
우리는 위 폴더에서 웹 파일을 구성하여 원하는 웹 서비스를 만들 수 있다.
디폴트 페이지 파일 선정 기준
우리는 서버 아이피 뒤에 아무것도 입력하지 않았음에도 iistart 파일이 보여졌다. 왜 그런 것일까?
이는 바로 서버에서 기본 페이지 이름을 설정할 수 있기 때문이다.
IIS의 디폴트 페이지 설정 화면이다.
위와 같은 이름의 문서가 디렉토리 내에 존재하면 서버는 해당 경로를 요청했을 때 자동으로 문서를 실행한다.
또한 해당하는 문서가 2개 이상 있을 경우 우선순위가 가장 높은 문서를 실행한다.
테스트를 위해 index.html을 만들고 cat.png 파일과 같이 폴더 내에 추가하였다.
( 메인 컴퓨터에서 파일을 복사하여 원격 데스크톱 컴퓨터에서 붙여넣기하면 파일이 전송된다.)
<!--index.html-->
<html>
<head>
<meta charset="utf-8">
<title>고양이</title>
</head>
<body>
<center>
<h1>고양이는 너무 귀여워</h1>
<img src="cat.png" width="70%">
<h2>조랭이떡</h2>
</center>
</body>
</html>
이제 다시 웹 서버 주소로 접속하면 다음과 같이 index.html 파일이 보여지는 것을 알 수 있다.
우리는 AWS EC2를 이용해 Windows Server 2016 base라는 AMI(Amazon Machine Image)를 사용해 인스턴스를 생성하였으며 RDP를 사용해 GUI환경의 원격 접속을 진행해 IIS서버를 설치하였다.
'보안 이론 > 클라우드 보안' 카테고리의 다른 글
AWS - Amazon Linux로 WordPress 웹 서버 구축 (0) | 2022.10.19 |
---|---|
AWS - VPC(Virtual Private Cloud) (0) | 2022.10.17 |
AWS - S3(Simple Storage Service) (0) | 2022.10.15 |
클라우드 컴퓨팅이란 (0) | 2022.10.03 |
AWS - VPC, EC2를 이용하여 웹서버 구축하기 (Gnuboard5) (0) | 2022.09.27 |