본문 바로가기
AWS/aws 서비스 사용해보기

책 : 서비스 운영이 쉬워지는 aws 인프라 구축 가이드 _ 2

by dudung__ 2023. 10. 13.

배포 자동화 code deploy -> 이거 IAM이 중요하다는데?
     identity and access management

이게 중요한 이유가 codedeploy + 특정한 역할을 가진 서비스 
=> 각자 권한과 역할을 할당 받아야하기 때문에 

애플리케이션 아티팩트는 테이블 정의 및 스크립트부터 UI 레이아웃 및 참조 데이터까지 모든 것입니다. => 애플리케이션 파일 

IAM => 
역할
:
사용 객체가 사용자가 아닌, 서비스 or 다른 aws계정의 사용자가 주로 사용함 
=> 보통 사용자보다는 특정 서비스 -> 생성한 객체에 권한을 부여 하는데 사용


권한 => 정책(권한들의 모음)

정책 => 사용자/그룹에 부여 + ==> 역할을 생성

역할 ---> 서비스 / 다른 계정 사용자에게 부여 


예를들어서)

ec2 서버 => 다양한 애플리케이션을 사용하려함 

=> 키를 인스턴스에 저장 하기도 함 => 복잡 / 귀찮

====> 관련 애플리케이션에 관련된 권한을 담을 정책 => 역할 생성
====> 역할 -> ec2 서버(인스턴스)에 부여/지정 


인스턴스 프로파일 => 인스턴스를 구분하고 인스턴스에 권한을 주기 위한 개념
역할을 위한 컨테이너 => 시작시 역할 정보 받아옴 
=> 역할에서 필요한 권한을 얻음 
=> 역할 생성시 ec2 인스턴스용으로 생성하면 자동생성됨




code deploy
: 배포 자동화 서비스 => 어떤 일에대한 진행 스크립트를 짜면 -> 그대로 실행 
=> 현재 위치 | 블루 - 그린 배포를 모두 지원
lambda, ec2에 배포하는 경우 무료로 사용할 수 있음(이번년도 6월까지는 지금은 모름)


전제
인스턴스 내에 code deploy agent설치 / 코드 저장소에 app~.yml 파일 업로드

---
code deploy에 배포요청 => 인스턴스 내에 agent에게 배포하라고 요청 
=> agent는 코드 저장소에서 코드를 다운 => AppSpec.yml에 적힌대로 배포

agent 
: code deploy와 통신을 계속 진행 -> 요청 받으면 동작
=> 성공 / 실패에 대한 결과를 code deploy에 알림


AppSpec.yml
: agent가 배포 명령을 받았을 때 어떻게 배포를 진행할지 적어둔 파일
==> 여기다가 배포에 곤련된 스크립트를 짜두는거지 ㅇㅇ 



각 단계에서 
exit code = 0 or not     ==> 성공

or

other => 실패했다고 판단 => 배포중지