[Section5: EC2 Fundementals] 7. EC2 기초

Devhslee·2024년 2월 5일

강의복습

<Udemy> Ultimate AWS Certified Developer Associate 2024 NEW DVA-C02

  • Section 5: EC2 Fundementals

EC2

EC2(Elastic Compute Cloud)는 AWS에서 가장 많이 쓰이면서 모든 클라우드 서비스 중 가장 핵심이 되는 IaaS 서비스이다.

EC2를 통해 다음의 액션을 취할 수 있다.

  • 가상 머신 대여 (ec2)
  • 가상 드라이브에 데이터 저장 (ebs)
  • 트래픽을 여러 머신에 분산 (elb)
    -auto-scaling group을 활용하여 서비스 스케일링 (asg)

EC2 인스턴스 선택 시 고려 사항

configuration options>

  • OS: Linux, windows, macos
  • 컴퓨팅 파워, 코어 => cpu
  • ram (random-access memory)
  • 저장 공간
    - network-attached (EBS&EFS)
    - hardware (ec2 instance store)

EC2 설정

  • 네트워크 카드, 공인 ip
  • 보안 그룹: 방화벽 규칙
  • EC2 User Data: bootstrap script (첫 launch 시 구성)

EC2 User Data

  • EC2 User Data script를 활용하여 인스턴스를 bootstap
  • bootstrapping: 머신을 가동할때 커맨드 실행
  • 인스턴스 첫 시작 때만 실행
  • boot task들을 자동화
    - e.g)
    - 업데이트설치
    - 소프트웨어 설치
    - 인터넷으로부터 common files 다운로드
    - 기타 등등
    -sudo로 실행됨 (root user)

실습

1. AMI, 인스턴스 유형 선택

실습용이므로 Free Tier로 인스턴스를 생성한다. 프리티어 옵션이 붙은 AMI와 인스턴스 유형(t2.micro)를 선택해준다. OS는 Amazon Linux로 했다.

ssh 접속을 할 것이므로 키를 생성해준다.

.pem.ppk 중 어느 것을 선택할지는 본인 자윤데,
본인의 OS가 linux, macOS 또는 Windows 10 이상이면 .pem, 그렇지 않으면 .ppk가 괜찮다고 하는데 어느 것을 선택하던지 간에 putty 등을 통해 서로 간에 변환이 가능하다. 그냥 .pem을 선택해줬다.

2. 네트워크 설정

실습을 따라 보안 그룹은 새로 생성하도록 내버려 두었다.

실습에선 ssh 트래픽을 모든 ip에서 받아들이도록 허용해놨는데, 지금 이 인스턴스는 나밖에 접속하는 사람이 없으므로 일단 내 ip로 설정해놨다. 실제로도 vm 접속은 ip제한을 걸어놓긴 해야한다.

당장에 Route53같은 걸로 도메인 연결하고 인증서 달고 할 건 아니라서 http 트래픽 허용만 체크해줬다.

스토리지는 프리티어 유지를 위해 1개의 볼륨 설정 그대로 냅뒀다.



3. User Data 작성

인스턴스 시작 후에 (한번만) 실행될 스크립트를 작성해준다.

'고급 세부 정보' 탭에서 계속 스크롤을 내려서

'사용자 데이터' 부분에 실습과 똑같이 작성해줬다.

#!/bin/bash
# install httpd (Linux 2 version)
yum install -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

그리고 나선 별 설정을 추가로 해 줄 건 없으니 인스턴스 생성을 마무리해준다.

그러면 아래와 같이 EC2 콘솔에서 방금 생성한 인스턴스가 실행되고 있는 걸 확인할 수 있다.

아까 작성한 User Data가 제대로 된 건지 확인하기 위해 인스턴스의 공인 ip주소를 브라우저 주소창에 쳐서 들어간다.

정상적으로 스크립트가 실행됬었다는걸 확인할 수 있다.

profile
코딩-버그-좌절-해결-희열

0개의 댓글