1. 클라우드 컴퓨팅

  • IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 방식
  • 물리적 데이터 센터와 서버를 구입하여 유지 관리하는 대신, AWS와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스함

  • 이점
    • 민첩성
    • 탄력성
    • 비용절감
    • on demend
    • 관리 용이성

2. AWS EC2

  • 논리적인 리소스 서버 할당

기능

  • 인스턴스: 가상 컴퓨팅 환경
  • Amazon 머신 이미지 (AMI): 서버에 필요한 운영체제와 여러 소프트웨어들이 적절히 구성된 상태로 제공되는 템플릿으로 인스턴스를 쉽게 만들 수 있음
  • 인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, 네트워킹 용량 등의 여러 가지 구성 제공
  • 키페어를 사용하여 인스턴스 로그인 정보 보호
  • 인스턴스 스토어 볼륨: 임시 데이터를 저장하는 스토리지 볼륨으로 인스턴스 중단, 최대 절전 모드로 전환 또는 종료 시 삭제됨
  • Amazon Elastic Block Store (EBS): EBS 볼륨을 통해 영구 스토리지 볼륨에 데이터 저장
  • 보안 그룹을 사용해 인스턴스에 연결할 수 있는 프로토콜, 포트, 소스 IP 범위를 지정하는 방화벽 기능 제공
  • 탄력적 IP 주소 (EIP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소
  • 태그: 사용자가 생성하여 Amazon EC2 리소스에 할당할 수 있는 메타데이터
  • Virtual Private Clouds (VPC): AWS 클라우드에서는 논리적으로 격리되어 있지만, 원할 때마다 고객의 네트워크와 간편히 연결할 수 있는 가상 네트워크

3. EC2 실습

키페어 생성

스크린샷 2023-11-26 오전 9 48 47

스크린샷 2023-11-26 오전 9 49 57

인스턴스 시작

스크린샷 2023-11-26 오전 9 50 48

스크린샷 2023-11-26 오전 9 51 59

스크린샷 2023-11-26 오전 9 54 18

스크린샷 2023-11-26 오전 9 56 43

ssh 연결

  • 다운받은 키페어 -> /.ssh 폴더로 이동 후 /.ssh 폴더에서 ssh 연결

스크린샷 2023-11-26 오전 10 01 50


  • 인스턴스 ID로 연결

스크린샷 2023-11-26 오전 10 00 36

스크린샷 2023-11-26 오전 10 02 18


  • IP 주소로 연결

스크린샷 2023-11-26 오후 12 53 43

스크린샷 2023-11-26 오후 12 53 12

보안그룹 - 인바운드 규칙 편집

  • 0.0.0.0 : 모든 IP 허락
  • 포트 번호 변경할 수 있음

스크린샷 2023-11-26 오전 10 06 39

4. 클라우드 기본 용어

  • 가상화
    • 물리적인 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스
    • 클라우드 컴퓨팅의 기반을 제공하는 기술
  • 가상머신
    • 소프트웨어 형식으로 물리적 컴퓨팅을 시뮬레이션하는 가상 환경
    • 일반적으로 VM의 구성, 가상 하드 드라이브의 스토리지, 특정 시점에 해당 상태를 유지하는 VM의 일부 스냅샷을 포함한 다수의 파일들로 구성되어 있음
  • 스냅샷
    • 특정 시점에서 스토리지의 파일 시스템을 포착해 보관하는 기술
    • 장애나 데이터 손상 시 스냅샷을 생성한 시점으로 데이터 복구
    • 원본 데이터를 그대로 복사해 저장하는 백업과 달리, 초기 생성 시 혹은 데이터의 변경이 있기 전까지는 스토리지 공간을 차지하지 않음
    • 메타데이터의 복사본에 해당하기 때문에 생성하는 데 오랜 시간이 걸리지 않고, 장애 상황이 발생해도 빠르게 데이터 복원 가능
  • 데이터 센터
    • 수많은 서버들을 한데 모아 네트워크로 연결해 놓은 시설
  • Region (지역)
    • 데이터 센터가 위치한 지역
    • IT 리소스를 생성할 리전은 선택 가능
    • 대상 고객의 지역과 자원을 생성할 리전이 최대한 가까워야 함
    • 국가마다 자원사용 비용이 다름
  • Availability Zone (가용영역)
    • 하나의 Region은 두 개 이상의 Availability Zone으로 구성됨
    • 줄여서 AZ로 표시

5. 탄력적 IP

  • 인스턴스에 고정 IP 할당
  • 아마 5개까지 가능, AWS에 요청하면 더 받을 수 있을 것
  • 반납도 가능

스크린샷 2023-11-26 오전 10 38 38

스크린샷 2023-11-26 오전 10 39 42

인스턴스 선택

스크린샷 2023-11-26 오전 10 40 13

스크린샷 2023-11-26 오전 10 41 21

6. Elastic Beanstalk

  • 앱 애플리케이션을 만들 수 있는 환경을 빠르게 구성해서 관리할 수 있는 서비스
  • 애플리케이션을 실행하는 인프라에 대해 자세히 알지 못해도, AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있음
  • 애플리케이션을 업로드하기만 하면 용량 프로비저닝, 로드밸런싱, 조정, 애플리케이션 상태 모니터링에 대한 세부 정보를 자동으로 처리함
    • 프로비저닝: 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것
  • Go, JAVA, .NET, Node.js, PHP, Python, Ruby에서 개발된 애플리케이션 지원
  • 애플리케이션을 배포할 때 Elastic Beanstalk이 선택된 지원 가능 플랫폼 버전을 구축하고, EC2 등의 AWS 리소스를 하나 이상 프로비저닝하여 애플리케이션을 실행함

애플리케이션 생성

스크린샷 2023-11-26 오전 10 46 28

스크린샷 2023-11-26 오전 10 48 22 플랫폼 선택 (JAVA 17까지 지원됨)

스크린샷 2023-11-26 오후 12 09 03 서비스 역할 & 키페어 선택!

스크린샷 2023-11-26 오후 12 23 07 애플리케이션 생성됨


스크린샷 2023-11-26 오후 12 16 54 EC2에서 인스턴스 생성 확인

스크린샷 2023-11-26 오후 12 17 33 IP 주소로 연결


  • 실행 파일 : /var/app/current
  • 로그 : /var/log

스크린샷 2023-11-26 오후 12 17 59


  • 앞단에 nginx 80 포트가 대기, 안쪽에 우리가 만든 애플리케이션의 포트로 연동됨
  • nginx 웹서버 80 포트가 내부적으로 기본적으로는 5000 포트로 연결되어 있음!

스크린샷 2023-11-26 오후 12 23 36

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist. 에러

  • IAM에서 역할 생성!

https://stackoverflow.com/questions/30790666/error-with-not-existing-instance-profile-while-trying-to-get-a-django-project-ru 참고


  • [IAM 콘솔] - [역할 생성]
  • [신뢰할 수 있는 엔터티 유형] : AWS 서비스
  • [사용 사례] : EC2
  • [권한 정책] : AWSElasticBeanstalkWebTier, AWSElasticBeanstalkWorkerTier, AWSElasticBeanstalkMulticontainerDocker
  • [역할 이름] : aws-elasticbeanstalk-ec2-role
  • [역할 생성]


스크린샷 2023-11-26 오후 12 09 03