추천 게시물

AWS EC2 윈도우 서버 FTP IIS (Internet Information Services) 설정하기

목차

일단 어찌어찌 FTP를 설정했는데 과정을 까먹을 것 같아서 간략하게 정리해 본다.

내가 나중에 까먹으면 찾아보려고 정리하는 의도가 크기 때문에 아마 쉽게 따라하기는 어렵겠지만 나 자신을 위해 최대한 나름 자세히 정리해 보겠다.

가장 어려웠던건 FTP 포트를 여는 작업이다. CMD에서 "service.msc" 를 실행해서 실행한 뒤 Microsoft FTP Service를 찾는다.


Runnig이라고 나오지 않는다면 서버 세팅 위저드를 실행해서 FTP를 사용하게 설정해야한다.

관련 내용은 GPT 답변을 대신 적어 둔다.

서버 관리자에서 마법사를 활용한 설정 ( GPT 대화 )

AWS EC2가 윈도우 서버이고, 윈도우에서 FTP로 접속하려고 한다면, FTP 서버를 EC2 인스턴스에서 설정해야 해. 윈도우 서버에는 기본적으로 **IIS(인터넷 정보 서비스)**가 포함되어 있으니, IIS를 활용해 FTP 서버를 설정하고 접속할 수 있어. 아래 단계를 따라 설정해 봐.

1. IIS(인터넷 정보 서비스) 활성화

  1. EC2 윈도우 서버에 원격 데스크톱으로 접속.
    • AWS 콘솔에서 퍼블릭 IP를 확인하고, RDP 파일을 사용해 접속.
  2. 서버 관리자를 실행.
  3. 왼쪽 메뉴에서 역할 및 기능 추가를 클릭.
  4. 역할 및 기능 추가 마법사에서:
    • 서버 역할 단계에서 **웹 서버(IIS)**를 선택.
    • 역할 서비스 단계에서 FTP 서버 > FTP 서비스FTP 확장 인증을 선택.
  5. 설치가 완료되면 IIS 관리자가 활성화됨.

2. FTP 사이트 설정

  1. IIS 관리자 열기:
    • 시작 메뉴에서 "IIS"를 검색하여 실행.
  2. FTP 사이트 추가:
    • 왼쪽 트리에서 서버 이름을 마우스 오른쪽 클릭 → FTP 사이트 추가.
    • 사이트 이름: 원하는 이름 지정 (예: MyFTP).
    • 물리적 경로: FTP로 공유할 폴더 지정 (예: C:\FTP).
    • IP 주소: "All Unassigned" 또는 EC2의 프라이빗 IP.
    • 포트: 기본 21로 유지.
  3. 인증 및 권한 설정:
    • 인증: 기본 활성화.
    • 허용된 사용자: 지정 사용자를 선택하고, Windows 사용자 계정 입력.
    • 권한: 읽기 및 쓰기 체크.

3. EC2 보안 그룹 설정

AWS 콘솔에서 EC2에 연결된 보안 그룹에서 **FTP 포트(21)**를 열어야 해.

  1. EC2 인스턴스 → 보안 → 보안 그룹 클릭.
  2. 인바운드 규칙 편집:
    • 유형: FTP
    • 프로토콜: TCP
    • 포트 범위: 21
    • 소스: 내 IP (보안 강화) 또는 0.0.0.0/0 (테스트용).

4. 윈도우 방화벽 규칙 추가

  1. 윈도우 서버에서 제어판 → Windows Defender 방화벽 열기.
  2. 왼쪽에서 고급 설정 클릭.
  3. 인바운드 규칙새 규칙:
    • 유형: 포트
    • 포트 번호: 21
    • 작업: 연결 허용.
  4. 규칙 이름: "FTP 21"로 저장.

5. FTP 사용자 계정 추가

  1. 윈도우에서 FTP 사용자를 생성:
    • Win + Rcompmgmt.msc 실행 → 로컬 사용자 및 그룹.
    • 사용자 추가: 마우스 오른쪽 클릭 → 새 사용자.
    • 사용자 이름과 암호 설정 후 저장.
  2. FTP 디렉토리에 권한 부여:
    • FTP 공유 폴더(예: C:\FTP)의 속성 → 보안 탭.
    • 편집 → 추가 → 새로 만든 사용자 추가.
    • 권한: 읽기 및 쓰기 활성화.

6. 윈도우에서 FTP 접속

  1. FTP 클라이언트 설치 (예: FileZilla 또는 기본 윈도우 탐색기 사용 가능).
  2. 접속 정보 입력:
    • 호스트: EC2의 퍼블릭 IP.
    • 사용자 이름: FTP 설정 시 만든 계정.
    • 비밀번호: 설정한 암호.
    • 포트: 21.
  3. 접속 테스트:
    • 윈도우 탐색기에서 ftp://[EC2 IP] 입력해도 접속 가능.

주의사항

  1. 보안 강화:
    • FTP는 기본적으로 암호화되지 않아 안전하지 않아. 가능하면 FTPS를 사용하도록 설정.
    • FTPS 설정은 IIS의 인증 탭에서 SSL 인증서를 활성화해 추가로 구성 가능.
  2. 보안 그룹 관리:
    • 외부 IP를 특정 IP로 제한하여 보안을 강화.

문제 생기면 어떤 단계에서 어려움이 있는지 알려줘!

나의 말:
installation type은 뭘로 해야해? 나는 가상 머신으로 사용하려고 했는데
ChatGPT의 말:
ChatGPT

윈도우 EC2 인스턴스를 가상 머신으로 FTP 서버로 설정하려면, IIS(인터넷 정보 서비스)를 설치하는 "역할 및 기능 추가" 단계에서 설치 유형을 정확히 선택해야 해. 아래에서 적합한 설치 유형과 세부 설정을 안내할게.


설치 유형 선택

역할 및 기능 추가 마법사"설치 유형" 단계에서 다음 중 하나를 선택해야 해:

  1. 역할 기반 또는 기능 기반 설치

    • 적합한 경우: 일반적인 경우로, 단일 서버에 IIS 및 FTP를 설치하려면 이 옵션을 선택.
    • 설명: EC2 인스턴스가 독립적으로 동작하며, 가상 머신에서 FTP 서버를 설정하려는 경우 이 방법을 선택.
    • 설치 위치: EC2 인스턴스 자체에 설치.
  2. 원격 데스크톱 서비스 설치

    • 적합한 경우: 다중 사용자 환경(예: 원격 데스크톱 사용자의 파일 공유)에서 FTP를 설정하려는 경우.
    • 설명: 일반 FTP 서버 설정에는 필요하지 않음.
    • 설치 위치: 다수의 사용자 환경에 원격 데스크톱 서비스를 설치할 때만 사용.

추천: "역할 기반 또는 기능 기반 설치"

대부분의 상황에서는 역할 기반 또는 기능 기반 설치를 선택하는 것이 적합해. 가상 머신으로 운영되는 EC2 인스턴스에서도 이 옵션을 선택하면 IIS 및 FTP 서버가 정상적으로 작동해.


추가 설정 체크리스트

  1. 가상 머신 특성 확인
    가상 머신으로 사용할 때도, EC2 보안 그룹과 내부 방화벽에서 포트 21(FTP) 또는 **포트 22(SFTP)**가 열려 있어야 접속 가능.

  2. 공유 네트워크 확인
    FTP는 EC2의 퍼블릭 IP를 기반으로 동작하므로, EC2가 퍼블릭 인터넷과 연결되었는지 확인.

  3. FTP 연결 테스트
    가상 머신 내부에서 FTP 클라이언트(예: FileZilla)를 사용해 로컬 접속 테스트 후 외부 접속을 확인하면 좋음.

문제 생기면 다시 알려줘! 설치 이후 특정 단계에서 어려움이 있으면 더 도와줄게.

나의 말:
Roles는 나중에 변경할수 있는거야?
ChatGPT의 말:
ChatGPT

네, **Roles(역할)**은 나중에 언제든지 변경할 수 있습니다! 설치 중에 선택한 역할을 수정하거나 추가하려면, "역할 및 기능 추가" 마법사를 다시 실행하면 됩니다.


Roles를 나중에 변경하는 방법

  1. 서버 관리자 실행
    • 시작 메뉴에서 "서버 관리자"를 검색하거나 자동으로 실행된 서버 관리자를 엽니다.
  2. "역할 및 기능 추가" 선택
    • 왼쪽 상단 메뉴에서 "관리(Manage)" → **"역할 및 기능 추가(Add Roles and Features)"**를 클릭.
  3. 추가 또는 제거할 역할 선택
    • 마법사에서 이전과 동일하게 **"역할 기반 또는 기능 기반 설치"**를 선택.
    • 이미 설치된 역할은 체크되어 있습니다.
    • 추가할 역할을 선택하거나 기존 역할의 체크를 해제해 제거합니다.
  4. 변경 사항 적용
    • 변경 사항을 선택한 후, 마법사를 끝까지 완료하면 역할이 추가되거나 제거됩니다.
    • 설치가 완료되면 서버를 재부팅하라는 메시지가 나올 수 있으니, 필요한 경우 서버를 다시 시작합니다.

주의사항

  • IIS 역할 추가 후 FTP 설정 가능
    FTP 서버와 같은 구성 요소는 나중에 IIS 역할에 추가 설치할 수 있습니다.

  • 중단 시간
    역할 추가/변경 시 서비스가 잠깐 중단될 수 있으니, 운영 중인 서비스가 있다면 작업 시간대를 신중히 선택하세요.


AWS 인스턴스 관리에서 FTP 서버 포트 열기

일단 인스턴스 보안 그룹에 포트를 추가한다.


인바운드 규칙을 편집해서 유형 프로토콜 포트를 대략 저렇게 넣어서 만들면 된다. 단, 외부 IP 전부 가능하게 한 것이므로 보안에 취약할 것이므로 본인이 알아서 적절히 IP를 지정하거나 하면 될 것이다.

EC2 윈도우 서버에서 FTP 바인딩

IIS Manager라고 검색하여 IIS 관리자를 연다.

사이트에 우클릭하여 메뉴를 열고 edit binding을 연다.



아래와 같이 포트를 추가한다.


외부에서 확인하기

연결하려는 PC에서 CMD 창을 열고 아래와 같이 입력한다. EC2 IP는 가상서버 IP, Port는 바꾸지 않았다면 21이다.
telnet [EC2 IP] [Port]

필요에 따라 아래와 같은 명령을 관리자 권한으로 입력해야 Telnet을 사용할 수 있다.

dism /online /Enable-Feature /FeatureName:TelnetClient

Telnet 클라이언트 활성화도 필요할 수 있다.

Windows: 제어판 → 프로그램 → Windows 기능 켜기/끄기 → Telnet 클라이언트 활성화

근데 설정해도 telnet은 되는데 파일질라는 안된다. 다음에 설정되면 다시 작성하겠다.



댓글