[TIL] 가장 많이 사용되는 AWS 클라우드에 대해 실습 중심으로 학습 (3)

이원진·2023년 5월 17일
0

데브코스

목록 보기
28/54
post-thumbnail

학습내용


  1. AWS Identity and Access Management(IAM)

  2. AWS Simple Storage Service(S3)

  3. CI/CD

1. AWS Identity and Access Management(IAM)


  • AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹서비스

  • AWS 계정 생성 시 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인 ID로 시작

    • 이 자격 증명을 AWS 계정 루트 사용자라고 함

    • 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장

  • 특징

    • AWS 계정에 대한 공유

    • 세분화된 권한

    • EC2에서 실행되는 어플리케이션을 위한 보안 AWS 리소스 액세스

    • 멀티 팩터 인증(MFA)

    • ID 페더레이션

    • 보장을 위한 자격 증명 정보

    • PCI DSS 준수

    • 많은 AWS 서비스와의 통합

    • 최종 일관성

    • 무료 사용

  • 정책

    • 사용자, 사용자 그룹, 역할 별로 정책 부여 가능

    • 사용자에 대한 정책 추가 후 액세스 키 ID, 비밀 액세스 키, 비밀번호를 반드시 복사해서 저장해둬야 함

    • 초기에 서비스 사용이 불가능하다면 IAM에서 정책이 포함되었는지 확인


2. AWS Simple Storage Service(S3)


  • 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스

  • 데이터레이크, 웹사이트, 모바일 어플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 어플리케이션, IoT 디바이스, 빅데이터 분석 등 다양한 사례에서 원하는 양의 데이터를 저장하고 보호 가능

  • 특정 비즈니스, 조직 및 규정 준수 요구사항에 맞게 데이터에 대한 액세스 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공

  • 주요 기능

    • 스토리지 클래스

    • 스토리지 관리

    • 액세스 관리

    • 데이터 처리

    • 스토리지 로깅 및 모니터링

    • 분석 및 인사이트

    • 강력한 일관성

  • 정적 웹사이트 호스팅

    • 정적 웹사이트에서 개별 웹페이지는 정적 콘텐츠를 포함

    • 클라이언트 측 스크립트도 포함 가능

    • 이와 대조적으로, 동적 웹사이트는 PHP, JSP 또는 ASP.NET 등 서버 측 스크립트를 포함한 서버 측 처리에 의존

    • 구성


3. CI/CD


  • 지속적 통합(CI: Continuous Integration)

    • 프로젝트에 참여하는 개발자가 공유 리포지토리에 코드를 지속적으로 커밋하고 병합하는 것

  • 지속적 배포(CD: Continuous Deployment)

    • 개발자가 짧은 주기로 소프트웨어를 개발하고 안정적인 상태로 지속적으로 배포하는 것

  • AWS CodeCommit

    • 클라우드에서 문서, 소스코드 등의 자산을 비공개로 저장하여 관리하는 데 사용할 수 있도록 AWS 서비스에서 호스팅되는 버전 관리 서비스

    • AWS에서 제공하는 Git과 같은 서비스

  • AWS CodeBuild

    • 클라우드 상의 완전 관리형 빌드 서비스

    • 소스코드를 컴파일하고 단위 테스트를 실행하며, 배포 준비가 완료된 아티팩트 생성

    • 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없음

    • Apache Maven, Gradle 등과 같은 널리 사용되는 프로그래밍 언어 및 빌드툴에 맞게 사전 패키징된 빌드 환경 제공

    • 사용자 고유의 빌드 도구 제공

    • 최대 빌드 요청 수에 맞게 자동으로 확장

  • AWS CodeDeploy

    • EC2 인스턴스, 온프레미스 인스턴스 혹은 서버리스 Lambda 서비스로 어플리케이션 배포를 자동화하는 서비스

    • 코드, 웹 구성 파일, Executables, 패키지, 스크립트, 멀티미디어 파일 등을 포함해 다양한 어플리케이션 콘텐츠를 무제한에 가깝게 배포 가능

    • 배포하기 위해 기존 코드를 변경할 필요 없음

    • 서버에서 실행되며, S3 버킷, Github 혹은 Bitbucket 리포지토리에 저장되는 어플리케이션 콘텐츠 배포 가능

  • AWS CodePipeline

    • 빠르고 안정적인 어플리케이션 및 인프라 업데이트를 위해 릴리즈 파이프라인을 자동화하는 데 도움이 되는 완전 관리형 CD 서비스

    • 소프트웨어 릴리즈 프로세스를 모델링하고, 서버를 설정하거나 프로비저닝할 필요성을 줄일 수 있음

    • AWS Management Console 혹은 AWS CLI를 사용해 소프트웨어 릴리즈 프로세스 정의 가능

    • 피드백을 반복하고 각 코드 변경을 테스트하여 버그를 포착하는 새로운 기능을 신속하게 릴리즈 가능

    • 릴리즈 프로세스의 모든 단계에서 플러그인을 사용해 필요에 맞게 조정 가능


메모



0개의 댓글