WiseN

Trusted Advisor - Fault Tolerance 분야 자세히 보기

Oct 11,2018   |   AWS

작성자_최준승

페이스북 공유하기 트위터 공유하기
Blog thumbnail

안녕하십니까, GS네오텍 최준승입니다.

지난 히스토리 먼저 소개드립니다.

AWS Trusted Advisor 활용하기
Trusted Advisor - Cost Optimization 분야 자세히 보기
Trusted Advisor - Performance 분야 자세히 보기
Trusted Advisor - Security 분야 자세히 보기

아시다시피 이 시리즈는 총 5개 분야가 있습니다. 인덱스명은 제 편의로 붙였습니다.

Cost : Cost Optimization
Perf : Performance
Sec : Security
Fault : Fault Tolerance
Limit : Service Limits

오늘은 폴트 톨라란스.. 디스 이즈 "일부 요소가 고장났을때 서비스를 지속시키거나 복원하는게 가능한가" 라는 관점입니다.
마지막 Limit 부문이 딱히 설명드릴 내용이 없다는걸 감안하면 오늘이 시리즈 마지막 편인 셈입니다.

전과 동일하게 각 항목은 중요도나 서비스에 따라 제 임의대로 순서를 재배열하였습니다.
노란색은 주의항목이고 빨간색은 경고항목입니다.

제가 안본새에 항목이 많이 늘어서 22개나 되네요. 시작하겠습니다.

 



Fault Tolerance






[Fault-01] Amazon EBS Snapshots
"최근 스냅샷 시점이 7 ~ 30일 경과"한 EBS 볼륨이 있다 "스냅샷이 없거나 or 30일 이상 경과"한 볼륨이 있다
※ 대안: 백업 정책을 세운 후에 스냅샷을 주기적으로 생성하는 규칙을 만든다




[Fault-02] Amazon EC2 Availability Zone Balance
AZ별 최다 인스턴스수가 최소 인스턴스수의 120%를 초과 모든 인스턴스가 단일 AZ에 배치
※ 대안: 각 AZ별로 균일한 인스턴스가 유지되도록 Auto Scaling 등을 활용한다




[Fault-03] Load Balancer Optimization
로드 밸런서가 단일 AZ에 활성화 or 대상 인스턴스가 없는 AZ에 활성화 or 인스턴스가 AZ별로 불균형하게 배치
※ 대안: ELB 아래 복수의 AZ에 걸쳐 균일한 인스턴스가 각각 배치되도록 설정한다




[Fault-04] ELB Cross-Zone Load Balancing
"Cross-Zone 로드 밸런싱이 비활성화된" ELB가 있다
※ 대안: 등록된 EC2가 복수의 AZ에 위치한 경우 Cross-Zone 로드 밸런싱을 활성화




[Fault-05] ELB Connection Draining
"Connection draining이 설정되지 않은" ELB가 있다
※ 대안: EC2를 ELB에서 제거한 이후에도 기존 연결을 유지하기 위해 Connection draining 옵션을 활성화한다




[Fault-06] Amazon RDS Backups
"자동백업 유지기간이 0일로 설정된" RDS 인스턴스가 있다
※ 대안: 요구사항에 맞게 RDS 자동백업 유지기간을 적절하게 설정(1 ~ 35일)한다




[Fault-07] Amazon RDS Multi-AZ
"단일 AZ에만 구성된" RDS 인스턴스가 있다
※ 대안: 고가용성이 필요한 구성이라면 RDS 인스턴스에 Multi-AZ 옵션을 활성화한다




[Fault-08] Amazon Aurora DB Instance Accessibility
"Public Accessable 설정이 인스턴스별로 다른" Aurora DB 클러스터가 있다
※ 대안: Failover 발생시 이슈가 없도록 모든 단위 인스턴스의 Public/Private 설정을 동일하게 변경한다




[Fault-09] Amazon S3 Bucket Logging
"Access Log가 활성화되지 않은" S3 버킷이 있다 로그를 저장할 버킷이 존재하지 않거나 필요한 권한이 없다
※ 대안: 필요한 경우 Access Log를 활성화하고, 로그를 저장할 버킷에 쓰기가 가능한 환경인지 권한을 점검한다




[Fault-10] Amazon S3 Bucket Versioning
"Versioning 기능이 비활성화되어 있거나 or 중지 상태인" S3 버킷이 있다
※ 대안: 실수에 의한 삭제나 덮어쓰기에 대비가 필요한 경우, Versioning 기능을 활성화한다




[Fault-11] Amazon Route 53 Deleted Health Checks
Route53에서 "삭제된 Health Check 객체에 연결"된 레코드 셋이 있다
※ 대안: 새로운 Health Check 객체를 만들고, 이를 필요한 레코드 셋에 지정한다




[Fault-12] Amazon Route 53 Failover Resource Record Sets
Failover 구성시 "Primary 또는 Secondary 中 한쪽이 없거나 or 둘 모두 같은 Health Check 조건을 참조"한다
※ 대안: Primary 및 Secondary 레코드 셋을 각각 구성하고, 각기 다른 Health Check 조건을 할당한다




[Fault-13] Amazon Route 53 High TTL Resource Record Sets
"Failover가 구성된 or Health Check 조건이 할당"된 레코드 셋에 60초 이상의 TTL이 설정되어 있다
※ 대안: 해당하는 레코드 셋의 TTL 값을 60초로 지정한다




[Fault-14] Amazon Route 53 Name Server Delegations
"Route53의 Delegation Set에 4개의 모든 네임서버 등록이 되지 않은" Hosted Zone이 있다
※ 대안: NS 레코드 또는 현재 사용중인 DNS에 Route53의 Delegation Set의 4개의 모든 네임서버를 포함하도록 설정한다




[Fault-15] Auto Scaling Group Health Check
Health Check가 설정된 ELB에 Auto Scaling 그룹이 매핑되어야 하나 이중 일부 설정이 누락되어 있다
※ 대안: Auto Scaling 그룹에 매핑된 ELB에 Health Check를 활성화하고 이를 Auto Scaling 그룹 설정에 반영한다




[Fault-16] Auto Scaling Group Resources
Auto Scaling 그룹에 삭제된 로드밸런서가 매핑되었거나 or 관련 설정에 삭제된 AMI가 매핑되어있다
※ 대안: Launch Configuration에 유효한 AMI 객체가 매핑 / Auto Scaling 설정에 유효한 로드밸런서가 매핑되었는지 점검




[Fault-17] VPN Tunnel Redundancy
"Active 상태의 터널이 하나만 존재하거나 or 존재하지 않는" VPN 연결이 있다
※ 대안: VPN 연결에 2개의 터널이 설정되었는지 확인하고, 두개의 Active 상태를 지원하는 환경이라면 이를 추가 점검




[Fault-18] AWS Direct Connect Connection Redundancy
해당 리전에 Direct Connect 연결이 (복수가 아닌) 단 하나만 존재한다
※ 대안: 가용성을 고려해서 추가적인 Direct Connection 연결을 설정한다




[Fault-19] AWS Direct Connect Location Redundancy
하나 이상의 Direct Connect 연결에 단 하나의 Direct Connect location이 매핑되어 있다
※ 대안: 각 Direct Connect 연결이 각기 다른 Direct Connect location에 매핑되도록 설정한다




[Fault-20] AWS Direct Connect Virtual Interface Redundancy
Virtual Private Gateway가 2개 미만의 VIF를 관리 or 해당 인터페이스가 복수의 Direct Connect 연결에 설정 X
※ 대안: 최소 2개의 VIF를 대상으로 2개 이상의 Direct Connect 연결에 매핑되도록 설정한다




[Fault-21] EC2Config Service for EC2 Windows Instances
새로운 버전의 EC2 Config를 사용할 수 있다 버전이 Deprecated 되었거나 에이전트가 잘못 설정됨
※ 대안: EC2 버전을 최신으로 업데이트해서 관리한다




[Fault-22] PV Driver Version for EC2 Windows Instances
새로운 버전의 PV 드라이버를 사용할 수 있다 PV 드라이버 버전이 Deprecated 되었거나 지원 불가
※ 대안: PV 드라이버를 최신으로 업데이트해서 관리한다



 



각 항목별 중요도는 사용자 관점에 따라 다르게 다가올 수 있다는 생각은 합니다.
하지만 하나 확실한건 이런 항목들을 체크하는 로직을 별도로 구현한다면. 매우 귀찮을거란건 분명하지요.

또한 각 영역마다 어떤 미시적인 항목들을 체크하는지를 살펴 보면.
AWS에서 하나의 큰 그림을 그릴때 어떤식으로 부분 컴포넌트를 구성해야 할지 역으로 힌트를 얻을 수도 있구요.

앞에서 말씀드렸던 것처럼 Trusted Advisor 시리즈는 오늘로 마칩니다.
여러분도 제대로 안읽을거라는 예상을 하면서도 제가 시리즈를 끝까지 마무리한 이유는.
이 검증하는 항목 설명이 AWS에 문서화가 제대로 안되어 있기 때문입니다. 콘솔에서 하나씩 눌러서 주석을 봐야 해요.

노가다는 한명만 하면 족하니.. 귀차니즘에 빠지신 누군가에겐 도움이 되길 빕니다.

마치겠습니다. 그럼 끝!