주관식
클라우드 서비스의 형태는 어떤 것인가 IaaS , PaaS, SaaS
클라우드 컴퓨팅은 무엇인가
클라우드란 무엇인가
클라우드 서비스 보안강화를 위해 루트 계정에 추가하는 기능이 무엇인가
탈취하기 쉬워서 msa로 보안을 강화한다
.
Cloud Service 예시
- 개발자나 벤더는 비즈니스나 업무에 필요한 Applcation을 개발
- 개발 된 Application은 AWS 인프라 위에 배포하여 서비스를 제공함
On-Premise vs Cloud
- On premise : 서비스에 필요한 모든 리소스를 기업안에서 관리 → 초기투자 비용 높음
- Cloud : 컴퓨터 리소스를 빌려주는 기업과 계약을 맺고 필요한 만큼만 리소스를 대여 → 초기투자 비용 낮음
IaaS, PaaaS, SaaS
- Infrastructure as a Service(IaaS) : 서버/네트워크/스토리지 등의 리소스 제공
- Platform as a Service(PaaS) : 애플리케이션이 작동하는데 필요한 플랫폼 제공
- Software as a Service(SaaS) : 클라우드 제공자가 전용 애플리케이션까지 제공
Amazon Web Service (AWS)
- 최초의 AW는 IaaS와 같은 시간제 임대 서버 제공
- 이후 서버리스 시스템 등의 서비스를 제공하였음
- 최근에는 AI, 머신러닝 분야 등에서 활용 가능한 서비스 제공
카테고리 서비스 설명
컴퓨팅 | EC2 | 리눅스/윈도우 등을 운영 할 수 있는 서버 |
보안, 자격 증명 및 규정 | IAM (Identity and Access Management) | AWS 리소스 접근에 대한 인증, 접근 허가 기능 |
네트워킹 및 컨텐츠 | VPC | 가상 네트워크 인프라스트럭처 구축 |
인증과 접근권한
- 인증 : 사용자의 계쩡에 대한 신원을 검증
- 접근권한 : 사용자 별 기능에 대한 접근 권한을 관리하고 허가
사용자 권한
- 루트 사용자 : AWS의 모든 리소스에 접근할 수 있는 계정
- 일반 사용자(IAM) : 루트사용자에 의해 부여 받은 권한만을 사용할 수 있는 계정
루트 사용자 보안 강화하는 법
- MFA : 비밀번호 외에 추가적인 인증 수행
- 대표적인 예시로 은행에서 사용하는 OTP가 있음
2. 안전한 클라우드 네트워크 환경 구축
Virtual Private Cloud (VPC)
가상의 네트워크 환경 이해
- AWS에서 가상의 리소스를 관리 할 수 있는 영역
VPC : 가상의 서버, DB, 네트워크 장비 등 다양한 장치를 연결 및 관리할 수 있는 공간
- 일반적으로 VPC는 네트워크 기능을 갖은 에뮬레이션 소프트웨어를 의미
- 즉, VPC를 통해 물리적인 기기를 이용하지 않고 가상의 네트워크 환경을 구축할 수 있음
VPC 설정 항목
- IPv4 CIDR : VPC에서 사용하는 프라이빗 네트워크용 IP주소의 범위
- VPC의 서브넷 마스크는 최대 16비트를 지원함
- 65,536개의 IP 주소만 이용 할 수 있도록 하기 위함
- 16비트 : 192.168.0.0 ~ 192.168.255.25
서브넷
- VPC 안에는 하나이상의 서브넷을 만들어야 함
- Subnet : VPC의 IP 주소 범위를 나누는 단위
- IP 주소 범위를 나누는 대표적인 이유는 역할과 기기를 분리하기 위함
- 역할 분리 : 외부에 공개하는 리소스 여부 구별
- 기기 분리 : 클라우드 서비스 안에서 물리적인 이중화 수행 (
역할분리
- 시스템을 구축할 때 다양한 리소스를 조합하게 됨
- ex)로드 밸런스(아마존.com 같이 외부에 공개되어있는 것) 는 외부공개가 목적이기 떄문에 외부에서 접근 해야함
- 하지만, DB 서버의 경우 VPC 내부 서버에서만 접근해야 하므로 외부에 공개되면 안됨
기기 분리
- 내결함성을 높이기 위해 기기분리가 필요함
- 내결함성 : 하드웨어 고장, 서버 장애 등 예측할 수 없는 장애가 발생하였을 때 서비스 정지되지 않도록 유지하는 역할
- 클라우드에는 가용 영역이라는 개념이 존재하기 떄문에, 가용 영역을 다르게 설정하여 독립성을 보장 할 수 있다.
- 가용영역별로 서브넷을 제공하여 내결함성을 보장할 수 있음
하나의 가용영역 안에 Public, Private 서브넷을 생성하여 보안성 강화
서브넷의 CIDR 설계
IPv4 CIDR 설계 방법
- 서브넷은 한번 생성하고 나서 해당 서브넷을 이용하는 CIDR 블록을 변경 할 수 없음
- 서브넷 설계 시 2가지 고려사항
- 생성할 서브넷의 개수
- 서브넷 안에 생성할 리소스의 수
VPC 라는 방안에 16비트를 만들고
서브넷을 분리하기 위해 4비트 사용하고
16개의 서브넷 마다 리소스 12비트 4096개를 만들 수 있다 → 4091 (AWS 에서 5개를 사용함)
실습에서는 공개용 / 비공개로 나눠서 만들 예정
인터넷 게이트웨이
- 인터넷 게이트웨이는 VPC 에서 생성된 네트워크와 인터넷 사이의 통신을 가능하게 해줌
- 인터넷 게이트웨이가 없다면 인터넷과 VPC 안에 리소스는 통신할 수 없음
NAT(Network Address Translation) 게이트웨이
- 인터넷 게이트웨이의 역할은 VPC에서 생성한 네트워크와 인터넷 사이의 통신을 수행하는 것임
- 이때, VPC에서 생성된 네트워크 안에 만들어지는 리소스들은 외부 네트워크와 직접 통신을 하므로, Public IP를 갖게 됨
- Private subnet의 우 접근할 수 있지만, 인터넷에서는 접근 할 수있어야 함
- 이와 같은 기능을 제공해주는 시스템이 NAT
라우팅 테이블 설정
- 서브넷과 서브넷, 서브넷과 각 게이트웨이가 통신할 수 있는 경로에 관한 테이블 정보
- 즉, 이 서버에 접속할 떄는 이곳을 경유한다 라는 규칙을 정의 할 수 있는 테이블
3. 클라우드 서비스 구축 및 마이그래이션
보안 그룹
- VPC안의 리소스를 보호하기 위해 외부로부터의 접근을 제한 하는 것
- AWS에서는 Security Group이라는 기능을 통해 제공 함
점프 서버 구축
점프서버
- 모든 리소스에 접근 할 수 있는 입구를 점프서버 혹은 Bastion 서버라고 함
- 클라우드 서비스 운영 시 해당 점프서버를 경유해야만 리소스에 접근 할 수 있는 방식을 많이 사용함
웹 서버
- 브라우저나 애플리케이션으로부터 요청을 받아서 HTML 또는 JSON 등의 응답을 반환하는 역할
점프서버 vs 웹서버
- 점프서버
시스템 관리자가 유지보수를 위해 이용
인터넷에 직접 연결
- 웹서버
웹 서비스 사용자가 항상 연결을 시도함
로드 밸런서를 통해 간접 연결됨
강인한 웹 서버 운영을 위한 로드밸런서 구축
로드밸런서
- 웹 서버 여러대를 구축하고, 처리를 분산하여 성능을 향상시키는 기능
- 로드 밸런서의 주요 기능
- 요청 분산
- SSL 처리
- 이상 요청 대응
4. 취약한 챗봇 서비스 구축 (취약한 웹 서버 구축)
9월24일 AWS 클라우드 기초(실습) 자료 참고