AWS IaaS

sundays·2022년 9월 6일
0

VPC

subnet

  • VPC 내에 구성되는 가상 네트워크 서비스
  • 가용 영역 단위 서비스
  • subnet 유형
    • public subnet
      • 인터넷에 연결되어 통신 가능한 subnet
    • private subnet
      • 인터넷에 연결되지 않은 subnet

routing table

  • 네트워크 환경에서 호스트를 검색하는 경로 정보를 가지고 있는 네트워크 요소
  • VPC 생성시 자동으로 하나의 라우팅 테이블 자동 생성
  • subnet수에 따라서 필요한 라우팅 테이블 생성
  • public subnet을 위한 라우팅 테이블에 인터넷 통신을 위한 라우팅 추가

internet gateway

  • 인터넷과 연결을 수행하는 서비스
  • VPC와 연결
  • 인터넷과 양방향 통신 수행

EC2

  • 가상화 기술을 이용하여 AWS 에서 관리하는 물리적인 Server에 생성되는 가상 computer 서비스( 가상 머신 )
  • 요금
    • EC2 인스턴스 유형에 따른 사용기간 + 보조기억장치(EBS) 사용량 + 네트워크 송신량

AMI

  • 즉시 사용가능한 OS 와 패키지를 가지고 있는 이미지
  • 별도 OS 설치 과장없이 AMI 를 이용하여 EC2를 바로 사용할 수 있는 이미지
  • 완전 가상화 형태

EC2 상태

  • Pending - EC2 instance 구동 준비 상태, 요금 미청구
  • Running - EC2 instance 구동 상태, 요금 청구
  • Stopping - EC2 instance 구동 중지 상태, 요금 미청구, 스토리지 비용은 청구, 메뉴 - 인스턴스 정지
  • Shutting down - EC2 instance 종료 준비 상태, 요금 미청구
  • Terminated - EC2 instance 삭제, 요금 미청구, 메뉴 - 인스턴스 종료

private subnet 상의 EC2 instance 관리 방법

  • private subnet에 위치한 AWS resource( EC2, RDS 등 )은 직접적인 인터넷 접속이 불가능
  • private subnet에 위치한 AWS resource는 외부로 부터 직접 접근을 허용하지 않기 위해 구성하는 Network
  • private subnet에 위치한 AWS resource가 인터넷에 접속하여 사용하기 위해서는 NAT 게이트웨이 서비스 활용

NAT 게이트웨이 서비스

  • 인터넷과 연결을 수행하는 서비스
  • 인터넷과 단방향 통신만 수행
  • 인터넷 게이트웨이는 양방향 통신 수행
  • 통상 private subnet에 위치한 AWS 리소스( EC2, RDS 등 ) 가 인터넷에 연결하여 사용할 때 활용하는 서비스
  • 일반 client가 private subnet에 있는 AWS 리소스 접근은 불가능 - 단방향 통신
  • NAT 게이트웨이 서비스 인스턴스는 반드시 public subnet에 위치 해야 한다.
  • NAT 게이트웨이 서비스는 EIP를 사용한다.

Bastion server를 이용하여 private subnet에 있는 AWS resource 접근 및 제어

  • Bastion server
    • private subnet에 위치한 EC2 instance를 제어하는 목적으로 사용하는 EC2 instance
    • 역할에 따라 부여된 명칭
  • private subnet에 EC2 instance 생성
    • subnet - private subnet에 위치
    • 퍼블릭 IP 할당 - 비활성화
  • NAT 게이트 웨이 생성
    • EIP 생성
      • EC2 메뉴 -> 탄력적 IP -> 탄력적 IP 주소 할당
    • NAT 게이트웨이 인스턴스 생성
      • VPC 메뉴 -> NAT 게이트웨이 -> NAT 게이트웨이 생성
      • 이름
      • 서브넷 - 반드시 public subnet에 위치
      • 연결 유형 - 퍼블릭
      • 탄력적 IP 할당
    • private subnet의 라우팅 테이블에 NAT 게이트웨이에 대한 라우팅 추가
      • VPC 메뉴 -> 서브넷 -> 라우팅 테이블 -> private subnet 라우팅 테이블 선택 -> 라우팅 -> 라우팅 편집 -> 라우팅 추가 -> NAT 게이트웨이 라우팅 추가
  • private subnet에 위치한 EC2 instance는 NAT 게이트웨이를 통해 인터넷 접속이 가능한 상태가 되었으나 외부에서 인터넷을 통해 private subnet에 위치한 EC2 instance에 직접 접속은 불가능하다. -> NAT 게이트웨이는 단방향 통신만 가능
  • public subnet에 위치한 bation server를 통해 private subnet에 위치한 EC2 instance를 제어한다.
    • bastion server를 이용하여 private subnet의 EC2 instance에 접속하기 위해서는 private subnet의 EC2 instance에 대한 keypair 파일이 bastion server에 위치 해야 한다.

AWS 네트워크 보안

보안그룹( Security Group )

  • EC2 instance 단위로 설정
  • inbound 규칙과 outbound 규칙으로 구성
  • 허용( Allow ) 규칙만 생성 가능
  • 기본적으로 모든 보안 그룹의 outbound 규칙은 모든 트래픽을 허용하고, inbound 규칙은 모드 거부하는것으로 설정
  • 각 EC2 instance는 서로 다른 보안 그룹 할당 가능
  • 설정된 EC2 instance는 연결되어 있는 보안 그룹의 모든 룰을 적용 받는다.
  • 보안 그룹은 상태를 저장하는 성격( stateful )을 갖는다.
  • inbound를 통과하는 패킷은 outbound 규칙을 적용받지 않는다.
  • 상태를 저장하여 한번 outbound를 통과하는 패킷은 inbound 규칙을 적용 받지 않는다.

네트워크 ACL( NACL )

  • inbound 규칙과 outbound 규칙으로 나뉜다.
  • NACL은 여러 subnet에 적용 가능
  • 하지만 subnet은 한 개의 NACL만 연결 가능
  • 허용( Allow ) 규칙뿐만 아니라 거부( Deny ) 규칙 생성 가능
  • 규칙 번호는 숫자가 매겨져 가장 작은 숫자값을 지니는 규칙이 우선적으로 적용
  • 규칙 번호순으로 적용( 낮은 번호에서 높은 번호 순으로 적용 )
  • 같은 유형에 대하여 규칙을 구성한 경우 낮은 규칙 번호의 규칙이 적용되면 높은 규칙 번호의 동일 규칙에 대해서는 적용되지 않는다.
  • 규칙 번호는 연속된 번호 보다는 일정 간격의 번호를 설정해야 차후 필요시 규칙 추가가 용의하다.
  • NACL 규칙 목록은 inbound, outbound 최대 20개 까지 지정 가능
  • NACL은 상태를 저장하지 않은 성격( stateless ) 을 갖는다.
  • 보안그룹과 네트워크 ACL( NACL )을 조합하여 필요한 보안 관리를 수행할 수 있다.
    통상은 보안 그룹을 통해 관리

용어 정리

  • stateful - 상태를 저장
  • stateless - 상태를 저장하지 않음

스토리지 서비스 - EBS

블록 형태 데이터 저장 스토리지 서비스 - EBS( Elastic Block Storage )

일반적인 데이터 저장
외장 HDD/SSD 성격
EC2 instance와 연결하여 사용

파일 형태 데이터 저장 스토리지 서비스 - EFS( Elastic File Storage )

네트워크를 이용한 파일 저장 및 공유
NAS 성격
데이터 공유
통상은 EC2 instance와 연결하여 사용 - NFS( Network File System ) 사용

객체 형태 데이터 저장 스토리지 서비스 - S3( Simple Storage Service )

객체( object ) 단위로 저장
객체 - 유/무형의 모든 형식의 사물
Serverless 방식 - 별도의 EC2 instance와 연결하지 않더라도 사용 가능
AWS의 다른 서비스와 데이터 공유를 목적으로 할 때 많이 사용

네트워크 서비스 - ELB

Scale out

  • 동시 접속 client 수에 따른 서버 분산 처리 - 서버 부하 분산
  • EC2 instance를 복제하여 여러 개의 EC2 instance를 생성하는 처리 하는 동작
  • client 동시 접속 증가에 따라 Server 처리 능력을 높이기 위하여 같은 동작을 하는 Server를 여러 개 생성하여 client 동시 접속에 대한 처리 효율을 높이는 방법
  • AWS Scale out을 위한 서비스
    • ELB( Elastic Load Balancing )
      동시 접속 client를 여러 서버로 분산해서 처리 할 수 있도록 관리 하는 서비스
      서버 분배
  • Auto Scaling
    서버 처리량에 따라 서버를 자동 증설 및 감소 시키는 서비스

ELB

  • Elastic Load Balancing
  • 트래픽 분산
  • 자동 확장( Auto Scaling )
  • EC2 instance 상태를 자동 감지하여 오류가 있는 시스템은 제외
  • 사용자 세션을 특정 instance에 고정 가능
  • SSL 암호화 지원
  • SSL의 경유지로 ELB를 사용하는 경우에 SSL 처리에 따른 부하를 ELB가 수용
  • IPv4, IPv6 지원
  • Amazon CloudWatch를 통한 모니터링
  • 사용한 시간과 통과한 트래픽에 따라 종량제 과금
  • OSI 7 계층 네트워크 프로토콜에서 L4( Transport ) 계측과 L7( Application ) 계층에 대한 서버 부하 분산 기능 제공
  • L4( Transport ) 계층 - TCP, UDP에 대한 처리 계층 - Network Load Balancer
  • L7( Application ) 계층 - HTTP, HTTPS 등에 대한 처리 계층 - Application Load Balancer

컴퓨팅 서비스 - Auto Scaling

Auto Scaling

  • Scale out 적용시 사용하는 기능
  • 다중 서버를 운영할 때 서버의 일정한 부하 임계치를 넘었을 때 자동으로 서버를 증가 시키거나 부하 임계치가 해소 되었을 때 다시 원래의 서버수로 자동 변화를 수행하는 서비스

Reference

profile
develop life

0개의 댓글