본문 바로가기

AWS

[AWS] Public EC2 인스턴스 생성 및 LAMP 웹 서버 구성

[요약]

서브넷에 웹 서버 생성

  1. EC2 생성
    관련 기술 : 
    • EC2 (Elastic Compute Cloud) : AWS 제공하는 클라우드 컴퓨팅 서비스
      : 독립된 컴퓨터 한대를 임대해서 사용할 수 있게 해주는 서비스
    • AMI (Amazon Machine Image) :  소프트웨어 구성이 기재된 템플릿
      : 예: 운영 체제, 애플리케이션 서버, 애플리케이션
      : AMI으로 인스턴스(클라우드 가상 서버)를 실행할 수 있음
    • LAMP 웹 서버 구성 (Linux, Apache, MySQL, PHP) : 웹 서버 구성하기위해 소프트웨어 페키지 설치
    • Security Group
    • Storage(EBS)
    • Key pair
  2. Index.php 파일 생성 : 웹 브라우저를 통해서 웹 서버와 통신하는 것을 확인하도록 파일 생성
  3. 웹 브라우저에서 LAMP 웹 서버 작동 테스트

 

ec2 생성

AWS EC2 인스턴스를 생성한다는 것 ? AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌리는 것이다

 

1. ec2>인스턴스>인스턴스 시작(launch) 선택

AMI(Amazon Machine Image) 란 : 서버를 시작하는데 필요한 운영체제, 어플리케이션, 소프트웨어 패키지가 포함된 패키지임

AMI 선택

2. 인스턴스 유형 선택

t2.micro : 인스턴스 패밀리.세대.크기

인스턴스 유형 선택

3. 키 페어 생성

key pair 인스턴스를 생성한 이후, 인스턴스에 접근하기 위해 필요한 키

키 페어 생성

4. Network settings 설정

ec2 인스턴스에 대한 기본적인 네트워크 요소들을 만들고 설정하는 메뉴 (인스턴스가 생성될 때 어디에 위치, 인바운드 규칙 등)

  • VPC
  • 서브닛
  • 퍼블릭 IP 자동 할당 - Disable -> 향후 탄력적 IP로 할당 할 것임
    인스턴스 생성할 때, 퍼플릭 IP를 자동으로 할당할지에 대한 옵션

VPC, 서브넷, 퍼블릭 IP 할당

  • Firewall (security group)
    security group은 인스턴스 레벨에서 트래픽을 제어하는 네트워크 요소 이곳에서 설정한 통신 타입(Type), 프로토콜(Protocol), 포트(Port range), 소스(Source) 등으로 트래픽을 제어함
    • SSH, HTTP, HTTPS 설정함
    • SSH, TCP, 22 : 어떤 프로토콜과 포트 넘버를 허용할지에 대한 것 (인스턴스 사용목적에 다름)
      HTTP 80 - 웹 사이트를 서비스 할 경우
      HTTPS 443
      MYSQL/Aurora 3306
    • Source type : 어떤 IP 를 접근 할 것인지
      Anywhere - 0.0.0.0/0 모든 곳에서 엑세스 허용
      Custom - 10.1.0.0/16 특정 IP의 접근만 허용

보안그룹 설정

5. 스토리지 구성(EBS)
인스턴스의 스토리지를 추가하는 설정 - EBS(block storage) 볼륨을 추가할 수 있음

EBS 설정

6. Advanced details - 세부 사항은 강의 참조 또는 관련 도큐먼트 참조 권장

  • 사용자 데이터 입력
    인스턴스가 런치되는 과정에서 루트권한으로 실행되는 스크립트 인스턴스가 생성된 후에, 스크립트를 하나하나 입력할 필요없이 자동으로 해당 스크립트를 실행함 LAMP 웹 서버를 구성하기위해 소프트웨어 패키지를 설치하는 스크립트 

사용자 데이터 스크립트

Elastic IP 생성 및 연결

ec2 > 네트워크 및 보안 > Elastic IP > 탄력적 주소 할당 (생성)

ec2 > 네트워크 및 보안 > Elastic IP > 탄력적 주소 연결 (EC2에 탄력적 IP 부여)

연결된 화면

EC2 접속

EC2 > 인스턴스 > "생성 인스턴스" > 인스턴스에 연결

인스턴스 연결

터미널을 이용하여 보안 키가 위치한 폴더에서 접속 명령어 입력

ec2 접속

php파일을 만들어서 웹 서버를 구성

index.php 파일 생성

웹 서버 작동 테스트

결과 확인 - 퍼블릭 IP 주소 창에 검색

웹 서버 작동 테스트

 

[참고 강의]

[인프런] 스스로 구축하는 AWS 클라우드 인프라 - 기본편