aws를 공부하면서 알게된 클라우드 개념들과 용어를 정리하였다.

AWS

EC2

AWS에서 인스턴스 생성시 사용한다. 인스턴스 생성 과정을 알아보자.

먼저 인스턴스 이름을 지정하고 설치할 OS를 선택한다. Linux 배포판들과 윈도우등이 기본적으로 지원된다.

인스턴스 유형에서는 생성할 인스턴스의 자원을 선택하게 되는데 불필요한 요금이 나가지 않도록 적절한 크기의 자원을 선택하자.

인스턴스 생성 후 로그인 시 키를 이용해 로그인 할 수 있다. PuTTY를 사용할게 아니면 .pem 형태로 키를 생성해 안전한 장소에 보관하고 이후에 ssh로 키 기반 인증을 통해 인스턴스에 접속하면 된다.


네트워크에서는 이후에 설명할 VPC를 선택하고 서브넷을 선택한다. VPC란 간단하게 설명하면 퍼블릭 클라우드 환경 내에서 논리적으로 격리된 자신만의 사설 네트워크 공간이다.
퍼블릭 IP 자동 할당을 활성화 시키면 자동으로 동적 IP가 할당된다.
보안 그룹을 통해 방화벽 설정을 미리 생성해두고 재사용할 수 있다.

고급 세부 정보 탭에 사용자 데이터 필드에 코드를 입력하면 인스턴스 생성시 자동으로 해당 부분을 실행하게 된다.
예를들어

#!/bin/bash
yum install -y httpd
echo "test" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd

해당 텍스트를 입력시 인스턴스 생성 후 자동으로 아파치 웹서버가 설치되고 실행된다.

VPC

VPC란 앞서 말했다시피 퍼블릭 클라우드 환경 내에서 논리적으로 격리된 자신만의 사설 네트워크 공간이다.
VPC 생성 후 서브넷, 인터넷 게이트웨이, NAT 게이트웨이 등을 설정하게 되는데 각각 뭔지 간단하게 알아보자.

  • 서브넷
    • VPC의 IP 대역을 논리적으로 나눈 영역이며 각 서브넷은 한개의 가용영역(AZ)에 속한다.
    • 라우팅 테이블에 IGW 경로가 있다면 퍼블릭 서브넷이다.
  • 인터넷 게이트웨이(Internet Gateway)
    • VPC를 인터넷과 연결하는 통로이다.
    • 라우팅 테이블에 IGW 경로가 있다면 퍼블릭 서브넷이다.
  • Nat 게이트웨이(NAT Gateway)
    • 프라이빗 서브넷 인스턴스에게 아웃바운드로만 접근을 허용해 인터넷 접속을 할 수 있게 해준다.
    • 인바운드가 차단되므로 외부에서 내부로의 연결이 불가능하다.
    • Elastic IP 부여가 필요하다.

구성 예시 구조도를 보며 알아보자.

해당 구조는 public subent에 EC2 A 인스턴스와 NAT Gateway가 존재하고 EC2 A는 IGW를 통해 인터넷과 연결된다.
private subnet에는 EC2 B가 존재하고 public subnet에 위치한 NAT Gateway를 통해 외부 인터넷으로 연결된다.

외부에서 인스턴스에 접근하려면 어떻게 해야 할까?
EC2 A에 접근은 SSH를 통해 가능하다. pulbic 영역에 있으니 적절히 설정만 되었다면 문제없다.
EC2 B는 어떨까? SSH로 접근시도 시 NAT Gateway에 의해 인바운드가 차단되므로 접근이 불가능하다. EC2 B에 연결하기 위해선 구조도에 나와 있듯이 EC2 A에 먼저 접근한 후 EC2 B로 연결을 시도하면 된다. EC2 A,B는 같은 VPC 내부에 존재하여 서로 private IP를 통해 연결이 가능하기 때문이다.
만약 EC2 A를 거치지 않고 EC2 B에서 외부와 연결하고 싶다면 EC2 B에 VPN 설정을 하면 될 것이다. 이외에 리버스쉘을 통해서도 연결이 가능할 것 같다.

S3 (Simple Storage Service)

먼저 스토리지 종류에 대해 알아보자
Block Storage, File Storage, Object Storage 3가지로 나눌 수 있다.

AWS에서 S3는 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스이다.
간단하게 S3를 사용하여 보자. 버킷을 생성후 파일을 업로드하고 외부에서 접근할 수 있도록 설정하주면 객체 URL 주소를 통해 해당 파일을 확인할 수 있다.



텍스트파일을 업로드했는데 한글이 깨져서 나온다... 인코딩 이슈가 살짝 있다. 따로 맞춰주거나 귀찮으면 그냥 영어쓰자

Certificate Manager

앞서 VPN 관련해서 이야기가 잠깐 나왔는데 통상적으로 VPN 연결을 위해선 인증서나 비대칭키를 생성해 사용한다. VPN을 위해 생성한 키를 AWS에서 등록할 떄 Certificate Manager를 이용하게 된다.

용어들

  • 온프레미스 vs 클라우드

    • 온프레미스(On-Premises)
      • 물리적 서버를 직접 구성함
      • 초기 투자비용 큼, 확장/축소 느림, 유지보수 인력/비용 큼
    • 클라우드
      • 서비스 형태로 임대하여 사용(AWS, Azure, GCP)
      • 탄력적인 확장 가능, 벤더에 종속됨
  • 하이브리드 vs 멀티클라우드

    • 하이브리드: 클라우드 + 온프레미스
    • 멀티클라우드: 클라우드 + 클라우드
  • IaaS/PaaS/SaaS

    • IaaS (Infrastructure as a Service)
      • 가상 서버, 스토리지, 네트워크 등 인프라를 제공
      • 사용자는 OS/미들웨어/앱을 직접 관리
      • AWS의 EC2가 여기에 해당함
    • PaaS (Platform as a Service)
      • 런타임, 미들웨어, DB, 배포 파이프라인까지 제공
    • SaaS (Software as a Service)
      • 완성된 애플리케이션을 제공
      • 사용자는 설정만, 인프라/플랫폼은 벤더가 전부 관리.
  • CDN (Content Delivery Network)

    • 캐시 서버에 콘텐츠를 복제해 가까운 위치에서 빠르게 전달하는 네트워크
    • 지연(latency) 감소, 대역폭 절감, 트래픽 급증 완화, 가용성 향상
  • AWS에서 공동책임모델
    클라우드의 보안은 AWS, 클라우드 안의 보안은 고객

    • AWS의 책임
      • 인프라 보안: 하드웨어, 스토리지, 네트워크 백본, 가상화/하이퍼바이저
      • 기본 가용성: 리전·AZ 설계, 관리형 서비스의 기반 패치/업데이트
    • 고객의 책임
      • 데이터 보안/분류: 암호화 적용, 백업/보존 정책
      • IAM/접근제어: 사용자/역할/정책, MFA, 키·비밀번호 관리
      • 네트워크 설정: VPC, 서브넷, SG/NACL, 라우팅, WAF/Shield 사용 결정
      • OS/미들웨어/앱 패치: EC2의 OS·에이전트·런타임 패치, 앱 취약점 관리

  • 노출, 유출, 위험, 위협

외부 위협이 잠재적 취약점을 노출을하면 자산(asset)에 영향을 끼치는걸 위험(risk)이라고 한다.

  • 캐싱 서버

    • 온프레미스 환경에선 dns 캐싱 서버를 둔다. → 트레픽이 줄어듬
    • 클라우드에선 안함 → 오히려 비용증가
    • AWS에선 Amazon Route 53를 이용한다.
  • 접근 통제 모델

    • MAC (Mandatory Access Control, 강제적 접근통제)
      • 보안 정책(rule) 중심
    • DAC (Discretionary Access Control, 임의적 접근통제)
      • 사용자(user) 중심
    • Non-DAC (또는 RBAC, Role-Based Access Control)
      • 역할(role) 중심
모델기준권한 결정 방식예시
DAC사용자소유자가 직접 권한 부여파일 ACL, chmod
MAC규칙(정책)시스템이 강제 규정SELinux, AppArmor
Non-DAC (RBAC)역할(role)역할에 따라 권한 상속AWS IAM, DB Role
  • SDN/NFV

    • SDN
      • 소프트웨어를 이용하여 네트워크 리소스를 가상화하는 것
    • NFV
      • 기존의 네트워크 하드웨어 장비를 소프트웨어 형태로 가상화하는 것
  • Site-to-Site(Gate-to-Gate)

    • 네트워크 간을 게이트웨이(방화벽/라우터)끼리 IPsec 터널로 연결
    • 내부망 간 상호 접속
  • EDR(Endpoint Detection and Response)

    • 엔드포인트(PC/서버)에 에이전트를 설치해 행위 기반 탐지, 포렌식/텔레메트리 수집, 격리/퇴치
    • 실시간 탐지, 프로세스 트리, 원격 격리/삭제
  • SIEM(Security Information & Event Management)

    • 로그/이벤트 수집·보관·상관분석으로 경보와 대시보드 제공
  • VPN

    • PPTP,L2TP: Layer 2 Tunneling
    • IPSec(AH, ESP, SA, IKE): Layer 3
      • AH (Authentication Header) - 무결성/인증 제공, 암호화 없음
      • ESP (Encapsulating Security Payload) - 암호화 + 무결성/인증(선택) 제공, 가장 많이 사용
      • SA (Security Association) - 양방향 통신에는 최소 2개 SA 필요
      • IKE (Internet Key Exchange) - IPsec에 쓸 키·SA를 협상
    • PSK (Pre-Shared Key)
      • KE 인증에 쓰는 사전에 공유한 대칭 키
  • SHA 해시 알고리즘

    • SHA-1 → 128
    • SHA-2 → 256, 512
  • 주요 DBMS 포트

DBMS기본 포트(프로토콜)비고
MySQL3306/TCPX Protocol: 33060/TCP (옵션)
MariaDB3306/TCPMySQL과 동일(기본값)
Microsoft SQL Server (MSSQL)1433/TCPSQL Server Browser: 1434/UDP
Oracle Database1521/TCPTCPS(암호화 리스너): 2484/TCP
PostgreSQL5432/TCP
  • Grandfather–Father–Son (GFS)

    • 일/주/월 단위로 백업을 세대별 순환 보관하는 전략
  • BCP (Business Continuity Plan, 사업연속성 계획)

    • 재해·장애 시 핵심 업무를 중단 없이(또는 신속히) 유지하는 종합 계획
  • HA(High Avalivity, 고가용성)

    • 시스템/서비스 다운타임 최소화를 목적으로 함
    • 이중화, 무중단 배포, 다중 AZ/리전
  • Proxy

    • 포워드 프록시(Forward Proxy)
      • 위치/방향: 클라이언트 앞에서 클라이언트 → 인터넷 요청을 대행
      • 목적: 캐싱, 접근 통제, DLP, 익명화, 아웃바운드 보안
    • 리버스 프록시(Reverse Proxy)
      • 위치/방향: 서버 앞에서 인터넷 → 서버군 요청을 대행
      • 목적: 로드밸런싱, SSL 종료, 캐시, WAF
  • CDN(Content Delivery Network)

    • 전 세계 엣지에 콘텐츠를 캐시해 가까운 위치에서 빠르게 제공함
    • 지연 감소, 대역폭 절감, 트래픽 급증 흡수, 가용성 향상
    • Cloudflare
  • IaC (Infrastructure as Code)

    • 인프라(데이터센터, VM, 네트워크, 보안 설정 등)를 코드로 선언해서 자동 프로비저닝/관리하는 방식
  • Ansible (엔서블)

    • 에이전트 없는(Agentless) 구성관리/자동화 도구
  • RSS

    • 웹사이트의 최신 콘텐츠 업데이트 정보를 사용자에게 자동으로 제공하는 기술
  • HTTP
    • 80 포트를 이용하며 암호화되지 않음
  • HTTPS(HTTP over TLS)
    • 443 포트를 이용하며 통신이 암호화되어 암호화·무결성·서버 인증 제공함
  • HSTS(HTTP Strict Transport Security)
    • 사이트가 브라우저에 항상 HTTPS만 쓰도록 강제함
    • 운그레이드/쿠키 탈취(SSL-strip) 방지
  • HTTP/3
    • QUIC(UDP/443)를 이용하는 HTTP 버전

※ 참고자료
https://study-infra.com/what-is-natgateway/
https://inpa.tistory.com/entry/NETWORK-%F0%9F%93%A1-Reverse-Proxy-Forward-Proxy-%EC%A0%95%EC%9D%98-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC

0개의 댓글