CICD/AWS

[AWS] EC2 개념 및 실습

[dev] hiro 2024. 7. 22. 08:36
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

EC2(Elastic Computing)


Amazon Elastic Compute Cloud(EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스입니다. 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되어 있습니다. Amazon EC2의 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성할 수 있습니다. 컴퓨팅 리소스에 대한 포괄적인 제어권을 제공하며, Amazon의 검증된 컴퓨팅 인프라에서 실행할 수 있습니다.
-AWS-
  • 클라우드의 의미는 컴퓨터를 빌려쓰는 것,
    클라우드 컴퓨팅 => 컴퓨팅을 빌려쓰는 것.
  • EC2는 컴퓨팅을 빌려쓰도록 도와주는 서비스

EC2 사용


  • 서버를 구축할 때 사용
    • 게임서버, 웹 서버, 애플리케이션 서버
  • 애플리케이션을 사용하거나 호스팅할 때 사용
    • 데이터베이스
    • 머신러닝
    • 비트코인 채굴
    • 연구용 프로그램
  • 기타목적
    • 그래픽 렌더링
    • 게임 등

EC2 특성


  • 초(second) 단위의 온디맨드 가격 모델
    • 온디맨드 모델에서는 가격이 초 단위로 결정 => 쓴만큼 결제
    • 서비스 요금을 미리 약정하거나 선입금이 필요없음.
  • 빠른 구축 속도와 확장성
    • 몇분이면 전세계에 인스턴스 수백여대를 구축가능.
  • 다양한 구성 방법 지원
    • 머신러닝, 웹 서버, 게임서버, 이미지 처리 등 다양한 용도에 최적화된 서버 구성 가능
    • 다양한 과금 모델 사용 가능
  • 여러 AWS 서비스와 연동
    • 오토 스케일링, Elastic Load Balancer(ELB), CloudWatch

EC2 구성


  • 인스턴스: 클라우드에서 사용하는 가상 서버로, CPU, memory, 그래픽 카드 등 연산을 위한 하드웨어 담당.
  • EBS: Elastic Block Storage의 줄임말로 클라우드에서 사용하는 가상 하드 디스크
  • AMI: EC2 인스턴스를 실행하기 위한 정보를 담고있는 이미지
  • 보안그룹: 가상의 방화벽

실습


목표: EC2 한대를 프로비젼하여 웹 서버 구성하기.

EC2 대시보드

  • AWS 상단 서치바에 ec2 검색 후 이동.
  • 해당 화면 ec2 대시보드
  • 우측 상단에 인스턴스 시작

AMI

  • instance 이름 설정
  • OS 이미지 설정(Amazon Linux, macOS, Ubuntu...)
    • 현재 실습에서는 Amazon Linux 선택

인스턴스 유형

  • t2 micro 선택
    • 인스턴스 유형의 경우에는 다음 포스팅 설명.

KeyPair

  • 새 키페어 생성하고, 키 페어 이름을 지정
  • RSA, .pem을 선택.
  • 해당 키 페어는 각 로컬 머신의 EC2 콘솔을 접속하기 위한 SSH 연결할 수 있도록 도와주는 암호화 키.

네트워크 설정
인바운드 보안 그룹

  • 네트워크 설정은 해당 EC2에 연결할 수 있는 IP를 설정하는 것.
  • 보안 그룹 생성 후 인바운드 보안 그룹 규칙에서 WebServer로 접속하는 실습을 진행하기에 포트 HTTP, 모든 트래픽의 접속을 위한 0.0.0.0/0 설정

스토리지 구성

  • 추후에 EBS라는 포스팅 예정.
  • 8GB, gp3로 하면 웬만큼의 인스턴스 사용 가능

인스턴스 실행화면

  • 퍼블릭 IP와 프라이빗 IP가 존재.
  • 해당 퍼블릭 IP를 위한 DNB가 존재.
  • 인바운드 그룹, 스토리지, 상태 경보 확인 가능

EC2 연결

  • EC2 인스턴스에 접속

첫 EC2 접속

  • sudo -s를 통해 루트 사용자로 변경
  • yum install httpd -y로 웹 서버 설치
  • service httpd start로 웹 서버 실행

인스턴스 연결

  • 인스턴스의 public IP로 접속.

index.html 수정

  • /var/www/html에 존재하는 index.html 파일을 작성
  • hello, world! 작성 후 ctrl + x 저장

바뀐 index.html