TIL-220110

EBinY·2022년 1월 10일
0

TIL - Today I Learned

목록 보기
46/54

배포 자동화(Automated Deployment)

  • 배포 자동화: 배포 과정을 자동으로 진행하는 것
    • 수동적이고 반복적인 배포 과정을 자동화함으로써 시간을 절약
    • 휴먼 에러(Human Error)를 방지, 사람이 수동 배포를 진행하던 중 생기는 실수
  • 배포 자동화 파이프라인
    • 파이프라인: 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조
    • 배포 과정을 여러 단계로 분리, 파이프라인에서 순차적으로 실행, 단계마다 주어진 작업을 실행
    • 대표적으로 쓰이는 3단계
      • Source stage: 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우, 이를 감지하고 다음 단계로 전달
      • Build stage: Source stage에서 전달받은 코드를 컴파일, 빌드, 테스트하여 가공하고 다음 단계로 전달
      • Deploy stage: Build stage에서 전달받은 결과물을 실제 서비스에 반영
    • 파이프라인의 단계는 상황과 필요에 따라 더 세분화 또는 간소화 될 수 있음

  • AWS 개발자 도구

  • CodeCommit

    • Source stage를 구성할 때 사용, GitHub과 유사한 서비스를 제공하는 버전 관리 도구
    • GitHub에 비하여 보안에 강점, 과금 우려
    • 사이드 프로젝트나 가벼운 소스 코드는 GitHub을 이용하는 것이 효과적
  • CodeBuild

    • Build stage에서 사용
    • 유닛 테스트, 컴파일, 빌드 등의 작업을 명령어를 통해 실행할 수 있음
  • CodeDeploy

    • Deploy stage에서 사용
    • 실행되고 있는 서버 애플리케이션에 실시간으로 변경 사항 전달 가능
    • S3 버킷을 통해 업로드 된 정적 웹 사이트에 변경 사항을 실시간을 전달, 반영이 가능
  • CodePipeline

    • 각 단계를 연결하는 파이프라인을 구축할 때 사용

CI/CD

Client Deployment Pipeline

  • Pipeline 구축
  • 빌드 로그 파일 확인

Server Deployment Pipeline

  • EC2 인스턴스에 태그와 역할 부여
  • EC2를 활용한 파이프라인 구축

환경 변수 설정

  • 클라이언트 환경 변수 설정
  • 서버 환경 변수 설정

IAM

  • IAM 서비스 이용 모범 사례는?
    • 정답은 'A. 루트 사용자 계정을 사용하지 않는다.' 입니다.
      일상 및 관리 작업에는 권한이 있는 IAM User 계정을 사용하는 것이 바람직합니다.
    • B. 실제 사용자 한 명을 위해 여러 user를 생성하는 것은 바람직하지 않습니다. 하나의 user 계정을 정확하게 설정하는 것이 좋습니다.
    • C. 자격 증명을 공유하는 것은 바람직하지 않습니다.
    • D. MFA(Multi-Factor Authentication)란 사용자 이름 및 암호 위에 추가 보호 계층을 추가하는 서비스입니다. 보안을 위해 활성화하는 것이 바람직합니다.
  • IAM Role에 대한 정의로 가장 올바른 것은?

0개의 댓글