*AWS Config

- Config를 사용하여 자동화된 AWS IAM 정책 테스트 구축 및 실행하기

- Lambda 함수와 Python 스크립트를 사용하여 IAM 정책을 검사하여 비준수 정책을 찾는다.

 

*현재 위치(In-place) 배포

- 신속한 배포

- 저렴한 비용

 

*단계적 배포

- 무중단 업데이트 가능

 

*블루/그린 배포

- DNS 전환

- 현재 환경 : 블루

- 새 환경 : 그린

 

*EC2 Auto Scaling을 통한 블루/그린 배포

- Amazon 탄력적 로드 밸런서가 환경 경계 밖에 위치

- 제로 다운타임

- 사용자 정의 가능한 배포 시간

- 쉬운 롤백

- 다양한 도구들과 / 옵션 가능

 

*레드/블랙 배포 (새로운 시스템으로 전환)

 

*배포 전략 선택 시 비용 고려 사항

- 배포를 선택할 때는 비용을 고려해야 함

 

*배포 도구 요약

- AWS CloudFormation + 다른 것

- docker

- CodeDeploy

- OpsWorks

- Elastic Beanstalk

 

*CI/CD용 AWS 개발자 도구

- 코드(CodeCommit) -> 빌드(CodeBuild) -> 테스트(CodeBuild) -> 배포(CodeDeploy)

- 전체 단계 : CodePipeline

 

*호스팅된 소스 리포지토리

- Github

- Bitbucket

- Sourceforge

- Launchpad

 

*CodeCommit을 사용해야 하는 이유

- 싸다

- 저장 데이터 암호화

- S3를 사용해서 높은 내구성

 

*CI도구와 관련된 문제점

- 긴 빌드 시간

- 방대한 빌드 볼륨

- 종속성을 수반하는 복잡한 빌드

- 확장성 부재

- 개발자/QA 대기 시간

 

*AWS의 문제 해결 방식

- Spot Instance를 사용

- 자동 규모 조정으로 피크 빌드 요청 충족

 

*CodeDeploy로 할 수 있는 추가 조치

- 배포 다운타임을 단축

- IAM을 통한 CodeDeploy 액세스를 제한하고 제어

- 복수의 배포 전략 지원

 

*CodePipeline 이점

- 구성 가능한 워크플로우

- 손쉬운 통합

- 품질 향상

- 빠른 전달

- 빠르게 시작하기

 

*CodeStar

- PM 툴

 

*Cloud9

- 웹에서 사용하는 IDE

 

*코드형 인프라

- 인프라 생성, 업데이트 또는 삭제 프로세스를 자동화하는 방법

- 사용하는 이유 : 한마디로 자동화

- 비용 절감, 복수 환경 생성, 복수 고객에 대해 동일한 환경 생성

- 애플리케이션 소스 코드처럼 버전을 지정하여  관리할 수 있음

- 반복적으로 그리고 안정적으로 생성, 종료 및 재생성할 수 있음

- 최신 버전 애플리케이션을 테스트하기 위해 필요에 따라 인프라를 생성할 수 있음

 

*CloudFormation과 DevOps

 

*CloudFormation 템플릿의 구조

- 포맷 버전

- 설명

- 파라미터 : 템플릿에 대한 입력값

- 매핑 : region 정보

- 조건 : 특정 리소스가 생성되거나 업데이트되는 경우 가능

- 리소스 : 생성할 AWS 자원

- 출력 : 템플릿이 생성하는 사용자 지정 리소스 값

 

*CloudFormation 주요 기능

- Depends on : 누굴 먼저 켜야 하는지

- CreationPolicy : 특정 리소스를 "Create Complete" 로 표시하기 전에 CloudFormation 이 신호를 대기하는 시간을 정의

- UpdatePolicy : 변경 사항을 EC2 Auto Scaling 시작 구성에 적용할 때 리소스가 대체되는 방식을 정의

- DeletePolicy

 

*서버리스 컴퓨팅

- 서버리스는 운영상의 책임을 AWS로 전환하여 민첩성과 혁신을 높일 수 있도록 하는 클라우드의 네이티브 아키텍처입니다. 서버리스를 사용하면 서버를 고려하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다. 서버 또는 클러스터 프로비저닝, 패치 적용, 운영 체제 유지 관리 및 용량 프로비저닝과 같은 인프라 관리 작업을 덜어냅니다. 거의 모든 유형의 애플리케이션 또는 백엔드 서비스를 서버리스로 구축할 수 있으며, 애플리케이션을 고가용성으로 실행하고 확장하는 데 필요한 모든 사항이 자동으로 처리됩니다.

- 서버리스를 통해 증가된 민첩성과 낮은 총 소유 비용을 통해 최신 애플리케이션을 빌드할 수 있습니다. 서버리스 애플리케이션을 빌드한다는 것은 개발자가 클라우드나 온프레미스의 서버 또는 런타임 관리와 운영에 대해 걱정하기보다는 핵심 제품에 집중할 수 있다는 뜻입니다. 이렇게 오버헤드가 줄어들면 개발자가 시간과 에너지를 확장 가능하고 안정적인 훌륭한 제품을 개발하는 데 사용할 수 있습니다.

 

*CloudFormation 병렬성

 

*CreationPolicy 속성

 

*사용자 정의 리소스

 

*사용자 정의 리소스 워크플로

 

*사용자 지정 리소스 Create 요청

 

*AWS Config

- Config를 사용하여 자동화된 AWS IAM 정책 테스트 구축 및 실행하기 

- Lambda 함수와 Python 스크립트를 사용하여 IAM 정책을 검사하여 비준수 정책을 찾는다.

 

*현재 위치(In-place) 배포

- 신속한 배포 

- 저렴한 비용

 

*단계적 배포 

- 무중단 업데이트 가능

 

*블루/그린 배포

- DNS 전환

- 현재 환경 : 블루

- 새 환경 : 그린

 

*EC2 Auto Scaling을 통한 블루/그린 배포 

- Amazon 탄력적 로드 밸런서가 환경 경계 밖에 위치

- 제로 다운타임

- 사용자 정의 가능한 배포 시간 

- 쉬운 롤백

- 다양한 도구들과 / 옵션 가능

 

*레드/블랙 배포 (새로운 시스템으로 전환)

 

*배포 전략 선택 시 비용 고려 사항 

- 배포를 선택할 때는 비용을 고려해야 함

 

*배포 도구 요약 

- AWS CloudFormation + 다른 것

- docker 

- CodeDeploy

- OpsWorks

- Elastic Beanstalk

 

*CI/CD용 AWS 개발자 도구 

- 코드(CodeCommit) -> 빌드(CodeBuild) -> 테스트(CodeBuild) -> 배포(CodeDeploy)

- 전체 단계 : CodePipeline

 

*호스팅된 소스 리포지토리 

- Github

- Bitbucket

- Sourceforge

- Launchpad

 

*CodeCommit을 사용해야 하는 이유 

- 싸다

- 저장 데이터 암호화

- S3를 사용해서 높은 내구성

 

*CI도구와 관련된 문제점 

- 긴 빌드 시간

- 방대한 빌드 볼륨

- 종속성을 수반하는 복잡한 빌드 

- 확장성 부재

- 개발자/QA 대기 시간

 

*AWS의 문제 해결 방식

- Spot Instance를 사용

- 자동 규모 조정으로 피크 빌드 요청 충족

 

*CodeDeploy로 할 수 있는 추가 조치 

- 배포 다운타임을 단축

- IAM을 통한 CodeDeploy 액세스를 제한하고 제어

- 복수의 배포 전략 지원

 

*CodePipeline 이점 

- 구성 가능한 워크플로우

- 손쉬운 통합

- 품질 향상

- 빠른 전달

- 빠르게 시작하기 

 

*CodeStar

- PM 툴

 

*Cloud9

- 웹에서 사용하는 IDE

 

*코드형 인프라

- 인프라 생성, 업데이트 또는 삭제 프로세스를 자동화하는 방법

- 사용하는 이유 : 한마디로 자동화

- 비용 절감, 복수 환경 생성, 복수 고객에 대해 동일한 환경 생성

- 애플리케이션 소스 코드처럼 버전을 지정하여 관리할 수 있음

- 반복적으로 그리고 안정적으로 생성, 종료 및 재생성할 수 있음 

- 최신 버전 애플리케이션을 테스트하기 위해 필요에 따라 인프라를 생성할 수 있음

 

*CloudFormation과 DevOps

 

*CloudFormation 템플릿의 구조

- 포맷 버전

- 설명

- 파라미터 : 템플릿에 대한 입력값

- 매핑 : region 정보 

- 조건 : 특정 리소스가 생성되거나 업데이트되는 경우 가능

- 리소스 : 생성할 AWS 자원

- 출력 : 템플릿이 생성하는 사용자 지정 리소스 값

 

*CloudFormation 주요 기능

- Depends on : 누굴 먼저 켜야 하는지

- CreationPolicy : 특정 리소스를 "Create Complete" 로 표시하기 전에 CloudFormation 이 신호를 대기하는 시간을 정의

- UpdatePolicy : 변경 사항을 EC2 Auto Scaling 시작 구성에 적용할 때 리소스가 대체되는 방식을 정의

- DeletePolicy

 

*서버리스 컴퓨팅

- 서버리스는 운영상의 책임을 AWS로 전환하여 민첩성과 혁신을 높일 수 있도록 하는 클라우드의 네이티브 아키텍처입니다. 서버리스를 사용하면 서버를 고려하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다. 서버 또는 클러스터 프로비저닝, 패치 적용, 운영 체제 유지 관리 및 용량 프로비저닝과 같은 인프라 관리 작업을 덜어냅니다. 거의 모든 유형의 애플리케이션 또는 백엔드 서비스를 서버리스로 구축할 수 있으며, 애플리케이션을 고가용성으로 실행하고 확장하는 데 필요한 모든 사항이 자동으로 처리됩니다.

 - 서버리스를 통해 증가된 민첩성과 낮은 총 소유 비용을 통해 최신 애플리케이션을 빌드할 수 있습니다. 서버리스 애플리케이션을 빌드한다는 것은 개발자가 클라우드나 온프레미스의 서버 또는 런타임 관리와 운영에 대입 해 걱정하기보다는 핵심 제품에 집중할 수 있다는 뜻입니다. 이렇게 오버헤드가 줄어들면 개발자가 시간과 에너지를 확장 가능하고 안정적인 훌륭한 제품을 개발하는 데 사용할 수 있습니다.

 

*CloudFormation 병렬성

*CreationPolicy 속성

*사용자 정의 리소스

*사용자 정의 리소스 워크플로

*사용자 지정 리소스 Create 요청

반응형

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

[AWS] DevOps #4  (0) 2020.02.14
[AWS] DevOps #3  (0) 2020.02.13
[AWS] DevOps  (0) 2020.02.12
[AWS] Amazon Elastic File System(EFS)  (0) 2020.01.08
[AWS] RAID  (0) 2020.01.07

+ Recent posts