[AWS] Apache 웹 서버 관련 파일을 EFS에서 가져오기

HYEOB KIM·2022년 7월 2일
1

aws

목록 보기
55/62

개요

  • 아파치 웹 서버 관련 파일들을 EFS에 저장된 파일들을 이용하도록 할 수 있습니다.

Apache 웹 서버 관련 파일을 EFS에서 가져오기

1. 파일 시스템 및 인스턴스 생성

  • [AWS] EFS 파일 시스템 생성을 참고해서 EFS 콘솔에서 파일 시스템을 생성하고 EC2 콘솔에서 인스턴스를 생성합니다.
  • 이때 인스턴스는 반드시 파일 시스템을 생성할 때 지정한 VPC와 서브넷 내에 생성하도록 합니다.

2. 아파치 설치

EC2 인스턴스에 SSH로 접속해서 Apache 웹 서버를 설치합니다.

% sudo yum -y install httpd

서비스를 시작합니다.

% sudo systemctl start httpd
% sudo systemctl status httpd

웹 브라우저에서 퍼블릭 IP로 접속해서 아파치가 제대로 설치되었는지 확인합니다.

3. EFS를 마운트 하기 위한 폴더 생성

아파치 설정 파일인 /etc/httpd/conf/httpd.conf에서 아파치 루트 디렉토리를 /var/www/html을 가리키고 있기 때문에 /var/www/html 아래에 마운트 폴더를 생성합니다.

% sudo mkdir /var/www/html/efs

파일 시스템을 마운트합니다.

% sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <탑재 대상 DNS>:/ /var/www/html/efs

마운트가 제대로 되었는지 확인합니다.

% df -h

4. 테스트

EFS로 접근합니다.

% cd /var/www/html/efs

EFS는 루트 권한으로 되어 있으므로, 하위에 디렉토리를 하나 생성하고 권한을 ec2-user로 변경합니다.

% sudo mkdir sampledir
% sudo chown  ec2-user sampledir
% sudo chmod -R o+r sampledir

생성한 sampledir 디렉토리로 들어가서 hello.html이라는 파일을 생성합니다.

% cd sampledir
% echo "<html><h1>Hello from Amazon EFS</h1></html>" > hello.html

이제 hello.html이 있는 경로로 인스턴스의 퍼블릭 IP를 이용해 다시 한 번 접속해봅니다.

% http://<EC2 인스턴스 퍼블릭 IP>/efs/sampledir/hello.html

hello.html의 문구가 정상적으로 출력되는 것을 확인합니다.

profile
Devops Engineer

0개의 댓글