해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

Static VS Dynamic Contents


Static Contents

  • 서버에 저장된 파일이 모든 사용자에게 동일하게 전달되는 컨텐츠
  • 매번 서버에 요청할 필요없이 캐싱 가능
  • HTML/Javascript 등으로 구성
  • 예: 이미지, 글, 뉴스 등

Dynamic Contents

  • 시간, 사용자, 입력 등에 따라 내용이 변경되는 컨텐츠
  • 매번 서버에 요청하여 내용을 구성하고 전달받아야함.
  • PHP, JSP, ASP.net 등으로 서버 처리
  • 예: 로그인이 필요한 내용, 게시판, 댓글 등

Amazon S3 Static Hosting


  • S3를 사용해서 정적(Static) 웹 컨텐츠를 호스팅하는 기능
  • 별도의 서버 없이 웹사이트 호스팅 가능
  • 고가용성/장애 내구성을 확보
  • 사용 사례: 대규모 접속이 예상되는 사전 예약 페이지, 홍보 페이지, 회사 웹 사이트 등

권한

  • 정적 웹 호스팅을 public으로 공개할 경우: 불특정 다수에게 허용되는 권한 부여 필요
  • 불특정 다수가 접속할 수 있는 권한을 확보하려면
    • S3 Block Public Access 해제 필요
    • Bucket Policy에서 정책 허용 필요

활용

  • route 53에서 보유한 도메인으로 연결 가능
    • 버킷명 = 호스팅 주소여야 가능
    • test.example.com으로 호스팅하고 싶다면, 버킷명도 ‘test.example.com’ 필요
  • 실전에서 CloudFront와 연동
    • HTTPS 프로토콜 구현을 위해서 CloudFront와 연동 필요.
      • ACM을 통한 SSL 키 관리가 가장 편함
      • 보통 Public Hosting의 활성화 대신 그대로 Private 모드로 두고 OAI/OAC 등을 활용해서 보안 강화

아키텍처

정적 호스팅 아키텍처

실습


1. 버킷 만들기

  1. S3 버킷의 정적 호스팅 기능 활성화하기

버킷 생성

2. 속성 -> 정적 웹사이트 호스팅 편집

정적 웹 사이트 호스팅 편집

3. 퍼블릭에 공개할 수 있는 권한 및 설정 적용

 

퍼블릭 액세스 가능

4. S3 버킷에 샘플 static 웹 사이트 파일을 작성해서 업로드하기

  1. S3 정적 호스팅 웹 주소를 사용해 웹 사이트 동작 확인하기 

  2. 파일 업로드 후 퍼블릭 도메인에 접근

테스트 페이지

5. 도메인 이름을 바꾸고 싶으면 Route 53을 변경해야함.

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 암호화  (0) 2024.07.26
[AWS] S3 버전 관리 및 객체 잠금  (1) 2024.07.26
[AWS] S3 권한 관리  (0) 2024.07.26
[AWS] S3 스토리지 클래스  (0) 2024.07.25
[AWS] Amazon S3 기초  (0) 2024.07.25
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

암호화


  1. On Transit: SSL/TLS(HTTPS) ⇒ 데이터가 클라이언트에서 s3로 통신하는 과정에서의 암호화
  2. At Rest(Server Side)
    1. SSE S3
    2. SSE KMS
    3. SSE C
  3. Client Side 

At Rest(Server Side)

Server Side

  • S3가 데이터를 저장할 때 암호화

SSE S3

SSE S3 데이터 저장
SSE S3 데이터 조회

  • S3에서 알아서 암호화

SSE KMS

SSE KMS 데이터 저장
SSE KMS 데이터 조회

  • KMS 서비스를 이용해 암호화
  • KMS로 활용하기에 키를 로깅 및 로테이션 가능
    • 권한 분리 가능

SSE C

SSE C 데이터 저장
SSE C 데이터 조회

  • 클라이언트에서 제공한 암호를 암호화
  • 클라이언트 키를 같이 암호화
  • 클라이언트가 키를 보관해야함.(잃어버리면 데이터 복구 불가)

Client Side

  • 클라이언트가 직접 암호화

 

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 정적 호스팅  (0) 2024.07.26
[AWS] S3 버전 관리 및 객체 잠금  (1) 2024.07.26
[AWS] S3 권한 관리  (0) 2024.07.26
[AWS] S3 스토리지 클래스  (0) 2024.07.25
[AWS] Amazon S3 기초  (0) 2024.07.25
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

버전관리


  • 객체의 생성, 업데이트 삭제의 모든 단계를 저장
    • 삭제시에는 실제 객체를 삭제하는 대신 삭제 마커를 추가
  • 버킷 단위로 활성화 필요(기본적으로 비활성화)
    • 중지 가능, 단 비활성화 불가능
    • 한번 버전관리를 시작하면 비활성화 불가능(버킷 삭제 후 재생성으로 해결 가능)
  • 수명 주기 관리와 연동 가능
  • MFA 인증 후 삭제 기능을 통해 보안 강화 기능

파일 생성
파일 업데이트
파일 삭제

  • delete marker만 삭제하면 version 22222를 확인 가능.
  • 버전 삭제도 가능.

버전 관리 유의 사항

  • 중지 가능, 단 비활성화 불가능
    • 한번 버전관리를 시작하면 비활성화 불가능(버킷 삭제후 재생성으로 해결 가능)
  • 모든 버전에 대해 비용 발생
    • 10gb 객체의 버전이 5개 있다면, 총 50gb에 대해 비용 발생

객체 잠금


  • Write Once, Read Many(WORM) 모델을 활용하여 객체를 저장
  • 고정된 시간, 혹은 무기한으로 객체의 삭제/덮어쓰기 방지 가능
  • 규정 준수 및 객체의 보호를 위해 사용
  • 버전 활성화 필요

종류

객체 잠금 종류

  • 보관모드(Retention Mode): 일정 기간동안 수정 방지
    • 규정 준수 모드: 누구도 잠금 설정 변경, 객체 삭제 불가능
    • 거버넌스 모드: 특별한 권한 없이 삭제 혹은 잠금 설정 변경 불가능
      • 객체 삭제 방지 혹은 규정에 따라 보관하기 위해 사용
      • 규정 준수 모드의 테스트
  • 법적 보존(Legal Hold)
    • Hold를 객체에 부여하고 Hold가 존재하는 한 객체 삭제, 수정 불가능
    • 제한 기간이 없음

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 정적 호스팅  (0) 2024.07.26
[AWS] S3 암호화  (0) 2024.07.26
[AWS] S3 권한 관리  (0) 2024.07.26
[AWS] S3 스토리지 클래스  (0) 2024.07.25
[AWS] Amazon S3 기초  (0) 2024.07.25
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

S3 권한 관리


S3 버킷 정책

  • IAM 정책 중의 리소스 정책

IAM 종류

  • Identity-based policies(자격 증명 기반 정책)
    • 자격 증명(IAM 유저, 그룹, 역할)에 부여하는 정책
    • 해당 자격증명이 무엇을 할 수 있는 지 허용

리소스 기반 정책

  • Resource-based policies(리소스 기반 정책)
    • 리소스(S3, SQS VPC Endpoint, KMS 등)에 부여하는 정책
    • 해당 리소스에 누가 무엇을 할 수 있는지 허용 가능
      • SQS 대기열에 lambda Service가 접근 가능
      • IAM 정책을 평가할 때 리소스 정책 허용이면 허용하는 특징

S3 버킷 정책

  • 버킷 단위로 부여되는 리소스 기반 정책
  • 해당 버킷의 데이터에 언제 누가 어디서 무엇을 어떻게 할 수 있는지 정의 가능
    • 리소스 계층 구조에 따라 권한 조절 가능
    • 다른 계정에 엔티티에 대해 권한 설정 가능(cross account)
    • 익명 사용자에 대한 권한 설정 가능.
  • 기본적으로 모든 버킷은 Private ⇒ 접근 불가능

S3의 계층 구조

{
	"Version": "2012-10-17",
    "Statement": [
    	{
        	"Sid": "StatementAllow",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::demo.rwlecture.com/*",
        }
    ]
}
  • AWS 콘솔에서는 S3의 디렉토리를 생성 가능하고 확인 가능
  • S3 내부적으로는 계층 구조가 존재하지 않음
    • 키 이름에 포함된 “/”로 계층 구조를 표현
      • s3:mybucket/aaa/bbb/ccc/ddd
      • bucket: mybucket
      • key: aaa/bbb/ccc/ddd(단일 스트링)
    • effect: 허용
    • principal: 누가? ⇒ 퍼블릭 액세스 차단 편집을 수정해야함.
    • action: 무엇을
    • resource: 어떤 버킷에 대해서?

버킷 관리 방법의 선택

  • Identity-based policies(자격 증명 기반 정책)
    • 같은 계정의 IAM 엔티티의 S3 권한 관리할 때
    • S3 이외에 다른 AWS 서비스와 같이 권한 관리할 때
  • Resource-based policies(리소스 기반 정책)
    • 익명 사용자 혹은 다른 계정의 엔티티의 S3 이용 권한을 관리할 때
    • S3 만의 권한을 관리할 때

Access Control List(ACL)

  • 버킷 혹은 객체 단위로 읽기, 쓰기의 권한 부여
  • S3에서 설정을 통해 ACL을 활성화 시킨 후에 적용 가능
  • 파일 업로드시 설정 가능
  • 간단하고 단순한 권한 관리만 가능
  • 사용하지 않는 추세 ⇒ 버킷 괸리로 사용 가능함.

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 암호화  (0) 2024.07.26
[AWS] S3 버전 관리 및 객체 잠금  (1) 2024.07.26
[AWS] S3 스토리지 클래스  (0) 2024.07.25
[AWS] Amazon S3 기초  (0) 2024.07.25
[AWS] VPC 실습  (0) 2024.07.25
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

S3 스토리지 클래스


7가지 S3 스토리지 클래스

  • S3 다양한 스토리지 클래스 제공
    • 클래스 별로 저장의 목적, 예산에 따라 다른 저장 방법 적용
    • 8가지 클래스(S3 on OutPosts는 설명만)

s3 스탠다드

  • 99.99% 가용성
  • 99.999999999% 내구성(eleven-nine)
  • 최소 3개 이상의 가용영역에 분산 보관
  • 최소 보관기간 없음, 최소 보관 용량 없음
  • 파일 요청 비용 없음(전송 요금은 발생)

s3 스탠다드 IA(Infrequently Accessed)

  • 자주 사용되지 않는 데이터를 저렴한 가격에 보관
  • 최소 3개 이상의 가용영역에 분산 보관
  • 최소 저장용량: 128kb 최소 저장 기간: 30일
    • 작은 용량을 저장해도 128kb만큼의 비용발생, 1일만 저장해도 30일 보관만큼의 비용발생
  • 데이터 요청 비용 발생: 데이터를 불러올 때마다 비용 지불
  • 자주사용하지 않는 파일 중 중요한 파일

s3 one zone-IA

  • 자주 사용되지 않는, 중요하지 않은 데이터를 저렴한 가격에 보관
  • 단 한개의 가용영역에만 보관
  • 최소 저장용량: 128kb 최소 저장 기간: 30일
    • 작은 용량을 저장해도 128kb만큼의 비용발생, 1일만 저장해도 30일 보관만큼의 비용발생
  • 데이터 요청 비용 발생: 데이터를 불러올 때마다 비용 지불
  • 자주사용하지 않는 파일 중 쉽게 복구할 수 있는 파일

s3 Glacier Instant Retrieval

  • 아카이브용 저장소
  • 최소 저장용량: 128kb 최소 저장 기간: 90일
  • 바로 액세스 가능.
  • 사용사례: 의료 이미지 혹은 뉴스 아카이브 등

s3 Glacier Flexible Retrieval

  • 아카이브용 저장소
  • 최소 저장용량: 40kb 최소 저장 기간: 90일
  • 분~시간 단위 이후 액세스 가능
  • 사용사례: 장애 복구용 데이터, 백업 데이터 등

s3 Glacier Deep Retrieval

  • 아카이브용 저장소
  • 최소 저장용량: 40kb 최소 저장 기간: 90일
  • 데이터를 가져오는데 12~48시간 소요
  • 사용사례: 오래된 로그 저장, 사용할 일이 거의 없지만 법적으로 보관해야하는 서류 등

s3 Intelligent-Tiering

  • 머신러닝을 사용해 자동으로 클래스 변경
  • 적절한 스토리지 클래스로 변경
  • 퍼포먼스 손해/오버헤드 없이 요금 최적화

s3 on Outposts

  • 온 프로메스 환경에 s3 제공
  • 내구성을 확보한 상태로 파일을 저장하도록 설계
  • IAM, S3 SDK 등 사용가능

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 버전 관리 및 객체 잠금  (1) 2024.07.26
[AWS] S3 권한 관리  (0) 2024.07.26
[AWS] Amazon S3 기초  (0) 2024.07.25
[AWS] VPC 실습  (0) 2024.07.25
[AWS] VPC와 Subent  (0) 2024.07.25
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

S3


Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스입니다. 99.99%의 내구성을 제공하도록 설계되었으며, 전 세계 기업의 수백만 애플리케이션을 위한 데이터를 저장합니다.
-AWS-

Amazon S3

  • 객체 스토리지 서비스: 파일 보관만 가능 ↔ Block Storage Service(EBS, EFS 등)
    • 어플리케이션 설치 불가능
  • 글로벌 서비스. 단, 데이터는 리전에 저장
  • 무제한 용량
    • 하나의 객체는 0byte에서 5TB의 용량

버킷

  • S3의 저장공간을 구분하는 단위
  • 디렉토리/폴더와 같은 개념
  • 버킷이름은 전 세계에서 고유 값: 리전에 관계없이 중복된 이름이 존재할 수 없음.

S3객체의 구성

  • Owner: 소유자
  • Key: 파일의 이름
  • Value: 파일의 데이터
    • 0byte의 데이터 → value가 없을 수도 있음
  • Version Id: 파일의 버전 아이디
  • Metadata: 파일의 정보를 담은 데이터
  • ACL: 파일의 권한을 담은 데이터
  • Torrents: 토렌트 공유를 위한 데이터

내구성

  • 최소 3개 이상 가용영역(AZ)에 데이터를 분산 저장(Standard의 경우)
  • 99.999999999% 내구성(eleven nine)
    • 0.000000001% 확률로 파일을 잃어버릴 수 있음
  • 99.9% SLA 가용성(스토리지 클래스에 따라 다름)

보안 설정

  • S3모든 버킷은 새로 생성시 기본적으로 Private(비공개)
    • 따로 설정을 통해 불특정 다수에게 공개 가능(ie 웹 호스팅)
  • 보안 설정은 객체 단위와 버킷 단위로 구성
    • Bucket Policy: 버킷단위
    • ACL(Access Control List): 객체 단위
  • MFA를 활용해 객체 삭제 방지 가능
  • Versioning을 통해 파일 관리 가능
  • 액세스 로그 생성 및 전송 가능
    • 다른 버킷 혹은 다른 계정으로 전송 가능

실습


1. S3 검색 후 대시보드 들어가서 버킷 생성

  1. 나머지 옵션은 그대로

S3 버킷 생성

2. 업로드 하는 메타 데이터(아무거나 하셔도 됩니다)

메타 데이터

3. IAM 역할 선택

IAM 역할

4. S3 권한 추가

  1. S3 검색 후 FullAccess 선택

  2. EC2에서 S3로 접근할 수 있도록 권한을 만들어줘야함.

S3 권한

EC2 생성

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 권한 관리  (0) 2024.07.26
[AWS] S3 스토리지 클래스  (0) 2024.07.25
[AWS] VPC 실습  (0) 2024.07.25
[AWS] VPC와 Subent  (0) 2024.07.25
[AWS] 사설 IP, NAT, CIDR란  (0) 2024.07.25
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

VPC 실습


목표

  • 직접 커스텀 VPC 생성(10.0.0.0/16)
  • 서브넷 3개 생성: Public, Private, DB
  • 각 서브넷에 각각 Routing Table 연동
  • Public 서브넷에 인터넷 경로 구성: Internet Gateway
  • Public Subnet에 EC2 프로비전
  • Private Subent에 EC2 프로비전
    • Bastion host
  • DB Subnet에 DB 생성
    • NAT Gateway setup

1. 하나의 가용영역에 하나의 default VPC 생성이 됨.

기본 VPC, SUBNET, NACL

2. VPC 생성

  1. VPC 등을 선택하면 서브넷 라우팅 테이블을 한꺼번에 만들어줌.

  2. VPC만으로 생성해보는 실습

VPC 등을 선택하면 나오는 보드
VPC 설정

3. 기본 라우팅 테이블과 NACL, 보안그룹 대시보드

Routing Table
NACL

4. 서브넷 생성

  1. public, private, db 서브넷 생성

  2. 네트워크 ACL 붙음 / 라우팅 테이블

서브넷 생성

5. 두번째 서브넷 생성

6. 라우팅 테이블 생성으로 public/db 생성하기

  1. 각각연결

두번째 서브넷 생성

6. 라우팅 테이블 & NACL

Routing Table
연결된 서브넷

7. 작업 -> 서브넷 연결 편집

서브넷 선택
명시적 서브넷 연결

8. 인터넷 게이트웨이와의 생성, 연결

Internet Gateway
라우팅 편집

9. 인스턴스 생성 -> 만든 VPC

  1. 퍼블릭 서브넷만 인터넷 게이트웨이에 연결하도록

만든 VPC, 보안그룹 설정

10. 인바운드 규칙 변경

인바운드 규칙 변경

11. 네이버에 들가짐

ec2 콘솔 연결

12. private instance 생성. 키 페어 생성

  1. 퍼블릭 인스턴스 → 연결 → private 인스턴스 keypair 넣어주고 권한설정

키페어 및 VPC 생성

13. private VPC이므로 인스턴스 연결이 되지 않음

ec2 연결

  • 커스텀 VPC 생성 시 만들어지는 리소스: 라우팅 테이블, 기본 NACL, 기본 보안 그룹
    • 서브넷 생성 시 모두 기본 라우팅 테이블로 자동 연동
  • 서브넷 생성시 AWS는 총 5개의 IP를 미리 점유함
  • VPC에는 단 하나의 Internet Gateway만 생성가능
    • Internet Gateway 생성 후 직접 VPC에 연동 필요
    • Internet Gateway는 자체적으로 고가용성/장애 내구성을 확보
  • 보안그룹은 VPC 단위
  • 서브넷은 가용영역단위(1서브넷 = 1가용영역)
  • 가장 작은 서브넷 단위 /24

'CICD > AWS' 카테고리의 다른 글

[AWS] S3 스토리지 클래스  (0) 2024.07.25
[AWS] Amazon S3 기초  (0) 2024.07.25
[AWS] VPC와 Subent  (0) 2024.07.25
[AWS] 사설 IP, NAT, CIDR란  (0) 2024.07.25
[AWS] Elastic File System 개념 및 실습  (3) 2024.07.24
해당 포스팅은 AWS 강의실(https://www.youtube.com/@AWSClassroom)를 보고 공부한 내용을 정리한 블로그입니다.

아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁
네 자신의 불행을 생각하지 않게 되는 가장 좋은 방법은 일에 몰두하는 것이다.
Ludwig van Beethoven

AWS 서비스 구조


AWS 서비스 구조

  • AWS의 서비스(DDB, S3, CloudWatch)는 public internet으로만 접근이 가능
  • 하지만 VPC는 public internet으로 접근 불가
    • AWS 내부라 하더라도 public internet을 거쳐야 함.

VPC


Virtual Private Cloud(VPC)는 사용자의 AWS 계정 전용 가상 네트워크입니다. VPC는 AWS클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있습니다. Amazon EC2인스턴스와 같은 AWS 리소스를 VPC에서 실행할 수 있습니다. IP 주소 범위와 VPC 범위를 설정하고 서브넷을 추가하고 보안 그룹을 연결한 다음 라우팅 테이블을 구성합니다.
-AWS-
  • 가상의 데이터 센터
  • 외부에 격리된 네트워크 컨테이너 구성 가능
    • 원하는 대로 사설망 구축 가능 => 부여된 IP 대역을 분할하여 사용 가능
  • 리전 단위

VPC 구조

VPC 구조

사용사례

  • EC2, RDS, Lambda등의 AWS의 컴퓨팅 서비스 실행
  • 다양한 서브넷 구성
  • 보안 설정(IP Block, 인터넷에 노출되지 않는 EC2등 구성)

구성 요소

  • 서브넷
    • VPC의 하위 단위로 VPC에 할당된 IP를 더 작은 단위로 분할한 개념
    • 하나의 서브넷은 하나의 가용영역 안에 위치
    • CIDR block range로 IP 주소 지정
    • ex) 10.0.0.0/24라면
      10.0.0.0: Network Address
      10.0.0.1: VPC router
      10.0.0.2: Dns Server
      10.0.0.3: 미래에 사용을 위해 남겨둠
      10.0.0.255: 네트워크 브로드 캐스트 어드레스(AWS에서는 브로드캐스트를 지원하지 않음)
    • 퍼블릭 서브넷: 외부에서 인터넷을 통해 연결할 수 있는 서브넷
      • 인터넷 게이트웨이를 통해 외부의 인터넷과 연결되어 있음.
      • 안에 위치한 인스턴스에 퍼블릭 IP 부여가능
      • 웹서버, 어플리케이션 서버 등 유저에게 노출되어야 하는 인프라.
    • 프라빗 서브넷: 외부에서 인터넷을 통해 연결할 수 없는 서브넷
      • 외부 인터넷으로 경로가 없음
      • 퍼블릭 ip부여 불가능
      • 데이터베이스, 로직 서버 등 외부에 노출될 필요가 없는 인프라.
  • 인터넷 게이트웨이
    • VPC가 외부의 인터넷과 통신할 수 있도록 경로를 만들어주는 리소스
    • 기본적으로 확장성과 고가용성이 확보되어있음
    • IPv4(NAT 역할), IPv6 지원
    • Route Table에서 경로 설정 후에 접근 가능
    • 무료
  • NACL/보안그룹
    보안 그룹은 인스턴스에 대한 인바운드 및 아운바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다.
    • Network Access Control List(NACL)와 함께 방화벽의 역할을 하는 서비스
    • Port 허용
      • 기본적으로 모든 포트는 비활성화
      • 선택적으로 트래픽이 지나갈 수 있는 Port와 Source 설정 가능
      • Deny불가능 → NACL로 가능
    • 인스턴스 단위
      • 하나의 인스턴스에 하나 이상의 SG 설정 가능
      • NACL의 경우 서브넷 단위
      • 설정된 인스턴스는 설정한 모든 SG의 룰을 적용받음
      • 기본 5개 최대 16개
    • 보안 그룹의 stateful
      • inbound로 들어온 트래픽이 별다른 outbound 설정 없이 나갈 수 있음
      • NACL은 stateless
    • 네트워크 ACL(NACL)

Network Access Control List 규칙 순서

  • 보안 그룹처럼 방화벽 역할을 담당
  • 서브넷 단위
  • 포트 및 아이피를 직접 Deny 가능
    • 외부 공격을 받는 상황 등 특정 아이피를 블록 하고 싶을 때 사용
  • 순서대로 규칙 평가(낮은 숫자부터)
  • 규칙
    • 규칙 번호
      • 규칙에 부여되는 고유 숫자이며 규칙이 평가되는 순서(낮은 숫자부터)
        • AWS 추천은 100단위 증가
      • 유형: 미리 지정된 프로토콜. 선택시 AWS에서 잘 알려진 포트가 규칙에 지정됨
      • 프로토콜: 통신 프로토콜(TCP, UDP, SMTP…)
      • 포트 범위: 허용 혹은 거부할 포트 범위
      • 소스 IP 주소의 CIDR 블록
      • 허용/거부: 허용 혹은 거부 여부
  • 라우팅 테이블
    • 트래픽이 어디로 가야할지 알려주는 이정표
    • VPC 생성시 기본으로 하나 제공

NAT Instance

  • NAT Instance/ NAT Gateway
    NAT 게이트웨이는 Amazon Virtual Private Cloud(Amazon VPC)의 프라이빗 서브넷에 있는 인스턴스에서 인터넷에 쉽게 연결할 수 있도록 지원하는 가용성이 높은 AWS 관리형 서비스입니다.
    • private 인스턴스가 외부의 인터넷과 통신하기 위한 경로
    • NAT Instance는 단일 EC2인스턴스 / NAT Gateway는 AWS에서 제공하는 서비스
    • NAT Gateway/Instance는 모두 서브넷 단위
      • Public Subnet에 있어야함.
  • Bastion Host
    외부에서 사설 네트워크에 접속할 수 있도록 경로를 확보해주는 서버 
    • private 인스턴스에 접근하기 위한 EC2 인스턴스
    • public 서브넷에 위치해야함.
  • VPC Endpoint

'CICD > AWS' 카테고리의 다른 글

[AWS] Amazon S3 기초  (0) 2024.07.25
[AWS] VPC 실습  (0) 2024.07.25
[AWS] 사설 IP, NAT, CIDR란  (0) 2024.07.25
[AWS] Elastic File System 개념 및 실습  (3) 2024.07.24
[AWS] Elastic Load Balancer(ELB) 개념 및 실습  (0) 2024.07.24

+ Recent posts