알토르 5주차 2

toddcanwell·2025년 9월 6일

Cloud
Cloud : 인터넷을 통해 필요한만큼 빌려쓰는 컴퓨터자원( 서버, 저장공간 , 네트워크, DB ...)
It 인프라를 서비스로 제공
AWS, Azure, GCP와 같은 회사가 거대한 데이터센터를 운영하고 , 사용자는 필요한만큼 임대하여 사용.

클라우드 서비스는 사용자가 직접관리하는 범위에 따라 달라짐.

구분제공 범위사용자가 관리해야 할 범위예시
IaaS하드웨어, 가상화OS, DB, 앱, 보안 등 전부AWS EC2, Azure VM
PaaSIaaS + OS + 런타임 + DB앱 코드AWS Elastic Beanstalk, Heroku
SaaS완성된 앱까지 전부없음 (사용만 함)Gmail, Zoom, Slack

AWS
Amazon Web Service : 아마존 닷컴에서 운영하는 클라우딩 서비스
웹과 모바일의 애플리케이션과 같은 거의 모든 물리적인 컴퓨터 자원을 클라우드를 통하여 실행할 수 있는 인프라 제공.




EC2 설정 용어정리


EC2 인스턴스 : AWS EC2에서 대여한, 인터넷에 있는 "내 컴퓨터 한대"

AMi : 운영체제 템플릿 (우분투)

인스턴스 타입 : 컴퓨터 성능 크기 및 사양

EBS : 컴퓨터의 SSD

public IP/Elastic IP : 외부에서 접속할 때 쓰는 public ip 와 고정ip

AWS EC2 보안그룹(가상 방화벽)

  • 인바운드 : 외부 -> EC2로 들어오는 트래픽 : 내 서버로 들어오는 요청을 어떤 포트/프로토콜/ip 허용 여부

  • 아웃바운드 : EC2 -> 외부로 나가는 트래픽 : 내 서버에서 외부 API 호출 또는 DB : 내서버가 외부로 나가는 요청을 허용/차단 여부

ssh : 컴퓨터에 관리자로 접속하는 문 : 원격 터미널 접속방식(port 22)로 명령어로 리눅스 컴퓨터를 조종하는 방식

키 페어(.pem 파일) : 문을 열때 쓰는 열쇠 파일 : RSA 암호알고리즘을 사용한 비대칭키 방식으로 공개키/개인키로 로그인 사용자 인증

EC2에서 키 페어 생성/선택시 .epm(private key)받아서 보관하고 EC2 인스턴스안에는 public key가 들어간다. .pem(private key)와 SSH를 통해 접속한다.

ssh(22) : (관리용) 관리자 문, .epm private key를 통해 들어간다.
http(80) / https(443) : (서비스용) 사용자들이 사용하는 문



웹서버 -> WAS -> 백엔드 프레임워크

web server : 정적 리소스 반환, APi 호출시 WAS로 넘겨주는 Proxy(중간 전달자 역할)

Web Application Server : 사용자 요청에 맞춰서 HTML을 만들어 보내준다. 백엔드 프레임워크로 작성된 코드들을 실제 실행시켜주는 런타임 환경 : 비즈니스 로직 담당

Backend FrameWork : 개발자가 백엔드 서버를 편하게 구성하도록 해주는 도구 모음집


Nginx

  • 기본적인 Web server중 하나로 단순히 정적 파일(HTML,css,Js,이미지등) 빠르게 반환
  • Reverse Proxy : /api/... 와 같은 요청을 뒤에 있는 WAS로 전달
  • Load Balancer : 여러개의 WAS, Gunicon 워커나 서버들이 있다면 트래픽 분산
  • ssl/tls 처리( Tls Termination) : 브라우저와 서버사이의 암호화/복호화 처리 : web server가
    https 복호화 -> 내부 WAS는 내부 http 통신(127.0.0.1:8000)

aws ec2 회원가입 및 인스턴스 생성

인스턴스 인바운드 설정

private key(.pem) 파일 이름설정

인스턴스 연결


EC2 인스턴스 접속

NginX 설치 및 설정

http 요청시

https 요청시


Https 요청 실패이유

AWS EC2 보안그룹 : 443 인바운드 열려있음.
ubuntu : UFW 꺼져있음.

Nginx에서 ssl/tls https 복호화 처리.

https : 인증서(Certificate) 기반 동작(전자서명)
인증서는 도메인에 대해 발급 (ip address 발급 x)

본인인증 Self-signed: 직접 만든거라 보안에 취약하므로 브라우저/os에서 신뢰하지않아 경고창

공인인증 CA-signed Certificate: 신뢰기관(CA)들의 공개키가 브라우저/os에 내장되어있어서, 검증된다면 경고없음.


공인인증 발급을 위해 새 도메인 구입 및 설정 → certbot 설치 -> nginx 파일 설정 -> http/https 허용

  • Let’s Encrypt : 무료로 인증서를 발급해주는 공인 인증기관(CA, Certificate Authority)
  • certbot : Let’s Encrypt에서 인증서를 자동으로 발급·설치·갱신해주는 클라이언트 프로그램

새 도메인 구입 및 설정


certbot 설치

sudo apt install certbot python3-certbot-nginx



ningx 파일설정 Domain 80번 포트 설정

sudo nano /etc/nginx/sites-available/default


Let’s Encrypt 인증서 발급 & HTTPS 자동 설정

sudo certbot --nginx -d toddcanwell.online -d www.toddcanwell.online

profile
toddcanwell

0개의 댓글