ssung_데이터 엔지니어링/6주차_AWS

AWS(3)

ssungcohol 2023. 11. 22. 19:04

IAM (Identity and Access Management)

  • Identity and Access Management (IAM)의 약자로 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스
  • IAM을 사용하여 리소스를 사용하도록 인증 (로그인) 및 권한 부여 (권한 있음)된 대상 제어
  • AWS 계정 생성 시 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인 ID로 시작
  • 해당 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인
  • 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장
  • 특징
    • AWS 계정에 대한 공유
    • 세분화된 권한
    • Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
    • 멀티 팩터 인증 (MFA)
    • ID 페더레이션
    • 보장을 위한 자격 증명 정보
    • PCI DSS 준수
    • 많은 AWS 서비스와의 통합
    • 최종 일관성
    • 무료 사용

S3 (Simple Storage Service)

  • 업계 최고의 확장성, 데이터 가용성, 보안 및 성늘을 제공하는 객체 스토리지 서비스
  • 모든 규모와 업종의 고객은 Amazon S3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호
  • 특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능 제공
  • 기능
    • 스토리지 클래스
    • 스토리지 관리
    • 액세스 관리
    • 데이터 처리
    • 스토리지 로깅 및 모니터링
    • 분석 및 인사이트
    • 강력한 일관성
  • S3를 사용하여 정적 웹 사이트 호스팅 가능
  • 정적 웹 사이트에서 개별 웹 페이지는 정적 콘텐츠를 포함 (클라이언트 측 스크립트를 포함 가능)
  • 대조적으로, 동적 웹 사이트는 PHP, JSP 또는 ASP.NET 등 서버 측 스크립트를 포함한 서버 측 처리에 의존
  • 버킷, 객체, 키로 구성
  • 버킷
     - S3에 저장된 객체에 대한 컨테이너
     - 모든 객체는 어떤 버킷에 포함
     - 쉽게 이해해서 윈도우의 폴더라고 생각하면 됌
  • 객체
     - S3에 저장되는 기본 객체
     - 객체는 객체 데이터와 메타데이터로 구성

  •  - 버킷 내 객체의 고유한 식별자
     - 버킷 내 모든 객체는 정확히 하나의 키를 가짐
     - 버킷, 키 및 버전 ID의 조합이 각 객체를 고유하게 식별하기 때문에 S3는 "버킷 + 키 + 버전"과 객체 자체 사이의 기본 데이터 맵으로 간주할 수 있음

CI / CD (Continuous Integration, Continuous Delivery or Deploy)

  • 지속적 통합 (CI)
    • 모든 개발자가 개발한 코드를 공유 리포지토리에 하루에도 여러번 코드를 커밋하고 병합하는 것
  • 지속적 전달 (CD)
    • 개발팀이 짧은 주기로 소프트웨어를 개발하고 언제든지 운영환경으로 안정적으로 배포하는 것


Code Build

  • AWS Code Build는 클라우드상의 완전관리형 빌드 서비스
  • 소스 코드를 컴파일하고 단위 테스트를 실행해 배포 준비가 완료된 아티팩트를 생성
  • 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없음
  • Apache Maven, Gradle 등과 같은 널리 사용되는 프로그래밍 언어 및 빌드 도구에 맞게 사전 패키지 된 빌드 환경 제공
  • 빌드 환경을 사용자가 지정하여 사용자 고유의 빌드 도구를 사용
  • 최대 빌드 요청 수에 맞게 자동으로 확장
  • 작동방식


Code Deploy

  • Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 자동 배포 서비스
  • 다양한 애플리케이션 콘텐츠를 거의 무제한으로 배포 가능
    • 코드, 서버리스 AWS Lambda 함수, 웹 및 구성 파일, Executables, 패키지, 스크립트, 멀티미디어 파일
  • 서버에서 실행되고 S3 버킷, Github 리포지토리 또는 Bitbucket 리포지토리에 저장되는 애플리케이션 콘텐츠를 배포가능
  • 서버리스 Lambda 함수 배포 가능
  • Code Deploy를 사용하기 위해 기존 코드를 변경할 필요가 없음

Code Pipeline

  • 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하는데 도움이 되는 완전관리형의 지속적 전달 서비스
  • 특징
    • 소프트웨어 릴리스 프로세스를 모델링하고, 서버를 설정하거나 프로비저닝할 필요성을 줄일 수 있음
    • Management Console 또는 command line interface (CLI)를 사용해 소프트웨어 릴리스 프로세스 단계를 정의 가능
    • 피드백을 반복하고 각 코드 변경을 테스트하여 버그를 포착하는 새로운 기능을 신속하게 릴리스 할 수 있음
    • 릴리스 프로세스의 모든 단계에서 자체 플러그 또는 사전 구축된 플러그인을 사용하여 필요에 맞춰 조정 가능
728x90

'ssung_데이터 엔지니어링 > 6주차_AWS' 카테고리의 다른 글

AWS(5)  (1) 2023.11.24
AWS(4)  (0) 2023.11.23
AWS(2)  (1) 2023.11.21
AWS(1)  (0) 2023.11.20