코드스테이츠/정리 블로깅
[Section 4] [Spring Security] 배포 자동화 - 1 [추후 정리]
제뉴어리맨
2022. 10. 7. 02:09
AWS에서 사용되는 개념
- IAM (Identity and Access Manager)
AWS에서 제공하는 리소스에 대하여 접근 권한을 계정, 그룹별로 지정 가능하게 해주는 서비스이다. - IAM과 권한 정책
IAM과 관련하여 권한 정책을 세울 수 있다.
그리고 그 정책은 AWS에서 다양한 형식으로 제공하고 커스텀으로 만들수도 있는듯 하다.
참조 : https://whchoi98.gitbook.io/aws-iam/iam-policy
IAM 정책(Policy)과 권한(Permission) - AWS IAM
명시적 거부가 있는 경우, 허용된 정책 권한이 있더라도 우선하게 됩니다. hawkeye는 EC2FullAccess 권한으로 Cloudwatch에 대한 권한을 가지고 있지만, 사용자에 인라인정책을 적용하여 명시적 접근 거
whchoi98.gitbook.io
- CodeCommit
AWS가 제공하는 서비스.
소스단계에서 사용된다.
Git과 비슷한 서비스이다. 다만 Private 한 Repository를 지원한다고 보면 된다.
보안측면에서 상대적으로 좋음.
즉, 저장소 역할. - CodeBuild
AWS가 제공하는 서비스.
Build 단계에서 사용되는 서비스
즉, 넘어 온 코드를 빌드, 테스트, 컴파일 같은것들을 수행하는 역할 - CodeDeploy
AWS가 제공하는 서비스.
배포 단계에서 사용되는 서비스
빌드된 결과물을 배포하는 기능을 수행. - CodePipeline
AWS가 제공하는 서비스.
Source 단계, Build 단계, Deploy 단계의 사이를 이어주는 역할을 하는 서비스이다.
예를들어, 소스단계에서 코드의 변화가 감지되면 빌드단계로 전달하는 기능을 한다. - CodeDeploy-Agent
CodeDeploy 에서 사용되는 소프트웨어. - appspec.yml 파일
CodeDeploy-Agent 가 인식하는 파일. - CodeBuild-Agent
CodeBuild 에서 사용되는 소프트웨어. - buildspec.yml 파일
CodeBuild-Agent가 인식하는 파일
참조 : https://memory-hub.tistory.com/17
출처 : https://choseongho93.tistory.com/263
배포 자동화 파이프라인
전체적인 흐름
Source 단계 -> Build 단계 -> Deploy 단계
- Source 단계
원격저장소의 코드가 변경이 될 경우에 감지하는 역할.
그리고 코드를 다음 단계로 전달. - Build 단계
이전 단계에서 넘겨받은 코드를 컴파일, 빌드, 테스트를 하여 결과물 (빌드 내용)을 생성함.
그리고 결과물을 다음 단계로 전달. - Deploy 단계
이전 단계에서 받은 결과물을 서비스에 반영 역할