*스택 상호 연결(CloudFormation)

- export

- import

 

*스택 업데이트하기

- 중단 없이 업데이트

- 일부 중단으로 업데이트

- 교체

 

*변경 사항 세트(Change Sets)

- 스택에 대해 제안된 변경 사항을 미리 확인

 

*CloudFormation 스택 세트

- 단일 작업으로 복수 계정 및 리전의 스택을 생성, 업데이트 또는 삭제

 

*CloudFormation Helper 스크립트

- CLI 명령어

- cfn-init

- cfn-hup

- cfn-signal

- cfn-get-metadata

 

*스택 정책

*스택 정책을 통한 스택 리소스 보호

 

*DeletionPolicy

- 스택이 삭제될 때 리소스를 보존하거나 백업하는 속성

 

*스택 정책 활용

 

*Autoscaling ?

*MadLibs ?

*DBTier ?

*AppTier ?

 

*AWS Toolkit

 

*소스 코드 관리 옵션

- CodeCommit (관리가 필요 없음, 본질적으로 아키텍쳐의 가용성이 높음, 본질적으로 데이터의 내구성이 뛰어남)

- 자체 Git 리포지토리를 설정, 운영 및 관리

- GitHub 또는 BitBucket과 같은 호스팅 서비스 사용

 

*CodeCommit

- CLI 설치

- create-repository 명령

- 리포지토리 연결

- 엑세스 제어

 

*CodeCommit에 대한 액세스 제어

- AWSCodeCommitFullAccess

- PowerUser

- ReadOnly

- 자체 정책을 생성

 

*암호화 + AWS CodeCommit = 보안

 

*Git 리포지토리에서 AWS CodeCommit으로 마이그레이션

 

*빌드

*마스터 분기

 

https://ujuc.github.io/2015/12/16/git-flow-github-flow-gitlab-flow/

 

Git flow, GitHub flow, GitLab flow

Git flow, GitHub flow, GitLab flow 에대해서 좀 알아보자. 머리아프다.

ujuc.github.io

 

* Production branch with GitLab flow

 

*Git 후크 사용

- 후크는 이벤트 기반

- 특정 git 명령이 이벤트 전 스크립트 실행을 트리거

- 스타일 가이드 준수, 코드 건전성 검사

- 클라이언트 측 후크

- 커밋 주체의 컴퓨터 상에서 호출

- 서버측 후크 : 푸시 수신 시 서버에서 검사 수행

 

*풀 요청

- 협력을 통해 한 브랜치에서 다른 브랜치로의 코드 변경을 검토 및 병합

- 작업 브랜치와 대상 브랜치 사이의 비교를 확인

- 주석을 반영하여 풀 요청을 업데이트

- 리포지토리 알림은 새로운 풀 요청을 알릴 수 있음

 

*지속적 통합 자동화

- 서버 측 후크와 CI 서버를 함께 사용하여 저항을 최소화하고 통합 속도를 높인다.

 

*CI서버의 확장성 문제

- Jenkins를 CI 서버로 사용하는 것이 좋은 방안이지만

- 다음을 책임져야 한다.

- Jenkins 클러스터 설정

- 클러스터 보안 유지

 

*CodeBuild 기반 확장형 CI 솔루션

 

*CI

- Continuous Integration

 

*빌드를 어떻게 계획?

- 소스 코드 위치 식별

 

*빌드 사양 YAML 파일 생성

- 빌드 단계에서 사용되는 변수

- 각 빌드의 단계

- 빌드 명령어

- 빌드 후 명령

- Amazon S3 버킷에 아티팩트 출력

 

*빌드 보안

- 빌드 리소스에 액세스하려면 권한 필요

- AWS CodeBuild 전용 AWS 관리형 정책

 

*CI서버로서 Jenkins 사용

- Jenkins 보안 취약

- Jenkins는 외부에 노출시키지 않도록 해야한다.

 

*Active Directory

 

*Jenkins CI 서버 자동 조정

- 과부하가 발생할 경우 Jenkins 마스터가 빌드를 슬레이브 노드로 전가

- Jenkins 마스터에 EC2 플러그인이 설치되어 있는 경우, 마스터가 새 EC2 인스턴스를 자동으로 시작하고 이를 Jenkins 슬레이브로 연결

- 로드가 줄어들면 Jenkins 마스터가 자동으로 추가 슬레이브 인스턴스를 종료

 

https://ec2spotworkshops.com/

 

EC2 Spot Workshops

In this workshop you will assume the role of a data engineer, tasked with cost optimizing the organization’s costs for running Spark applications, using Amazon EMR and EC2 Spot Instances.

ec2spotworkshops.com

 

*CodeDeploy를 통한 배포

- AppSpec 구성파일

- CodeDeploy 배포 그룹

 

*배포 구성

- one at time

- half at time

- all at once

 

*AppSpec 파일

- windows 및 linux 지원

 

*수명 주기 이벤트

- 제어 권한이 있는 이벤트

- 제어 권한이 없는 이벤트

 

*후크와 인스턴스 상태 통합

- 로드 밸런서

- Auto Scaling 그룹

 

*CodeDeploy 액세스 관리

 

*트리거를 사용한 배포 모니터링

 

*Beanstalk

 

*SSH

https://www.google.com/search?q=ssh+%EB%9E%80&rlz=1C1SQJL_koKR786KR786&oq=ssh+%EB%9E%80&aqs=chrome..69i57j0l4.2565j0j7&sourceid=chrome&ie=UTF-8

 

ssh 란 - Google 검색

2019. 8. 2. · ssh란? ssh 는 secure shell의 약자이며, 보안이 강화된 telnet(원격접속)이라고 생각하면 이해가 쉽습니다. 서버와 클라이언트 사이에서 데이터를 ...

www.google.com

 

*DNS

 

https://www.google.com/search?rlz=1C1SQJL_koKR786KR786&sxsrf=ACYBGNSH8POFTu1IWsFAbx62QFg9tRYbRQ%3A1581575737611&ei=Oe5EXoL_JJnVmAWF3qXQBQ&q=dns+%EB%9E%80&oq=dns+%EB%9E%80&gs_l=psy-ab.3..0j0i7i30l9.92846.95089..95295...2.2..0.115.836.2j6......0....1..gws-wiz.......0i71j0i7i10i30j0i131j0i10.dRqCg6Km3NA&ved=0ahUKEwjC_5ng9M3nAhWZKqYKHQVvCVoQ4dUDCAs&uact=5

 

dns 란 - Google 검색

2019. 1. 5. · DNS(Domain Name Service)란? 사람은 여러 가지 방법으로 자신을 식별할 수 있다. 예를 들어, 출생증명서에 나타나는 이름, 주민등록번호, 운전 ...

www.google.com

 

*stack

 

https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html

 

https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/cfn-whatis-concepts.html

AWS CloudFormation 개념

docs.aws.amazon.com

*php 언어

- eb create

- eb deploy

- eb terminate

 

*Beanstalk

- 코드 배포, 인프라 프로비저닝 및 관리 걱정 해소

 

https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/Welcome.html

 

https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/Welcome.html

AWS Elastic Beanstalk란 무엇입니까?

docs.aws.amazon.com

 

*Elastic Beanstalk

 

*환경 생성

*환경 구성 우선순위

*EB CLI를 통한 애플리케이션 배포

*지원되는 배포 옵션

 

*CodePipeline

- 지속적 전달 (수동 승인 기능도 있음)

 

*CodePipeline 핵심 개념

 

*CodePipeline 작업

*3단계 파이프라인

*병렬

*순차

*수동 승인

*IaC 방식

*파이프라인에서 Lambda 사용

 

*SAM을 통한 서버리스 애플리케이션 배포

*서버리스 애플리케이션 리포지토리

*파이프라인에서 다른 계정의 리소스 사용

*교차 리전/교차 계정 파이프라인 생성

*파이프라인에서의 아티팩트 암호화

- SSE를 S3 관리형 키와 함께 사용하여 암호화

 

*파이프라인과 Jenkins 통합

*CI/CD 파이프라인을 설계할 때 고려 사항

 

*전달 및 배포의 패턴과 안티 패턴

 

*AWS CodeStar 

*CodeStar 대시보드

- 백로그

- 팀 wiki

 

*CodeStar 프로젝트 팀

 

*CloudCraft

반응형

'스타트업 > AWS' 카테고리의 다른 글

[AWS] 마이크로 서비스  (0) 2020.02.18
[AWS] DevOps #4  (0) 2020.02.14
[AWS] DevOps #2  (0) 2020.02.13
[AWS] DevOps  (0) 2020.02.12
[AWS] Amazon Elastic File System(EFS)  (0) 2020.01.08

+ Recent posts