로컬 컴퓨터와 EC2 서버 사이에서 파일을 교환하는 방법은 크게 두 가지를 생각할 수
있다. 그 첫 번째는 CLI 환경에서 SCP(Secure Copy) 명령을 사용하는 방법이며 두 번째
는 FTP(File Transfer Protocol)을 사용해 파일을 전송하는 방법이다.
SCP 방식은 터미널에 명령을 직접 입력해서 파일을 전송하거나 다운로드 받아야 하기
때문에 조금 어렵다는 느낌을 받을 수 있다. 하지만 FTP 방식은 별도의 FTP 클라이언트
프로그램을 설치해 GUI 방식으로 파일을 보내고 받을 수 있기 때문에 GUI에 익숙한 사
용자는 FTP 클라이언트 프로그램을 설치할 수 있다면 SSH 보다 간편하고 쉽게 파일을
전송하고 받을 수 있을 것 같다.
FTP 방식은 서버와 클라이언트로 나누어 통신을 하기 때문에 EC2 서버에 FTP 서버가
실행되어 있어야 하지만 우분투 이미지로 EC2 서비스를 생성했다면 이미 FTP 서버가
설치되어 실행되고 있기 때문에 별도의 FTP 서버를 설치할 필요는 없다.
SCP(Secure Copy)는 SSH(Secure Shell) 원격 접속 프로토콜을 기반으로 원격지에 있
는 파일과 디렉터리를 업로드 하거나 다운로드를 할 때 사용하는 파일 전송 프로토콜
이다. SCP는 네트워크 통신이 가능한 환경에서 SSH와 동일한 22번 포트와 Identity
file을 사용하므로 보안성이 뛰어난 프로토콜 이다.
scp 명령어를 사용해 로컬 컴퓨터에서 원격지 서버에 파일이나 디렉터리를 올리는 명령
은 다음과 같다.
scp [옵션][파일 …] [원격지ID]@[원격지IP]:[복사위치]
scp [옵션][디렉터리] [원격지ID]@[원격지IP]:[복사위치]



SCP 명령어를 사용해 원격지 서버에서 로컬 컴퓨터로 파일이나 디렉터리를 다운로드
받는 방법은 다음과 같다.
scp [옵션][원격지ID]@[원격지IP]:[파일 …][로컬 위치]
scp [옵션][원격지ID]@[원격지IP]:[디렉터리][로컬 위치]

FTP 클라이언트는 현재 널리 사용되고 있는 파일질라(FileZilla)라는 프로그램을 사용한다.
파일 질라 프로그램이 설치가 완료되면 다음 그림과 같이 AWS EC2 서버 접속 정보를 사이트 관리자에 등록하고 연결을 진행하면 된다.

앞에서 FTP 서버에 연결하는 과정에 비밀번호 기억 여부와 알수 없는 호스트키에 대한 알림 창이 나타나면 다음 그림과 같이 선택하고 "확인" 을 클릭한다.

EC2 서버에 접속이 완료되면 아래 그림 우측의 "리모트 사이트"에 EC2 서버에서 ubuntu 사용자 폴더의 파일 목록이 나타난다.

이제 FTP를 통해서 EC2 서버와 파일을 주고 받을 수 있게 되었다. 아래 그램을 참고해
서 로컬 컴퓨터의 “Ch04자료/BoardLogin” 폴더를 EC2 서버의 “ubuntu/Ch04자료”
폴더로 “드래그&드롭”으로 폴더를 업로드해 보자.

앞에서 우분투 패키지 관리 방법에 대해 알아 볼 때 apache2 웹 서버를 설치하였는데
이때 설치한 아파치 웹 서버에 HTML 문서를 배포하고 웹 서버를 실행해 보자.
apache2 패키지를 설치하면 아파치 웹 서버가 80번 포트를 이용해 자동으로 시작된다.
EC2 인스턴스 메뉴에서 현재 사용하고 있는 인스턴스의 퍼블릭 IPv4 주소를 확인하고
브라우저에서 아래 주소로 접속해 보면 사이트에 연결할 수 없다는 메시지가 뜬다. 이는
현재 인스턴스에 설치된 아파치 웹 서버가 사용하는 80번 포트가 방화벽으로 막혀 있기
때문에 생기는 문제이다. 처음 EC2 인스턴스를 생성하면 SSH 접속에 필요한 22번 포트
를 제외하고 모든 포트가 방화벽으로 막혀 있기 때문에 생기는 문제이다.
이 문제는 방화벽으로 막혀 있는 80번 포트를 네트워크 및 보안에서 풀어줘야 한다.
방화벽 설정은 “네트워크 및 보안 – 보안 그룹”에서 서비스에 필요한 포트로 접속할 수
있도록 인바운드 규칙을 설정해야 한다. 먼저 EC2 인스턴스가 어느 보안그룹에 속해 있
는지 아래 그림과 같이 확인하고 해당 보안그룹에서 인바운드 규칙을 추가하면 된다.
“네트워크 및 보안 – 보안 그룹” 메뉴로 들어가서 앞에서 확인한 보안 그룹을 선택하고 “인바운드 규칙 편집” 버튼을 클릭하면 인바운드 규칙을 추가하는 화면으로 이동한다.
아파치 웹 서버가 사용하는 80번 포트에 대한 인바운드 규칙을 추가하자.
브라우저에서 “http://퍼블릭 IPv4 주소”로 접속하였을 때 다음과 같은 화면이 나타나면 정상적으로 방화벽이 설정된 것이다.

