5.3. 보안 그룹
- aws 리소스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽
- L3(ex.ipv4)/L4(TCP) 스위치에 프로토콜에서 제한한다.
- 규칙은 상태 저장 ( Stateful ) : 방화벽이 세션을 이해하여 같은 세션은 인바운드를 허용하면 자동으로 아웃바운드 허용
- 보안 그룹은 각 사용용도에 따라 따로 생성하는 것이 좋다. : 바로 앞 부분의 서버에서 시작되는 신호를 통과 허용.
: 체인 다이어그램
: 한계점 -> 특정 패킷을 거부할 수 없다.
- 네트워크 ACL : 서브넷 경계의 방화벽, 기본적으로 모든 트래픽 허용, 특정 네트워크 IP 대역에 관한 보안 요구사항에
권장
: 특정 네트워크를 막을 수 있다.
: 상태 비저장이므로 인 아웃바운드 모두 명시적인 명시가 중요
5.4. 검토
- 인터넷 게이트웨이 -> 라우팅테이블 -> 네트워크 ACL -> 서브넷 -> 보안그룹 -> 인스턴스와 같이 보호 구조를 이용
6. AWS 기반 네트워킹 2
6.1. 네트워크 연결
- 하이브리드 클라우드 연결을 보안성있게 구성해야한다. 이때 VGW를 사용한다.
- 멀티클라우드도 가능하다.
- VGW를 이용하여 암호화된 연결을 통해 온프레미스 환경과 클라우드 환경을 연결한다.
- VGW ( 가상 프라이빗 게이트웨이 ) : VPC와 다른 네트워크 사이에 프라이빗 연결(VPN)을 설정할 수 있다. (인터넷 0)
- AWS Direct Connect (DX): 전용 프라이빗 네트워크 연결을 제공합니다. 인터넷이 필요없으며, 온프레미스 솔루션과
aws간 프라이빗 네트워크 연결을 사용 ( 하이브리드 클라우드 아키텍처 )
- DX를 구축할 때 VGW와 병행 연결하여 백업 역할을 할 수 있게 만들어 안정성을 높인다.
** Public Network => 공용망 ( Internet )
Private Network => 전용회선 => 별도의 선
** vpn은 퍼블릭에 생성한 가상의 프라이빗 네트워크**
- VPC peering : VPC간의 연결을 수행한다. ( 인터넷 x, 프라이빗 IP주소를 사용하여 통신 )
: 내부 및 리전 간 지원 , IP 대역 중복 x
: A->B 와 VPC 피어링하면 A->B->C 는 불가능
- Transit Gateway ( AWS 서비스 ) : 최대 5000개의 VPC 와 온프레미스 환경 연결
: 리전 내 VPC 연결, 라우팅 테이블을 통해
: 리전 끼리 연결 가능
: VPC를 격리하고 라우팅 테이블의 위치를 vpn으로 구성함으로써 vpn 구성도 가능
-> 이때 VPN은 vpc에 관한 라우팅 테이블을 추가하여 생성
: 라우팅 테이블을 여러 개 생성 가능
- VPC 엔드포인트 : AWS를 벗어나지 않고 EC2 인스턴스를 VPC 외부 서비스와 프라이빗하게 연결
: 인터넷이 필요 x, 동일한 리전, 가용성이 뛰어나며 중복적이며 수평적 확장.
* 인터페이스 엔드포인트 : 프라이빗 주소가 할당된 탄력적 네트워크 인터페이스를 이용하여 외부와 연결
* 게이트웨이 엔드포인트 : 라우팅 테이블의 지정된 라우팅의 대상
6.2. 로드밸런싱
- ELB ( Elastic Load Balancing) :수신되는 애플리케이션 트래픽을 분산하는 관리형 로드 밸런싱 서비스
: Application LB (ALB-L7 Switch)-> 웹 서비스를 대상
: Network LB (NLB-L4 Switch) -> 프토토콜 트래픽의 로드밸런싱
: Gateway LB -> 마켓플레이스에 있는 가상 장비들에게 분산 처리
: Classic LB -> 이전 세대 사용을 위한 로드밸런스
: 고가용성 : 오랜시간 동안 지속적으로 정상 운영이 가능
: ELB를 ssl 설정을 사용한다면 보안성을 높힐 수 있다.
- 등록 취소 지연 : 활성화 시 진행 중인 요청을 먼저 완료한 후 삭제를 인식하여 다른 인스턴스들에게 보낸 후
인스턴스를 삭제한다.
- ALB : URL Path Routing -> url 경로를 통해 분산 처리를 실행한다.
컨테이너의 경로를 통해서도 사용가능하다.
6.3. 고가용성
- 애플리케이션은 허용되는 성능 저하 시간 내에 장애로부터 복구하거나 보조 소스로 이동
ex) master, slave ( stand by ) 구조를 통해 고가용성 구현.
6.3. 다중 리전 고가용성 및 DNS
- Route53 : 가용성과 확장성이 뛰어난 클라우드 DNS 서비스
DNS 뿐만 아니라 AWS에서 유연한 고성능, 고가용성 아키텍처를 위한 도구를 제공.
작동 방식 : 단순 라우팅 ( 라운드 로빈 ), 가중치 기반 라운드 로빈, 지연 시간 기반 라우팅( LBR )
7. IAM
- 사용자 인증과 권한 관련
7.1. 계정 사용자 및 IAM
- AWS 계정 루트 사용자 : 이 계정은 aws 서비스 및 리소스에 대한 전체 엑세스 권한
-> AWS 계정 루트 사용자는 강력한 권한을 가지며 제한을 받지 않습니다.
-> 특정한 경우가 아니면 업무마다 다른 IAM 사용자를 생성하여 사용한다.
- IAM 을 통해 자격 증명 관리
- IAM 사용자는 별도의 AWS 계정이 아니라 계정 안의 보안 주체
- 권한 부여 : 정책 -> 자격 증명 또는 리소스에 연결될 때 해당 권한을 정의하는 AWS의 개체입니다.
요청이 허용되는지 또는 거부되는지 결정
정책은 JSON 문서로 AWS로 저장되며 자격증명 기반 정책으로 보안 주체 연결 or
리소스 기반 정책으로 리소스에 연결
- 자격증명 기반 정책 : IAM 사용자, 역할 또는 그룹과 같은 보안 주체에 연결할 수 있는 권한 정책
- 리소스 기반 정책 : S3 버킷과 같은 리소스에 연결되는 JSON 정책 문서이다.
7.2. 사용자 구성
- 사용자 추가
- 모범 사례 : 루트 액세스 키를 삭제
: 개별 IAM 생성
: 그룹을 사용하여 iam 사용자 권한 지정
: 최소한의 권한 부여
: MFA 인증 사용
- 보안 자격 증명을 통해 MFA 디바이스 추가
7.3. 연동
- 권한을 역할에 연결하고 역할을 사용자 또는 서비스에게 위임한다.
- 일반 정책은 모든 곳에서 사용할 수 있지만 인라인 정책은 사용자에게 종속된다.
- Amazon Cognito : 앱 및 모바일 앱에 대한 인증, 권한 부여 및 사용자 관리를 제공하는 완전 관리형 서비스
- AWS Organization : 중앙 집중식 계정 관리 : 그룹 기반 계정 관리 : 루트 사용자 통제
AWS 서비스에 대한 정책 기반 엑세스
'클라우드 > AWS' 카테고리의 다른 글
Architecting on AWS (5일) (0) | 2022.07.08 |
---|---|
Architecting on AWS (4일) (0) | 2022.07.07 |
Architecting on AWS (2일) (0) | 2022.07.05 |
Architecting on AWS (1일) (0) | 2022.07.04 |
10. AWS ( EFS, ROUTE 53 ) (0) | 2022.06.27 |