김데이의 개발공부

[ TIL ] Day 87 - 클라우드 & AWS (Amazon Web Services) 본문

코드잇 Node.js(BE) 부트 캠프/TIL (Today I Learn) 📑

[ TIL ] Day 87 - 클라우드 & AWS (Amazon Web Services)

theday365 2026. 1. 28. 18:34
반응형

🗓️ 수업 일자 : 2026.1.28

✨ 오늘의 수업 평가 :  [ HARD ]  ⚡🧠💣 머리 과부하 ⚡🧠💣

 

이전 작업들을 하면서 AWS S3에 대해 알게 되서 

이번 수업이 정말 많이 기대 됬는데 

외계어만 잔뜩 배워서 어질어질 😵‍💫😵‍💫

실습 시간에 꼭 복습해야겠다!!

 

 

📝  오늘 배운 내용  

- 클라우드

- AWS (Amazon Web Services)

- AWS S3 

 


1. 클라우드

클라우드 서비스 

  • 과거 온 프레미스 방식(on-premise, 직접 "서버"용 컴퓨터를 수십~수백대 설치)으로 서비스를 운영
       → 공간 확보 / 전력 공급 / 냉방 설비 / 보안 & 백신 관리 등등 직접 유지보수 하는데 너무 힘듦
  • 코드가 실행 될 "서버"용 컴퓨터를 빌려주는 서비스 
  • 간단한 "구글 드라이브" 같은 서비스도 일종의 클라우드 서비스
  • 장점 : 비용이 절감, 관리가 편리해 짐. 탄력성(특정 기간에만 서버 용량 늘림/줄임)이 좋아 효율적인 서비스 운영 가능
  • 단점 : 데이터 보안 이슈가 발생한 경우 자체 대응이 힘듦

 

대표적인 3대 클라우드

  • AWS (Amazon Web Services)
  • GCP (Google Cloud Platform)
  • Azure (Microsoft Azure)

 

 

2. AWS (Amazon Web Services)

 AWS란?

  • 아마존에서 만든 클라우드 서비스 묶음
  • 서버, DB, 스토리지, 네트워크 같은 인프라를 인터넷으로 빌려 쓰는 서비스

 

대표 서비스 종류

 

  • EC2: 가상 서버 (컴퓨터 한 대 빌린다고 생각)
  • S3: 파일 저장소 (이미지, 영상 등)
  • RDS: 관리형 DB (MySQL, PostgreSQL 등)
  • Lambda: 서버 없이 코드만 실행 (이벤트 기반)
  • CloudFront: CDN (전 세계 빠른 배포)

 

 

AWS 가입하기

1. AWS 홈페이지 접속하여 "무료로 AWS 시작하기" 클릭 (아래 링크)

 

무료 클라우드 컴퓨팅 서비스 - AWS 프리 티어

AWS 프리 티어 제품 및 서비스를 통해 AWS 플랫폼, 제품 및 서비스를 무료로 체험해 볼 수 있습니다. AWS 프리 티어 서비스의 100가지 제품 및 서비스를 찾아보세요.

aws.amazon.com

AWS 홈페이지 접속 후 "무료 회원 가입" 클릭

 

 

2. 회원가입 정보 입력하기 : 이메일, 비밀번호, 주소 및 연락처, 결제 정보(사기 방지용) 등을 입력하고 가입 

오른쪽 상단에 "language" 클릭하여 한글로 변환가능 , 회원가입 정보( 이메일 / 이름 ) 입력
오른쪽 상단에 "language" 클릭하여 한글로 변환가능 , 회원가입 정보( 이메일 / 이름 ) 입력
원하는 플랜 선택, 수업용이므로 "무료 플랜 선택" 클릭
모든 정보를 다 입력한 뒤 가입 준비 화면AWS 가입 완료 화면
왼쪽 : 모든 정보를 다 입력한 뒤 가입 준비 화면 / 오른쪽 : AWS 가입 완료 화면

 

 

3. 최종적으로 생성 된 계정 화면 (메인대시보드)

최종적으로 생성 된 계정 화면 (메인대시보드)
최종적으로 생성 된 계정 화면 (메인대시보드)

 

 

 

AWS IAM 설정

  • 사용자 별로 AWS 권한을 부여하는 방법 
    • Root User : 계정을 생성하면서 만들어 지는 최고 관리자 계정, 전체 리소스에 접근 가능하고 결제 / 계정 관리 가능.
    • IAM User : 제한된 리소스에 접근하도록 설정하는 계정, Root User 또는 동일한 IAM User가 생성 가능. 
                         서비스용 IAM User : 하나의 서비스 단위로 계정을 분리하는 경우
  • AWS에 접근 가능한 Access Key가 제공되며, 외부에 노출되면 보안에 치명적임
  • 계정에 권한을 각각 부여하면 해킹이 되더라도 피해 범위가 최소화 되고, 서로의 권한에 접근하지 않아 안정적

 

AWS Policy 설정

  • Policy(정책) : IAM User의 권한을 설정하는 방법
  • 정책의 연결 대상 : 유저에 연결 - 어떤 리소스에 접근 가능할 지 정의 / 리소스에 연결 - 어떤 유저가 접근 가능한지 정의
  • 정책이 출돌하는 경우 보수적으로 판단하여 "접근 거부"가 자동 설정 됨
  • JSON으로 설정 가능하고, 보통은 AWS에서 제공하는 "AWS 제공 정책"을 통해 작성됨 
Policy 기본 문법

{
  "Version": "2026-01-28", // 정책의 문법 버전
  "Statement": [   // 권한의 최소 단위로 여러 개 작성 가능
    {
      "Effect": "Allow",   // 허용 또는 거부 설정 : Allow , Deny
      "Action": "s3:GetObject",   // 접근 방식
      "Resource": "arn:aws:s3:::example-bucket/*"  // 적용 대상 리소스
    },
    {
      "Effect": "Deny",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::example-bucket/*"
    }
  ]
}

 

 

3. AWS S3 

S3 소개

  • 파일 저장에 특화된 스토리지 서비스로 이미지, 동영상, 오디오, 문서 등 비정형 데이터 저장에 최적화
  • 버킷(Bucket): 파일을 저장하는 기본 단위.
  • 객체(Object): 버킷 안에 저장된 각각의 파일. 데이터(본문)와 메타데이터(부가 정보: 생성일, 크기, 파일 타입 등)로 구성.
                          객체마다 고유한 키(Key) 가 부여되어 빠른 식별과 검색 가능.
  • URL 접근 가능: 이미지 링크 바로 사용 가능

 

Presigned URL

  • 시간 제한 있는 S3 접근용 URL
  • 원래 S3 파일 URL은 알면 누구나 접근 가능하지만,
    비공개 계정은 링크 공유에 제한을 두는 등 보안을 강화하기 위하여 해당 URL을 사용
  • 서버가 유저의 권한을 보고 임시 URL을 생성해 브라우저에게 전달, 시간이 지나면 사용할 수 없는 URL이 됨

 

정적호스팅

  • S3로 서버 없이 "HTML/CSS/JS" 사이트 그대로 배포
  • 랜딩 페이지, 포트폴리오, 문서 사이트 등 DB를 쓰지 않는 정적 홈페이지를 배포 가능

 


 

📃 내일은 뭘 배울까 🤔

- AWS EC2

- AWS RDS

- VPC

반응형