https://docs.aws.amazon.com/ko_kr/glue/latest/dg/components-key-concepts.html

AWS Glue는 ETL 워크플로를 생성 및 관리할 수 있는 서비스이다

 

ETL이란 데이터를 Extract(추출) → Transform(변환) → Load(적재)하는 작업을 의미한다.

 

AWS Glue는 Crawler 정의를 통해 ETL 작업을 정의한다.

이때 필수 메타데이터에 대한 정의도 포함해서 ETL 작업 정의한다

 

AWS Glue는 Script 생성을 통해 Transform 및 Load 작업을 진행한다

Script는 시간 기반 스케줄 또는 이벤트 기반으로 진행되도록 할 수 있다.

Script는 Apache Spark 환경에서 실행된다.

 

AWS Glue는 데이터 재처리를 방지하기 위해 작업 북마크를 사용한다.

작업 북마크는 데이터의 작업 상태를 나타낸다.

 

AWS Glue는 ETL 작업을 실행하는 데 사용된 작업자 수에 따라 시간당 요금이 발생한다.

Glue를 시작하거나 종료하는데 소용된 시간에 대해선 과금하지 않는다

작업자란 데이터 처리 단위(DPU)를 의미한다.

택시 리터기 생각하면 될 것 같다. 택시는 거리에 따라 금액이 달라지지만, 시간대에 따라 거리당 금액이 달라진다.

마찬가지로 Glue도 ETL에 소요된 시간만큼 비용이 발생하지만 ETL에서의 데이터 처리하는 단위가 클수록 시간당 요금이 커지는 구조라 생각하면 되지 않을까 싶다.

 


출처

 

AWS Glue 개념 - AWS Glue

AWS Glue에 있는 테이블과 데이터베이스는 AWS Glue Data Catalog의 객체입니다. 이 객체들은 메타데이터를 포함하지만 데이터 스토어의 데이터는 포함하지 않습니다.

docs.aws.amazon.com

 

Kinesis Data Streams

https://aws.amazon.com/ko/kinesis/data-streams/

  • 대량 데이터 레코드 스트림 실시간 수집 및 처리
  • 샤드 수를 조절해서 스트림을 얼마나 받을지 조절 가능
  • 생산자가 데이터를 스트림에 넣음 → 소비자가 데이터 가져감
    • 그니깐 스트림은 임시 저장소? 같은 느낌

출처: https://docs.aws.amazon.com/ko_kr/streams/latest/dev/key-concepts.html / 이미지 기준으로 파란색 큰 원통이 스트림이고 그 속은 샤드라는 작은 원통으로 구성됨

  • 생산자
    • 데이터 생산자
    • 스트림에 갖다 넣는 애
    • 예) 웹 서버
  • 소비자
    • 데이터 소비자
    • 스트림에서 데이터 가져가는 애
    • Kinesis Data Streams 애플리케이션이라도 함
    • AWS 내 다른 서비스나 Kinesis Data Firehose도 소비자가 될 수 있음
  • 샤드
    • 데이터 레코드 시퀀스
    • 스트림은 1개 이상 샤드로 구성
    • 데이터 속도에 따른 샤드 개수 조절 가능
  • 보존기간
    • 스트림에 들어간 데이터 액세스 가능 시간
      • 기본은 24시간이고 24시간 초과 시 추가 요금 적용됨
      • 최대 365일 

Kinesis Firehose

https://aws.amazon.com/ko/kinesis/data-firehose/#:~:text=Amazon%20Kinesis%20Data%20Firehose%EB%8A%94,%EC%A0%81%EC%9E%AC(ETL)%20%EC%84%9C%EB%B9%84%EC%8A%A4%EC%9E%85%EB%8B%88%EB%8B%A4.

  • 데이터 레이크, 데이터 스토어, 분석 서비스에 전달하는 추출, 전환, 적재(ETL) 서비스
    • Amazon Simple Storage Service(Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk 등으로 보낼 수 있음
  • 전환 또는 데이터 변환 후 적재하는 경우 원본 데이터만 백업용으로 별도 저장소에 보낼 수도 있음
    • S3 적재 시, Transformed Data(Failed Data 포함)는 S3 A 버킷에, Source Data는 S3 B 버킷에 가능
  • 핵심은 "전달"

출처

 

 

Amazon Kinesis Data Streams 용어 및 개념 - Amazon Kinesis Data Streams

같은 스트림에 있는 데이터 세트의 인덱스로 시퀀스 번호를 사용할 수 없습니다. 데이터 세트를 논리적으로 분리하려면 파티션 키를 사용하거나 데이터 세트마다 별도의 스트림을 만드십시오.

docs.aws.amazon.com

 

Amazon Kinesis Data Firehose란? - Amazon Kinesis Data Firehose

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다. Amazon Kinesis Data Firehose란? Amazon Kinesis Data Firehose란 Amazon Simple Storage Service(Amaz

docs.aws.amazon.com

 

[AWS Kinesis] Data Stream vs. Data Firehose

AWS Kinesis 의 Data Stream 과 Data Firehose 의 차이점

jaeyeong951.medium.com

 

S3 버전관리

  • 동일 버킷 내에 여러개의 객체 변형을 보유하는 수단
  • 버킷 소융자를 포함해 승인받은 모든 사용자는 버전 관리 사용 가능
  • 버킷 내 모든 버전의 객체를 보존, 검색 및 복원 가능
  • 객체 복원 원리
    • 객체 삭제 시 S3에서 영구 제거하는 것이 아닌 해당 객체에 삭제 마커를 삽입하기에 복원 가능
    • 객체를 덮어쓴 경우 버킷에 새 객체 버전이 생기는 것이기에 복원 가능

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/versioning-workflows.html

  • 기본적으로 S3 버전관리는 미사용 상태
    • 버킷 버전관리 상태: 미사용(default), 사용, 일시 중지
    • "사용 → 미사용" 불가
    • "사용 → 일시중지" 가능
  • 버전관리 기능은 버킷 전체에 적용됨(일부 객체에만 적용 불가)이
  • 버전 사용 설정 후부턴 모든 객체에게 고유한 버전ID 부여
    → 수정될 때마다 고유한 버전 ID 부여됨
  • 수명 주기 관리와 연동 가능 → 일정 주기로 특정 버전만 옮기기 가능
  • 비용은 모든 버전에 대해 발생함
    • 1TB 객체 버전 3개 있다면, 총 3TB에 대해 비용 발생

MFA Delete

  • MFA란 Multi-Factor Authentication
  • S3 버전관리 사용 시 설정 가능
  • 버킷 소유자만 사용 설정 가능
  • MFA Delete 활성화 → 버킷 소융자가 버전 삭제 또는 버전관리 상태를 변경하는 경우 추가 인증 필수
    • 보안 자격 증명
    • 승인된 인증 디바이스에 표시된 유효한 일련번호, 공백, 6자리 코드 연결

S3 Object Lock

  • S3 버전관리 사용 시 설정 가능
  • write-once-read-many(WORM) 모델을 사용하여 객체 저장 가능
    → 특정 기한 또는 무기한 객체 삭제 또는 덮어쓰기 방지 가능
  • 객체 보관 방법 2종류: 보관 기간(Retention Mode), 법적 보존(Legal Hold)
    • 보관 기간(Retention Mode) : 일정 기간 WORM으로 보호받음
      • 규정 준수 모드: 루트 유저 포함 누구도 잠금 설정 및 삭제 불가
      • 거버넌스 모드: 권한있는 자만 삭제 혹은 잠금 설정 가능(이외 불가)
    • 법적 보존 (Legal Hold) : 만료날짜가 없고 명시적으로 제거할 때까지 유지됨
      • Hold라는 딱지가 붙어있으면 기한 없이 삭제/수정 불가

 

AWS-SAA_C03_V18.35_Q44

Mission

  • 중요 데이터가 포함된 S3 버킷
  • 데이터의 우발적 삭제 보호 조치 필요

Action

  • S3 버킷의 버전 관리 활성화
  • S3 버킷의 MFA 삭제 활성화

AWS-SAA_C03_V18.35_Q53

Mission

  • 회사는 S3에 회계 기록을 저장해야 함
    • 기록은 1년 동안 즉시 액세스 가능해야함
    • 그 후 추가로 9년 동안 보관해야함
  • 관리자를 포함해 어느 누구도 10년 동안 기록 삭제 불가
  • 기록은 최대한의 복원력으로 저장해야함

Action

  • S3 수명 주기 정책으로 1년은 S3 Standard에서, 이후 9년은 S3 Glacier Deep Archive로 전환
  • 10년 동안 S3 Object Lock 사용

출처

 

S3 버킷에서 버전 관리 사용 - Amazon Simple Storage Service

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

S3 버전 관리 작동 방식 - Amazon Simple Storage Service

버킷에서 버전 관리를 처음으로 활성화할 때 변경 사항이 완전히 전파되는 데 시간이 조금 걸릴 수 있습니다. 버전 관리를 활성화하고 나서 15분 정도 기다린 후, 버킷의 객체에 대해 쓰기 작업(P

docs.aws.amazon.com

 

S3 객체 잠금 사용 - Amazon Simple Storage Service

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

MFA Delete 구성 - Amazon Simple Storage Service

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

AWS의 네트워크 및 애플리케이션 보호 서비스

  • 호스트 수준의 보호와 조직 전반의 가시성 및 제어: Amazon VPC Security Group, AWS Firewall Mananger
  • 애플리케이션 수준 보호: AWS Shield, AWS WAF
  • 네트워크 수준 보호: AWS Network Firewall, AWS Shield, Network ACL, Amazon Route 53 Resolver DNS Firewall

AWS Network Firewall

Amazon Virtual Private Cloud(VPC)에 대한 필수 네트워크 보호 기능을 쉽게 배포할 수 있는 관리형 서비스
  • VPC로 오가는 트래픽 검사 및 필터링 솔루션
  • 고가용성 및 Auto Scaling
    • 네트워크 트래픽에 따라 자동으로 확장 가능(트래픽 부하에 따라 방화벽 용량을 자동으로 확장하거나 축소)
    • 모든 트래픽을 일관되게 검사 및 모니터링할 수 있도록 내장된 중복 기능 제공
    • 99.99%의 가동 시간을 약속
  • 중앙 관리
    • AWS Firewall Manager와 연동 가능
      • AWS Firewall Manager는 호스트 수준의 보호와 조직 전반의 가시성 및 제어 기능 제공
      • AWS Firewall Manager 규칙 기반으로 정책 구축한 후 해당 정책을 중앙에서 제어 가능(VPC 및 계정 전반에 적용하거나 계층적으로 제어 가능)

 


Network Access Control List (NACL)

  • Subnet 앞에 위치하여 Subnet 의 트래픽을 제어
    • 일종의 Subnet 검문소
  • NACL을 여러 Subnet 에 적용할 수 있으나, Subnet 은 1개의 NACL만 따를 수 있음
  • Inbound, Outbound 규칙으로 나뉨
  • NACL의 규칙목록은 Inbound, Outbound 각각 최대 20개 지정 가능
    • 규칙목록에서의 우선순위 설정 가능 → 최우선 규칙만 통과하면 됨
  • Allow 규칙, Deny 규칙 생성 가능
  • Stateless: Subnet 안으로 들어올 땐 Inbound 규칙, 나갈 땐 Outbound 규칙 따름

Security Group

  • Subnet 안에 위치하여 해당 Subnet 안에 있는 Instance 등 가상컴퓨터 트래픽 제어
    • 정확히는 VPC 내부 Elastic Network Interface(ENI)를 갖는 모든 서비스(아래부턴 편의상 Instance라 표현함)
  • Instance 단위로 설정 가능
    • 하나의 Instance에서 최대 5개 Security Group 동시 적용 가능 → 트래픽은 모든 Security Group 규칙 통과해야함
    • 각 Instance에 각기 다른 Security Group 할당 가능
  • Inbound, Outbound 규칙으로 나뉨
    • 기본적으로 Outbound 규칙은 허용
  • Allow 규칙만 생성 가능
  • Stateful: 들어올 때 통과한 놈은 나갈 때는 프리패스(Outbound 규칙과 상관없이 나갈 수 있음)

AWS_SAA-C03_18.36V_Q15

Situation

  • 최근에 AWS로 마이그레이션함
  • 과거 사내 데이터 센터에 검사 서버가 있었는데 트래픽 흐름 검사 및 트래픽 필터링과 같은 작업을 수행했었음

Mission

  • VPC로 들어오고 나가는 트래픽 보호 솔루션을 구현해야함
  • AWS 클라우드에서 동일 기능 제공하는 솔루션은?

Action

  •  AWS Network Firewall을 사용하여 VPC에 대한 트래픽 검사 및 트래픽 필터링에 필요한 규칙 생성

출처

 

AWS의 네트워크 및 애플리케이션 보호

AWS는 네트워크 및 애플리케이션 보안 팀에 특정한 보호 요구 사항 및 규정 준수 요구 사항을 해결하는 서비스를 제공합니다. AWS 네트워크 및 애플리케이션 보호 서비스는 호스트, 네트워크 및

aws.amazon.com

 

 

AWS Network Firewall 기능 – Amazon Web Services

 

aws.amazon.com

 

 

[AWS] 📚 VPC 개념 & 사용 - 보안 설정 [Security Group / NACL]

VPC 방화벽 [Security Group / NACL] 이번엔 VPC의 트래픽을 통제하고 제어하는 서비스들을 살펴보자. 이 서비스들은 흔히 특정 IP를 밴 한다거나 외국에서는 접속을 못하게 한다거나 등 이러한 방화벽

inpa.tistory.com

 

 

SQS란

일종의 "TODO LIST - 시스템ver." 이다.

서버들끼리 사용 가능한 메시지 큐를 제공하는 서비스이다.

비동기 메시징 서비스를 제공한다.


기본 아키텍처

https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-basic-architecture.html

분산 대기열 구조를 가지고 있다.

생산자가 메시지를 대기열로 보내면 대기열로 보내진 정보는 여러 SQS 서버에 해당 메시지를 중복 저장한다. 분산 저장한다는 의미이다.

대기열에 올라왔더라도 소비자가 바로 처리하는 건 아니고 처리할 준비가 되면 메시지를 수신하여 처리를 진행한다.

소비자가 대기열 메시지를 수신하면 Visibility timeout period가 시작되는데 일종의 타이머 같은 개념이다.

소비자가 메시지를 수신했더라도 대기열의 메시지는 삭제되지 않는다.

타이머가 종료되기 전에 소비자가 메시지 처리를 끝내면 그제야 대기열의 메시지도 삭제된다. 

그럼 대기열에 있는 다음 메시지 처리가 시작된다.


주요 구성요소

메시지

SQS의 기본 데이터 단위이다.

XML, JSON과 같은 텍스트 형태 데이터이고 최대 64KB까지 가능하다

 

대기열(큐)

메시지를 담는 공간이다.

메시지는 무제한 담아낼 수 있다

Region별로 생성할 수 있고 Region에 있는 큐 이름은 유일해야한다

연속 30일 동안 대기열(큐)에 아무런 요청이 없을 경우 AWS에서 해당 대기열(큐)를 삭제할 수 있다

대기열 종류는 표준 대기열과 FIFO 대기열이 있다.

  • 순서 상관 없을 경우, 표준대기열
  • 선입선출해야하는 경우, FIFO 대기열

AWS SAA-C03 V18.35 Q7

Situation

  • 회사로 들어오는 메시지 수집 응용 프로그램이 있음
  • 애플리케이션과 마이크로 서비스가 프로그램이 수집한 메시지를 빠르게 소비함
  • 메시지 수는 초당 100,000개로 갑자기 증가하기도 함

Mission

  • 솔루션을 분리하고 확장성을 높여야 함

Action

대기열에서 읽을 수 있도록 스프트웨어 업데이트

→ 들어오는 요청을 Amazon Simple Queue Service(SQS)에 라우팅 (SNS 주제에 메시지 게시)

→ 처리 인스턴스의 작업 요청 분리

→ 대기열의 크기에 따라 인스턴스 수를 확장할 수 있고 더 많은 리소스를 제공할 수도 있음

 


출처

 

Amazon SQS 기본 아키텍처 - Amazon Simple Queue Service

Amazon SQS는 최대 메시지 보존 기간 넘게 대기열에 유지된 메시지를 자동으로 삭제합니다. 기본 메시지 보존 기간은 4일입니다. 그러나 SetQueueAttributes 작업을 사용하면 메시지 보존 기간을 60초에

docs.aws.amazon.com

 

[AWS] SQS 란?

Amazon Simple Queue Service (Amazon SQS) 는 내구력 있고 가용성이 뛰어난 보안 호스팅 대기열을 제공하며 이를 통해 분산 소프트웨어 시스템과 구성 요소를 통합 및 분리할 수 있습니다. (https://docs.aws.amaz

velog.io

 

[AWS] SNS , SQS 란 ?

SNS , SQS

velog.io

 

 

VPC Endpoint란?

VPC 내부에 있는 Resource가 VPC 외부에 있는 서비스에 접근하기 위해선 Internet Gateway나 NAT Gateway 등 인터넷 연결이 필요하다. VPC Endpoint는 외부 인터넷 없이 내부 네트워크만으로 VPC 내부 Resource가 외부 서비스에 접근할 수 있도록 하는 서비스이다.

 

근데 외부 인터넷으로 연결하면 안되나?

해도 된다. 하지만 보안 상 문제가 발생할 수 있다.

외부 인터넷을 통해 공개적으로 통신하기에 트래픽이 노출될 우려가 있고 이는 보안 상 좋지 않기 떄문이다.

또한 VPC 외부로 나가는 트래픽에는 비용이 발생하기도 한다.


VPC Endpoint 종류: Interface Endpoint, Gateway Endpoint

  • Interface Endpoint
    • Elastic Network Interface를 통해 Private IP가 할당되는데 이 IP를 통해 Access하는 방식이다
    • PrivateLink에 대한 요금이 발생한다
    • Private Subnet 내부에 위치한다
    • SQS, SNS, Kenesis, Sagemaker 등 서비스 연결을 지원한다
    • VPC Peering 또는 AWS Transit Gateway를 통해 다른 Region에 Access를 허용할 수 있다
  • Gateway Endpoint
    • Route Table에서 경로 대상을 지정해 Endpoint에 Access하는 방식이다
    • VPC 내부에 위치하고, Private Subnet 외부에 위치한다
    • 통신 프로세스: EC2 → Route Table → Router → Gateway Endpoint → S3
    • S3, DynamoDB 등을 지원한다
    • 다른 Region에서의 Access는 허용하지 않는다

AWS_SAA-C03_V18.35_Q4

Situation

  • 애플리케이션이 VPC의 Amazon EC2 Instance에서 실행되고 있다
  • 애플리케이션이 S3 버킷에 저장된 로그를 처리한다

Mission

  • EC2 Instance는 인터넷 연결없이 S3 버킷에 액세스해야 한다
  • S3에 대한 Private Network 연결을 제공하는 솔루션은?

Action

VPC Gateway Endpoint

 


출처

 

[AWS] 📚 VPC 개념 & 사용 - 엔드포인트 [End Point]

VPC 엔드 포인트(End Point) VPC 엔드포인트는 VPC 내 Resource들이 VPC 외부의 서비스(S3, Dynamo DB, Cloudwatch) 등에 접근할 때 Internet Gateway, NAT Gateway 등의 외부 인터넷 전송 서비스를 타지 않고 내부 네트워

inpa.tistory.com

 

 

AWS VPC S3 endpoint gateway vs interface 차이 - BESPIN Tech Blog

1. AWS VPC endpoint 란? VPC 엔드포인트를 통해 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결이 필요 없이 Virtual Private Cloud(VPC)와 지원 서비스 간에 연결을 설정할 수 있습니다. 따

blog.bespinglobal.com

 

+ Recent posts