Amazon EC2 - 실습(Windows Server)

2023. 3. 31. 21:27AWS (Amazon Web Services)

실습 환경

AWS EC2(Windows Server 2022 Base)

 

웹서버

IIS(Internet Information Server)

 

프로토콜

FTP(File Transfer Protocol) 서버

 

Amazon EC2 생성

 

※자세한 Amazon EC2 생성 방법

 

1. Amazon Machine Image(AMI) - Windows Server 2022 Base

 

 

2. Key pair

생성한 인스턴스에 연결할 때 필요한 키

없을 경우 새 키 페어 생성

있을 경우 기존 키 사용

 

 

3. 방화벽(보안 그룹)

인바운드 : 외부에서 내부(AWS EC2 인스턴스)에 들어오는 패킷

아웃바운드 : 내부(AWS EC2 인스턴스)에서 외부(인터넷)로 나가는 패킷

AWS EC2 생성 페이지에서 보안 그룹 생성은 인바운드 설정만 가능

(아웃바운드는 생성 이후에 편집을 통해 설정 가능)

 

Windows Server 연결을 위해 RDP 허용

그외 포트들은 나중에 추가로 열어줄 예정(TCP 포트, MySQL 포트)

 

 

4. 인스턴스 시작

 

AWS EC2 인스턴스 RDP로 접속

 

1. 연결 - RDP 클라이언트

 

 

 

2. 암호 가져오기

EC2 인스턴스와 연결된 키 페어 확인 후 키 파일 업로드

 

 

3. 원격 데스크톱 파일 다운로드

 

 

 

4. 원격 데스크롭 연결

 

 

암호는 3번에서 키페어를 해독한 암호 사용

 

 

 

5. 연결 성공

 

 

IIS 웹서버 & FTP 설치

 

1. Server Manager

 

 

2. Manage - Add Roles and Features

 

 

3. Add Roles and Features Wizard

 

3.1 Before You Begin

 

 

3.2 Installation Type

 

 

3.3 Server Selection

 

 

3.4 Server Roles - Web Server (IIS)

 

 

Add Features

 

 

3.5 Features

 

 

3.6 Web Server Role (IIS) - Role Services(FTP)

 

 

 

3.7 Confirmation

 

 

3.8 Results

설치가 완료되면 Close

 

 

3.9 IIS 설치 확인

브라우저에 127.0.0.1로 연결

 

 

FTP Server 생성

 

1. Windows 사용자 생성

 

1.1 Computer Management

 

 

1.2 Local Users and Groups - Users - New User

 

 

 

사용자 생성 확인

 

 

2. FTP 사이트 생성

 

2.1 FTP 사이트에서 사용할 디렉터리 생성

 

 

디렉터리 내부에 파일 생성(FTP 클라이언트가 다운로드 할 파일)

 

 

2.2 IIS Manager

 

 

2.3 Add FTP Site

 

 

2.4 Site Information

 

 

2.5 Binding and SSL Settings

Binding IP Address를 All Unassigned로 설정 : IIS 웹 서버가 설치되어 있는 모든 내부망에 존재하는 IP 주소에서 동작

특정 네트워크 대역대에서만 동작하도록 설정 가능

외부망에서도 FTP 사이트로 접속 할 수 있지만 그러기 위해서는 IIS 서버에서 방화벽, 포트 등 여러 가지 설정을 추가적으로 해줘야 함

 

SSL 또한 사이트의 보안을 강화시켜주는 역할을 하지만 이번 실습은 FTP 사이트가 정상적으로 설치되고 접속이 가능한지 확인 하기 위함이기 때문에 No SSL로 설정

 

 

2.6 Authentication and Authorization Information

모든 사용자가 읽고 쓰는 권한을 가질 수 있도록 설정

※이는 연습을 위해 모든 권한을 개방 해 둔것이지 실제로는 이렇게 설정하지 않음

 

 

3. FTP 사이트 시작

해당 과정으로 FTP 사이트 재시작, 시작, 중지 가능

 

 

FTP 사이트 연결

 

1. FTP 서버 연결 - 첫번째 도전

FTP 서버 연결에는 파일 탐색기, 알드라이브 두가지 방법을 사용하여 테스트

FTP 서버에 연결하기 위해서는 EC2 인스턴스의 퍼블릭 IP 주소를 알아야 함

 

 

1.1 파일 탐색기를 통한 접속

 

 

FTP 서버에 연결 불가

 

 

1.2 알드라이브를 통한 접속

 

접속모드 : 능동형(Passive)으로 설정

 

 

FTP 서버 연결 불가

 

 

FTP 서버에 연결 할 수 없는 이유

1. AWS EC2 인스턴스 방화벽(보안 그룹) 인바운드 포트 개방

2. Windows Server 방화벽의 인바운드 포트 개방

 

이 두가지 작업을 해줘야 외부에서 내부(FTP 서버)로 접속 할 수 있음

다음은 이해하기 쉽게 간단하게 그린 구성도 입니다.

 

 

2. 보안그룹 & 방화벽 설정

FTP 동작 과정

 

Active 모드 

 

 

1. FTP 클라이언트는 자신의 랜덤한 포트(5002)를 사용해서 FTP 서버의 21번 포트로 연결을 시도하고 연결이 성공할 시

active 모드로 전환하고 FTP 클라이언트는 FTP 서버로 데이터 전송을 위해 자신의 랜덤한 포트(5001)를 열어 전송

 

2. FTP 서버는 FTP 클라이언트로 데이터 전송을 하기 위해 자신의 20번 포트를 열고, FTP 클라이언트에게 해당 포트를 전송

 

3. FTP 서버는 20번 포트를 이용해 FTP 클라이언트가 열어둔 랜덤한 포트(5001)로 데이터 전송을 위한 연결을 시도

 

4. FTP 클라이언트는 FTP 서버에게 데이터 전송이 완료 되었다고 응답한뒤 연결을 종료

 

즉 서버에서 클라이언트로 접속하는 구조

 

Passive 모드

 

 

1. FTP 클라이언트는 자신의 랜덤한 포트(5001)를 사용해서 FTP 서버의 21번 포트로 연결을 시도하고 연결이 성공할 시 PASV 명령어를 사용하여 passive 모드로 전환

 

2. FTP 서버는 데이터 전송을 위한 랜덤 포트를 클라이언트에게 알려주며 이때 서버에는 1024 이상의 포트들이 열려 있어야 함

 

3. FTP 클라이언트는 FTP 서버가 알려준 랜덤한 포트(1025) 즉 1024 이상의 포트로 데이터 전송을 위한 연결을 시도

 

4. FTP 서버는 FTP 클라이언트에게 데이터 전송이 완료 되었다고 응답한뒤 연결을 종료

 

즉 클라이언트에서 서버로 접속하는 구조

 

실습에서는 Passive 모드를 사용할 것이며 그러기 위해서는 AWS 보안 그룹 인바운드 규칙에 21번 포트와 1024이상의 포트를 개방 시켜줘야 하며 Windows Server 방화벽 인바운드 규칙에서도 마찬가지로 21번 포트와 1024이상의 포트를 개방시켜줘야함

 

2.1 AWS EC2 보안그룹 설정

보안 - 보안그룹

 

 

인바운드 규칙 - 인바운드 규칙 편집

 

 

규칙 추가

포트 범위 : 21                   소스: Anywhere-Ipv4

포트 범위 : 1024-5000     소스 : Anywhere-Ipv4

소스 : 0.0.0.0/0은 누구나 접근이 가능하다는 뜻이며 특정 IP Address를 입력하여 특정 IP 대역대에서만 해당 포트로 접속 할 수 있도록 설정 가능

 

 

2.2 Windows Server 방화벽 설정

 

Windows Defender Firewall

 

 

Advanced settings

 

 

Inbound Rules - New Rule

 

 

Rule Type - Port - Next

 

 

Protocol and Ports - TCP - Specific local ports : 21 - Next

 

 

Action - Allow the connection - Next

 

 

Profile - Domain, Private, Public 모두 체크 - Next

 

 

Name - 원하는 이름 설정 - Finish

 

 

이와 같은 방식으로 1024-5000 Inbound Rule 추가

Rule name은 FTP-Data

 

 

3. FTP 서버 연결 - 두번째 도전

 

3.1 파일 탐색기를 통한 접속

 

 

 

전과 다르게 로그인 화면이 떴지만 폴더에 접근할 권한이 없음

 

 

이는 기본적인 설정이 Active 모드이기 때문이며 Passive 모드로 바뀌기 위해서는 다음과 같은 작업이 필요

 

인터넷 속성 - 방화벽 및 DSL 모뎀과 호환되는 수동 FTP 사용 해제 - 적용 - 확인

 

 

성공적으로 FTP 서버 디렉터리에 접속했으며 디렉터리 내부의 파일도 확인 가능

 

 

3.2 알드라이브를 통한 접속

 

고급 - 접속모드 : 능동형

 

 

FTP 서버에 연결 성공

 

 

'AWS (Amazon Web Services)' 카테고리의 다른 글

Amazon S3  (0) 2023.04.05
Amazon RDS  (0) 2023.04.02
AWS Documentation  (0) 2023.03.27
클라우드 컴퓨팅  (0) 2023.03.18
AWS 로드밸런싱 기법  (0) 2023.03.13