컴공생의 발자취

[AWS] EC2란? ( feat. 인스턴스 띄워보기 ) 본문

🧡 AWS

[AWS] EC2란? ( feat. 인스턴스 띄워보기 )

MNY 2024. 6. 30. 16:27
728x90
반응형
* 들어가기에 앞서서

EC2가 뭘까..?
이름만 많이 들어봤지. 뭔지는 나도 몰라~
뭔가 열심히 했지만 아직 어려워. 정리 시작!
블로그 길이만 대따 길어졌네...

 

- 목차 -

0. 클라우드 서비스의 종류
1. EC2란?
2. 인스턴스 생성
3. 키페어 만들기
4. 인스턴스 생성 완료!
5. 인스턴스 확인
6. 인바운드 규칙 편집
7. 인스턴스 연결
8. nginx
9. 인스턴스 실행 확인
10. 인스턴스 중지


 

0. 클라우드 서비스의 종류

  • IaaS (Infrastructure as a Service) : 하드웨어 인프라를 인터넷을 통해 제공하는 서비스를 말합니다. IaaS는 가상화된 하드웨어, 스토리지, 네트워크, 운영체제 등을 제공하며, 사용자는 이를 이용해 자신의 애플리케이션을 실행할 수 있습니다. AWS EC2, Microsoft Azure, Google Compute Engine 등이 IaaS 서비스를 제공합니다.
  • PaaS (Platform as a Service) : 애플리케이션을 개발, 실행, 관리하기 위한 플랫폼을 인터넷을 통해 제공하는 서비스를 말합니다. PaaS는 IaaS에서 제공하는 하드웨어 인프라와 미들웨어를 이용하여, 애플리케이션 개발, 배포, 운영 등에 필요한 환경을 제공합니다. 예를 들어, AWS Elastic Beanstalk, Heroku, Google App Engine 등이 PaaS 서비스를 제공합니다.
  • SaaS (Software as a Service): SaaS는 사용자에게 완전한 애플리케이션을 제공하며, 이 애플리케이션은 클라우드 제공업체의 서버에서 실행됩니다. 사용자는 애플리케이션에 대한 제한된 제어권을 가지며, 클라우드 제공업체가 모든 인프라, 운영 체제, 백엔드 애플리케이션 및 데이터 관리를 담당합니다. SaaS는 대부분의 사용자에게 필요한 소프트웨어 서비스를 제공합니다. 예를 들어, 구글 드라이브, 마이크로소프트 오피스 365, Salesforce 등이 SaaS 서비스의 예입니다.

 

1. EC2(Elastic Compute Cloud) 란?

AWS EC2 (Elastic Compute Cloud)는 클라우드 컴퓨팅 서비스 중 하나로, 가상 서버 인스턴스를 제공합니다. EC2를 사용하면 필요한 시간만큼 가상 서버를 생성하고 사용할 수 있으며, 필요에 따라 스케일 업 또는 스케일 다운할 수 있습니다.

이 환경은 실제로는 하드웨어 리소스를 가상화하여 사용하고 있기 때문에, 하드웨어 상에서 실행 중인 물리적인 서버와는 다릅니다. 따라서, 이러한 가상화된 컴퓨터 환경을 "인스턴스(instance)" 라고 부르게 되었습니다.

각 인스턴스는 독립적으로 실행되고 관리됩니다. 이러한 인스턴스들은 필요에 따라 생성, 시작, 중지, 종료 등이 가능합니다.

 

EC2 인스턴스는 다양한 운영 체제 (예: Linux, Windows)와 인스턴스 유형 (예: 범용, 컴퓨팅 최적화, 메모리 최적화)을 지원합니다.

EC2는 다양한 용도로 사용될 수 있으며, 주요 사용 사례는 다음과 같습니다.

  • 웹 애플리케이션 호스팅
  • 데이터베이스 호스팅
  • 컴퓨팅 작업 (예: 데이터 분석, 머신 러닝)
  • 애플리케이션 테스트 및 개발

EC2는 유연하게 스케일링할 수 있으며, 필요에 따라 인스턴스를 추가하거나 제거하여 자원 사용량을 조절할 수 있습니다. 또한 AWS의 다른 서비스와 통합하여 다양한 용도로 사용할 수 있습니다.

 

* EC2의 다양한 옵션들

  1. 인스턴스 유형 (Instance Types) - 인스턴스 유형은 서버에 할당되는 CPU, 메모리, 스토리지 및 네트워크 리소스와 같은 기본 성능 특성을 결정합니다. 예를 들어, 일부 인스턴스 유형은 컴퓨팅 작업에 적합하고, 다른 유형은 메모리 집약적인 작업에 적합합니다.
  2. 운영 체제 (Operating System) - EC2 인스턴스는 다양한 운영 체제를 지원합니다. 예를 들어, Amazon Linux, Ubuntu, Windows 등이 있습니다.
  3. 스토리지 옵션 (Storage Options) - EC2 인스턴스에는 인스턴스 스토어, Amazon EBS 및 Amazon S3와 같은 다양한 스토리지 옵션이 있습니다.
  4. 보안 그룹 (Security Groups) - 보안 그룹은 인바운드 및 아웃바운드 트래픽을 제어하는 방화벽 규칙입니다. 각 보안 그룹은 포트 범위, 프로토콜 및 허용되는 IP 주소 범위를 정의할 수 있습니다.
  5. 키 페어 (Key Pair) - 키 페어는 EC2 인스턴스에 대한 SSH 액세스를 허용합니다. 키 페어를 만들면 EC2 인스턴스를 시작할 때 키 페어를 선택할 수 있습니다.
  6. 탄력적 IP 주소 (Elastic IP Address) - 탄력적 IP 주소는 EC2 인스턴스에 고정 IP 주소를 할당합니다. 이는 EC2 인스턴스를 중지하거나 시작할 때마다 IP 주소가 변경되는 것을 방지할 수 있습니다.
  7. 사용 가능한 영역 (Availability Zones) - EC2 인스턴스는 여러 가용 영역에서 실행될 수 있습니다. 이는 장애 대응 및 고가용성을 위해 중요합니다.

 

2. 인스턴스 생성

** root 사용자로 로그인해야 함 **

 

  • "인스턴스 시작" Click!

 

  • "이름 및 태그" 작성
  • "Ubuntu" 선택
  • "Ununtu Server 22.04 LTS" 선택
  • "연결 확인" Click!

 

3. 키페어 만들기

  • "새 키 페어 생성" Click!

 

  • "키 페어 이름" 작성
  • "키 페어 유형 - RSA" 선택
  • "프라이빗 키 파일 방식 - .pem" 선택
  • "키 페어 생성" Click!

** newkeypair.pem  다운로드 됨 **

 

4. 인스턴스 생성 완료!

  • 나머지는 다 기본으로 하고 진행
  • "인스턴스 시작" Click!

 

  • "모든 인스턴스 보기" Click!

 

  • 아래와 같이 인스턴스가 생성된 것을 확인할 수 있다!
  • 생성된 인스턴스 Click!

 

5. 인스턴스 확인

  • 퍼블릭 주소 : 우리가 인스턴스에 접근할 때의 주소
  • 프라이빗 주소 : aws 내부에서 접근할 때의 주소

 

  • 퍼블릭 주소 Click!
  • 그러나 무한 로딩... 이건 방화벽 문제!
  • "보안" Click!

 

  • "보안 그룹 Link" Click!

 

6. 인바운드 규칙 편집

  • "인바운드 규칙 편집" Click!

 

  • "HTTP" 추가
  • "HTTPS" 추가
  • "규칙 저장" Click!

 

** 모두 0.0.0.0/0으로 되어있어야 함 **

 

  • 인바운드 규칙 생성된 것 확인

** 인스턴스는 열려있음에도 안된다.. **

 

 

7. 인스턴스 연결

  • 생성된 인스턴스로 들어와서 "연결" Click!

 

  • "EC2 Instance Connect을 사용하여 연결" 선택
  • "사용자 이름 - ubuntu" 작성
  • "연결" Click!

 

** 기본적으로 ubuntu의 사용자 이름은 ubuntu로 생성 **

 

8. nginx

  • 아래의 명령어를 순서대로 입력
sudo apt-get update
sudo apt-get install nginx
sudo systemctl start nginx
sudo systemctl status nginx

 

  • 아래와 같이 active로 nginx가 실행된 것을 확인!

 

9. 인스턴스 실행 확인

했는데 안됌.. 캐시가 있어서 그런 것이므로 시크릿 모드로 들어가보기

근데 난 시크릿 모드도 안됨.. 이런 망할 AWS 같으니라구

 

** 퍼블릭 주소 복사해서 새 창에 붙여넣기 하니까 됌 **

 

  • 참고로 강의에 나왔던 무언가...

위에서 보이는 페이지의 파일을 변경하는 과정... 

-> 알아서 해볼 사람은 해보길...

cd /var/www/html
sudo vim index.nginx-debian.html
sudo systemctl restart nginx

 

 

10. 인스턴스 중지

  • 확인해봤으면 인스턴스 중지 과금 나온다
  • "인스턴스 중지" Click!

 

  • "중지" Click!

 

  • 중지된 것 확인!

 

 

  • 다시 할거면 "인스턴스 시작" Click!

 

** 근데 퍼블릭 주소도 바뀜 **

 

 

 

 

 

728x90
반응형