국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는
이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다
구동중인 서버에 문제 발생 시 해결 방안
=. 가능한 모든 곳에서 자원의 시작, 종료, 설정을 자동화를 하는 것을 권장
수동으로 관리되는 자원들을 줄임으로 시스템의 안정성, 일관성, 효율성을 높이도록 해야함
DevOps
Development : 서비스 개발
Operations : 서비스 운용
클라우드 서비스의 등장 및 웹 서비스 보편화에 따른 Development와 Operations의 경계 모호
웹 서비스의 빠른 개선 주기로 인한 간단한 릴리즈 사이클 필요
=> 코드를 활용한 서비스 배포 보편화 (IaC)
Infrastructure-as-a-Code (코드를 이용한 자원 관리)
서비스에 활용되는 자원들을 코드로 만들어서 관리
- 소프트웨어 개발 프로세스를 적용 가능
(기존에 버튼 눌러야 했던 것들을 전부 코드로) - 재사용
- 유지 보수
- 확장성
- 테스트 가능 특성을 가짐
자원을 코드로 관리할 때의 장점
추가적으로 유지 보수 및 시스템 일관성을 확보할 수 있음
=> 템플릿 업데이트를 통한 모든 자원 환경의 업데이트가 가능하기 때문
(만약 수동이었으면 각각의 환경에 대해 직접 수정했어야함)
Infrastructure as Code(IaC) 의 장점
1. 속도 및 안정성
=> 배포절차의 자동화에 따른 이득
(사람의 개입 최소화)
2. 문서화
=> 누구나 문서 및 코드를 통해서 시스템 구조 이해 가능
3. 버전 관리
=> 과거 변화 기록 및 코멘트 가능
4. 확인 및 검사
=> 코드 리뷰를 통한 꼼꼼한 검사 가능
AWS CloudFormation을 활용한 자원 관리
AWS CloudFormation : AWS 자원들을 시작, 설정 및 연결해주는 서비스
=> JSON 이나 YAML 포맷 템플릿을 활용하여 작성 가능
Template : 생성될 자원을 서술하는 JSON 또는 YAML 형태의 파일
=> 소스코드로 관리 가능 (버전 컨트롤 사용 추천)
AWS CloudFormation Engine : AWS CloudFormation 템플릿을 해석하여 AWS 서비스로 구성되는 스택을 생성
Stack : AWS CloudFormation에 의해 생성된 자원 집합
AWS CloudFormation Templates
CloudFormation 디자이너 : AWS 콘솔에서 활용가능하며 AWS 자원들을 드래그 - 드랍하여 템플릿을 자동으로 생성해주는 기능을 제공해줌
CloudFormation Template 구조
Description : 일반적인 서술
Metadata : 템플릿의 메타데이터 표현 (데이터의 데이터)
CloudFormation 사용 자원 정의
Resource 섹션 : 생성될 스택에 포함될 자원 및 특징들을 정의함
(각각의 자원은 개별적으로 선언되어야함)
CloudFormation Resource attribute : DependsOn
=> 여러 자원의 생성 선, 후 관계가 표현 되어야 할 경우 DependsOn 사용
계정간 CloudFormation 템플릿 Resources 공유시 주의 사항
하드코딩된 자원의 정보는 템플릿 공유시에 문제를 발생 시킬 수 있음
- AWS EC2 key pairs
- Security group names
- 서브넷 아이디
- AWS EBS 스냅샷 아이디
=> 하드코딩된 값을 사용하기 보다는 파라미터로 변수값을 전달하는 것이 바람직함
CloudFormation Parameters and Fn
Parameters는 실행시에 값을 전달하게 해줌
=> Customize를 가능하게 하고 사용이 허용된 값과 default 값을 설정할 수 있음
CloudFormation은 미리 정의된 몇몇 함수 기능을 제공함
CloudFormation Mappings
Mappings는 key-value 값을 표현 하게 해줌
=> 다중 layer의 key-value도 표현 가능 (JSON 활용)
CloudFormation Conditions
Conditions는 특정 명령이 실행되거나 특정 자원이 생성 되는지 여부를 지정하게해줌
=> PROD와 DEV 환경이냐에 따라서 다른 갯수의 자원들 생성
Condition 값에 따른 PRDO/DEV 환경 구축 예제
CloudFormation Outputs
Outputs는 CloudFormation으로 부터 생성된 스택을 확인할 때 보여지는 값들을 표현함
'Infra > AWS' 카테고리의 다른 글
Cloud High Availability (1) | 2024.10.17 |
---|---|
Cloud Network (3) | 2024.10.16 |
Cloud Basic Service (13) | 2024.10.14 |
Distributed System (5) | 2024.10.06 |
AWS EC2 메모리 부족 현상 해결 (Swap Memory) (1) | 2024.09.12 |