[데이터 엔지니어링 데브코스 2기] TIL-7주차-파트04 AWS 클라우드(3)

이재호·2023년 11월 22일
0

1. IAM

  • IAM(Identify and Access Management)는 AWS 리소스에 대한 엑세스를 안전하게 제어할 수 있는 웹 서비스입니다.

  • IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여된 대상을 제어합니다.

  • AWS 계정을 생성할 때는 해당 계정의 모든 AWS 서비스 및 리소스에 대한 엑세스 권한이 있는 단일 로그인 ID로 시작합니다. 해당 자격 증명을 AWS 루트 사용자라고 합니다.

  • 일상적인 작업에 루트 사용자를 사용하지 않도록 주의해야 합니다.

  • 주요 특징:

    • AWS 계정에 대한 공유 액세스 권한 부여 가능.
    • 세분화된 권한. 리소스(EC2, RDS, ..)에 따라 여러 사람에게 다양한(읽기, 쓰기, ..) 권한 부여 가능.
    • EC2 인스턴스에 대해서 자격 증명을 안전하게 제공 가능.
    • 멀티 팩터 인증(MFA) 가능. 보안 강화를 위해 투 팩터 이상의 인증 방식을 적용할 수 있음.
    • ID 패더레이션. AWS 계정에 임시 액세스 권한 부여 가능("sts 명령어").
    • 보장을 위한 자격 증명 정보. IAM 자격 증명에 기반하여 제공.
    • PCI DSS 준수. 신용카드 등에 사용되는 국제 표준.
    • 많은 AWS 서비스와 통합 가능.
    • 최종 일관성 제공.
    • 무료 사용 가능.

IAM 정책 우선 순위는 다음과 같습니다.
1. 사용자에게 정책(권한)이 부여되어 있는지 확인.
2. 사용자가 속한 그룹에 정책(권한)이 부여되어 있는지 확인.
3. 사용자에게 위임된 역할에 정책(권한)이 부여되어 있는지 확인.




2. S3

  • S3는 객체 스토리지 서비스입니다.

  • 데이터 레이크, 웹 사이트, 모바일 앱, 아카이브 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있습니다.

  • S3는 데이터에 대한 액세스를 최적화 및 구조화, 구성할 수 있는 관리 기능을 제공합니다.

  • 주요 기능:

    • 스토리지 클래스
    • 스토리지 관리
    • 액세스 관리
    • 데이터 처리
    • 스토리지 로깅 및 모니터링
    • 분석 및 인사이트
    • 강력한 일관성
      • 정적 웹 사이트 호스팅
  • 주요 개념:
    • 버킷 : 저장된 객체에 대한 컨테이너. 모든 객체는 버킷에 포함되며, 윈도우의 디렉토리 개념과 유사하다.
    • 객체 : 객체는 객체 데이터와 메타데이터로 구성된다.
    • : 버킷 내 객체의 고유한 식별자. key : "버킷 + 키 + 버전"의 고유한 ID.



3. CI / CD

  • 자동적으로 빌드하고 배포하는 과정.

  • CI (Continuous Integration) : 코드를 커밋하고 병합하는 과정.

  • CD (Continuous Delivery) : 소프트웨어를 배포하는 과정.

  • CodeCommit -> CodePipeline -> CodeBuild, SNS, CodeDeploy -> Staging, Production

  • CodeCommit : 소스 등의 파일을 관리하는 버전 관리 서비스. github과 매우 유사.

  • CodeBuild : 클라우드 상의 완전 관리형 빌드 서비스. 코드를 빌드하고 테스트하는 과정이 수행됨. 코드가 올라오면 자동적으로 빌드하고, 배포쪽으로 연결을 해 줌.

  • CodeDeploy : 앱의 배포를 자동화하는 배포 서비스. CodeBuild에서 빌드된 것을 배포함.

  • CodePipeline : CI / CD 전 과정을 자동화하는 서비스. 소스-빌드-테스트-스테이징-배포.




4. 종합 실습

  1. 백엔드 모듈 생성.
  2. Elastic Beanstalk 생성.
  3. S3 생성.
  4. React 생성.
  5. RDS 생성.
  6. VPC 생성.
  7. 도메인 생성.
  8. SSL 생성.
  9. CI/CD 생성.

  • github 프로젝트에 소스 코드 저장.
  • VPC 생성. "프로젝트명-vpc"
  • Beanstalk 생성. 앱 이름: "프로젝트명-app", 환경 이름: "프로젝트명-env". vpc 관련 인스턴스 설정 및 db 관련 설정.
profile
천천히, 그리고 꾸준히.

1개의 댓글

comment-user-thumbnail
2023년 11월 22일

안녕하세요 :) 국비지원 부트캠프 엘리스트랙입니다! 오늘도 개발 공부 열심히 하고 계시군요! 멋지십니다 :)
혹시 신입으로 개발 공부하면서 기술면접에 대한 대비가 막막하시다면, 이번 기술면접 특강도 관심 가져보시면 좋을 것 같아 댓글로 행사 안내드려요~

프론트/ 백엔드 모두 실력있고, 실제 면접관으로 활동하고 계신 개발자 코치님께서 진행하시니 참여해 보세요> https://festa.io/events/4389

그럼 오늘도 화이팅입니다!🙇🏻‍♀️💪🏻

답글 달기