Cloud Computing

[Amazon] EC2 인스턴스 만들기 & Apache Web Server 설치하기

YouCanDoIt 2024. 4. 16. 20:50

Goal

Amazon EC2 인스턴스를 만들고, Apache Web Server를 설치해 html파일을 띄워보겠다.

 

Environment

맥북 터미널을 사용해서 EC2 인스턴스에 접속하고, EC2 인스턴스의 OS는 Ubuntu를 사용할 것이다.

그러므로 이 글에서는 맥의 터미널 명령어와 Ubuntu명령어를 사용해 목표를 구현할 것이다.

 

Concept

  • '클라우드'란?
    :클라우드는 원격으로 스토리지(storage), 서버(server), 데이터(data) 등 컴퓨팅 리소스(computing resource)를 빌려주는 렌탈 서비스이다. 대표적으로 아마존이 이 서비스를 전세계에 제공하고 있다. 인스타그램같이 큰 기업들도 회사 서버를 두지 않고 아마존 서비스를 사용할만큼 오늘날 많은 회사에서 사용하는 서비스이다.
  • 'Amazon EC2'란?
    EC2는 Elastic Compute Cloud의 약자로  탄력적으로 컴퓨팅 리소스를 렌탈하는 아마존 서비스이다. 
    탄력적이란 뜻은 원하는 만큼 성능, 메모리 등을 유저가 설정할 수 있다는 의미이다. 

Process

[Amazon EC2 만들기]

 

이제 Amazon EC2를 만들어보자.

 

1. 다음 링크에 접속해서 AWS에 가입하고 로그인한다.

https://aws.amazon.com/ko/ 

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

필요한 만큼 이용할 수 있는 것은 물론 필요에 따라 몇 분 만에 확장 또는 축소할 수 있습니다. 자세히 알아보세요.

aws.amazon.com

 

2. EC2 페이지에 들어가서 '인스턴스 시작' 버튼 누른다.

이때 지역이 '서울'(또는 본인이 원하는 지역)로 잘 설정됐는지 확인한다.

 

3. 인스턴스의 세부사항을 세팅하자.

  • OS는 Ubuntu를 선택한다.

 

  • 인스턴스 유형은 무료인 프리티어를 사용하기 위해 't2.micro'를 선택한다.

 

  • 스토리지 사이즈는 프리티어는 30GB까지 사용할 수 있기 때문에 30GB로 선택한다.

 

  •  내 PC에서 아마존 EC2 인스턴스에 접속하기 위해 키페어를 생성한다.
    (aws뒤에는 이름을 넣어기 때문에 모자이크 처리함)

 

  • 키페어를 생성하면, 내 PC에 pem파일이 다운로드 된다.
    EC2에 접속할 때 필요한 파일이므로 다운받은 위치를 잘 기억해두자.

 

4. 인스턴스 생성 성공

위와 같이 모든 세팅을 끝내고 '인스턴스 시작'버튼을 누르면, 내가 설정한 스펙대로 인스턴스가 만들어진다.

 

5. 탄력적 IP부여

EC2 인스턴스에는 동적 IP가 할당되므로, 고정IP를 부여하기 위해 탄력적 IP를 부여한다.

 

  • '네트워크 및 보안'에서 '탄력적 IP'에 접속한다.
  • '탄력적 IP 주소 할당' 페이지를 누른다.

 

  • 탄력적 IP 주소 할당을 해준다. 

 

  • 생성한 탄력적 IP 주소와 EC2 주소를 연결한다.
  • 상단에 있는 작업탭을 눌러서 '탄력적 IP 주소 연결'을 눌러준다.

 

 

6. 80포트 열기

보안에는 각각 인바운드와 아웃바운드 규칙이 있다.

인바운드란 외부에서 인스턴스에 접속하는 것을 의미하고, 아웃 바운드란 인스턴스가 외부에 접속하는 것을 의미한다.

아웃 바운드는 모두 열려있지만, 인바운드 규칙은 기본적으로 포트를 모두 닫는것을 원칙으로 한다.

 

인바운드 규칙에는 내 PC에서 pem파일을 통해 인스턴스로 접근하는 SSH 유형의 22번 포트가 유일하게 열려있다.

그러나 HTTP를 통해 EC2에 접근하기 위해서 다른 포트를 하나 더 열어줘야한다.

일반적으로 80번 포트를 열어준다.

 

  •  보안그룹에 들어가서 'launch-wizard'를 눌러준다.

 

  • 인바운드 규칙 편집을 누른다.

 

  • 80포트를 추가한다. (유형은 HTTP로 설정)

 

[내 PC에서 EC2 에 접속하기]

EC2 인스턴스에 대한 생성 및 설정이 모두 끝났다.

이제 내 PC에서 EC2 인스턴스에 접속해보자.

 

1. 터미널에서 아까 키페어를 생성할 때 다운받았던 pem파일이 있는 폴더로 이동한다.

나의 경우, downloads 폴더에 넣어뒀다.

 

2. pem 파일에 대한 권한을 변경하기 위해 다음 명령어를 입력한다.

chmod 400 {pem 파일}

 

3. 다음 명령어를 통해 EC2 인스턴스에 접근한다.

ssh -i {pem파일 경로} ubuntu@{public IP 주소}

 

4. 터미널에 EC2 인스턴스의 우분투 서버가 성공적으로 뜬 것을 볼 수 있다.

 

[Apache Web Server 설치하기]

이제 우분투에 Apache Web Server를 띄워보자.

 

1. 우분투 terminal에 다음 명령어를 입력해서 Apache Web Server를 설치한다.

 

2. IP주소에 접속해보면 Apache Web Server의 default 페이지를 볼 수 있을 것이다.

 

[파일 업로드 하기]

이제 내 PC에 있는 main.html 파일을 Apache Web Server에 띄워보자.

나는 downloads 폴더에 main.html 파일을 넣어뒀다.

 

1. 다음 명령어를 내 PC terminal에 입력해서 파일을 EC2 인스턴스에 올리자.

 

* 혹시 permission denied 에러가 발생하면, ubuntu에 접속해서 다음 명령어를 입력해서 권한을 허가하자.

 

2. Ubutu에 접속해서 'var/www/html' 폴더에 main.html이 올라간 것을 확인할 수 있다.

 

3. 'public IP주소/main.html'에 접속하면 main.html 파일을 볼 수 있다.