아키텍처
보안 핵심 요소
클라우드 보안은 5개 영역으로 구성됨
- IAM
- 권한이 부여되고 인증이 권한된 사용자만 원하는 방식으로 리소스에 엑세스 할 수 있도록 한다.
- 탐지 제어
- 로그를 캡쳐하거나 분석하고 감사 제어 기능을 통합하는 등의 접근 방식을 고려해서 잠재적으로 본다.
- 인프라 보호
- 아키텍쳐 내의 시스템과 서비스를 의도하지 않은 무단 액세스로부터 보호한다.
- 사용자는 네트워크 경계를 생성해 사용자, 키, 액세스 수준, 애플리케이션 방화벽 또는 게이트웨이를 강화하고 패치할 수 있다.
- 데이터 보호
- 데이터 분류, 암호화, 저장 및 전송 데이터 보호, 데이터 백업 그리고 복제 및 복구가 이에 포함된다.
- 인시던트 대응
- 모든 선제적 조치에도 불구하고 조직은 잠재적인 보안 인시던트에 대응하고 이를 완화하기 위한 인시던트 대응 프로세스를 만들어야 함
설계 원칙
- 모든 계층에 보안 적용
- 리소스 내 리소스 간에도 보안을 구현할 수 있어 서로 안전하게 보호할 수 있다.
- 추적기능 활성화
- 최소 권한의 원칙 적용
- 시스템 보안에 집중
- 자동화
- 패치가 적용되고 강화된 가상 서버의 이미지를 생성하고 저장하는 것이 좋다. → 그런 다음 해당 이미지가 필요할 때 이미 강화되고 패치가 적용된 동일한 이미지를 사용해서 새로운 인스턴스를 자동으로 생성할 수 있다.
안정성
인프라 또는 서비스 장애로부터 시스템을 복구할 수 있는 기능이 포함된다.
→ 컴퓨터 리소스를 동적으로 확보해서 수요를 충족하고 운영 중단을 최소화 하는 기능에 중점을 둔다.
- 문제/ 장애로부터 복구
- 클라우드의 안정성은 세 가지 영역으로 구성됨
- 장애를 예상하고 대응, 방지할 수 있어야 한다.
안정성 핵심요소
- 복구 절차 테스트
- 다양한 장애를 시뮬레이션하고 실제 장애가 생기기 전에 대응 테스트
- 자동 복구
- 임계 값이 초과될 때 자동으로 응답을 트리거 할 수 있음
- 수평 확장
- 전체 시스템 가용성을 높이기 위함
- 하나의 대규모 모놀리식 리소스가 있는 경우 이를 여러 개의 작은 리소스로 변경하는 것이 좋음
- 용량 추측 불필요
- 리소스 추가 또는 제거를 자동화 할 수 있기 때문
- 변경 관리를 자동화 해야함
성능 효율성 핵심 요소
- 고급 기술을 대중화 할 것
- 서버리스 아키텍쳐를 사용할 것
- 운영 부담 해소 및 트랜잭션 비용도 절감할 수 있음
내결함성 및 고가용성
내결함성
- 시스템 중 일부가 작동하지 않더라도 운영 상태를 유지할 수 있는 시스템 기능
- 애플리케이션 구성 요소의 내장된 중복 기능이라 볼 수 있다.
고가용성
- 시스템이 항상 작동하고 액세스 가능하며 가동 중지가 최소화 됨을 보장한다.
aws의 고가용성
- 여러 대의 서버
- 어떤 서버를 선택해도 가용성을 확장하고 기능을 복구할 수 있음
- 여러 리전 존재
고가용성 서비스 도구
Elastic Load Balancer
- 인스턴스 가운데 수신 로드 또는 트래픽을 배포하는 서비스
- Amazon Cloudwatch로 지표를 전송함
- 트리거/ 알림
- 사용자화 가능
- 비정상 작동하는 EC2를 인식하도록 구성할 수도 있다.
- 여러 개의 서로 다른 프로토콜을 사용할 수 있다.
탄력적 IP 주소
- 애플리케이션의 내결함성을 향상시킬 때 유용함
- 동적 클라우드 컴퓨팅을 위해 고안된 동적 IP 주소임
- 이를 통해 사용자가 대체 리소스와 동일한 IP 주소를 사용할 수 있으므로 인스턴스 또는 소프트웨어의 실패를 마스킹할 수 있다.
- 인스턴스가 실패하더라도 클라이언트가 애플리케이션에 엑세스할 수 있으므로 고가용성이 보장된다.
Route 53
- aws에서 제공하는 신뢰할 수 있는 DNS 서비스
- 아래의 내역들을 지원하기 위해 개발됨
- 단순 라우팅
- 지연 시간 기반 라우팅
- 상태 확인
- DNS 장애 조치
- 지리적 위치 라우팅
Auto Scaling
- 특정 조건에 따라 인스턴스를 시작하거나 종료함
- 고객 요구의 변화에 따라 조정하고 수정할 수 있는 유연한 시스템을 구축하는 데 도움을 주기 위해 마련됨
- 새 리소스를 수동으로 만드는 제한이 사라질 수 있음
- 그 대신, 필요에 따라 리소스를 만들거나 프로비저닝을 예약함 → 즉, 온디맨드로 새로운 리소스를 생성할 수 있음
- 부하가 무엇이든 애플리케이션과 시스템을 계속 실행하는 데 사용됨
CloudWatch
- 분산 통계 수집 시스템
- 인프라의 지표를 수집하고 추적한다.
- 지정 지표를 만들고 사용할 수 있음
- 설정된 임계값을 통과한 지표가 있는 경우 Auto scaling과 함께 Cloudwatch가 자동으로 확장되어 아키텍쳐의 고가용성을 보장할 수 있음
내결함성 도구
- Simple Queue Service(SQS)
- 내결함성 애플리케이션의 뼈대로 사용할 수 있음
- 매우 안정적인 분산 메시징 시스템
- SQS는 대기열을 항상 사용할 수 있도록 도와줌
- Simple Storage Service(S3)
- 데이터 스토리지 제공
- 리전 내 여러 시설에서 여러 다른 디바이스의 모든 데이터를 중복 저장함 → 따라서 고장이 발생해도 모든 정보에 엑세스 할 수 있음
- Relational Database Service(RDS)
- 관계형 디비를 설정, 운영, 확장하는 웹 서비스 도구
- 중요한 디비의 안정성을 향상시키는 몇 가지 도구를 사용해 고가용성과 내가용성을 제공함
- 자동 백업, 스냅샷, 여러 가용 영역 지점을 가짐
참고
https://explore.skillbuilder.aws/learn/course/823/