ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS 관련 용어 정리
    AWS 2024. 10. 14. 15:31

    내결함성(Fault Tolerance)이란?

    시스템이 일부 구성 요소에 장애(fault)가 발생하더라도, 전체 시스템이 중단 없이 정상적으로 기능을 수행할 수 있는 능력을 의미합니다. 즉, 내결함성이 있는 시스템은 장애가 발생해도 오류를 최소화하거나 자동으로 복구하여 정상적인 서비스 제공을 유지한다.

     

    내결함성의 핵심 요소:

    1. 장애 허용: 일부 구성 요소에서 장애가 발생해도 시스템 전체는 여전히 작동. 이를 통해 서비스가 지속적으로 제공될 수 있다.
    2. 자동 복구: 장애가 발생한 구성 요소를 자동으로 복구하거나 교체할 수 있는 기능이 내장되어 있다.
    3. 중복성(Redundancy): 내결함성을 위해 시스템 내에 중복된 자원을 배치해 장애가 발생했을 때 백업 자원이 자동으로 사용됨.

    Amazon SQS와 Lambda의 내결함성:

    • Amazon SQS는 메시지를 큐에 저장하는 동안 내결함성을 제공한다. 예를 들어, 메시지를 처리하는 Lambda 함수가 실패하더라도 메시지는 SQS에 안전하게 저장되어 있기 때문에, 문제가 해결된 후 다시 처리할 수 있다. 이렇게 하면 서비스의 중단 없이 안정적인 문서 처리가 가능하다.
    • Lambda자동 확장자동 복구를 지원하므로, 한 번에 많은 요청이 들어와도 필요한 만큼 인스턴스를 늘리거나 줄여서 요청을 처리하고, 오류가 발생한 경우에도 재시도하거나 다른 인스턴스에서 작업을 처리할 수 있다.

    결론적으로, 내결함성은 시스템이 장애를 견디고 지속적으로 동작할 수 있는 능력이며, 이는 아키텍처를 더 안정적이고 확장 가능하게 만드는 중요한 특성이다.

     

    Q. 블루 그린 배포도 내결함성있는 방식인가요?

    블루-그린 배포(Blue-Green Deployment)는 내결함성을 갖춘 배포 전략 중 하나로 간주될 수 있습니다. 이 배포 방식은 새로운 버전의 애플리케이션을 배포할 때 기존 버전(블루)과 새 버전(그린)을 동시에 운영하여 문제 발생 시 빠르게 롤백할 수 있는 특징을 가지고 있다.

     

    블루-그린 배포의 내결함성 측면:

    1. 즉각적인 롤백: 새로운 버전(그린)에 문제가 발생할 경우, 트래픽을 즉시 이전 버전(블루)으로 되돌릴 수 있습니다. 이를 통해 서비스 중단을 최소화하고, 문제가 발생했을 때 빠르게 대응할 수 있다.
    2. 무중단 배포: 새 버전의 애플리케이션을 테스트할 동안, 기존 버전이 계속해서 정상적으로 동작하므로 서비스 중단 없이 배포가 가능합니다. 이 또한 장애로 인한 사용자 영향이 줄어드는 내결함성의 한 형태이다.
    3. 안정적인 테스트 환경: 새 버전이 실제 사용자에게 트래픽을 보내기 전에, 그린 환경에서 테스트를 진행할 수 있어 버그나 장애 발생 가능성을 줄일 수 있다.

    블루-그린 배포와 내결함성의 관계:

    • 블루-그린 배포는 새로운 버전의 코드가 서비스에 장애를 일으키는 상황에서 신속하게 롤백할 수 있는 메커니즘을 제공하므로, 애플리케이션의 내결함성을 높이는 데 기여한다.
    • 다만, 블루-그린 배포는 코드 자체의 결함을 방지하거나 처리하는 기술이라기보다는 배포 단계에서 장애를 최소화하는 방법.

    결론적으로, 블루-그린 배포는 내결함성 있는 배포 방식으로 볼 수 있으며, 장애가 발생했을 때 빠르게 대응할 수 있도록 해주는 전략이다.


    AWS Storage Gateway온프레미스 환경과 AWS 클라우드 간에 데이터를 안전하고 효율적으로 전송하고 공유하는 솔루션을 제공한다. 이 서비스는 온프레미스 애플리케이션이 AWS 클라우드의 스토리지 서비스(예: S3, EBS, FSx)와 원활하게 통합될 수 있도록 다양한 게이트웨이를 제공한다.

    Storage Gateway는 세 가지 주요 모드로 사용할 수 있다:

    1. 파일 게이트웨이 (File Gateway):
      • 온프레미스 애플리케이션에서 S3에 파일을 저장할 수 있도록 하며, NFS 또는 SMB 프로토콜을 지원한다. 온프레미스 애플리케이션이 AWS S3에 접근하는 파일 시스템을 제공하여 데이터를 손쉽게 클라우드에 백업하거나 아카이브할 수 있다.
    2. 볼륨 게이트웨이 (Volume Gateway):
      • iSCSI 프로토콜을 사용하여 온프레미스 애플리케이션에서 AWS 클라우드 스토리지를 로컬 디스크처럼 사용할 수 있다. 데이터를 클라우드로 백업하거나 스냅샷을 통해 데이터 복구를 지원하는 기능도 제공된다.
    3. 테이프 게이트웨이 (Tape Gateway):
      • 기존 테이프 기반 백업 솔루션을 클라우드에 연결하여 가상 테이프 라이브러리(VTL)를 생성하고 데이터를 S3에 저장한 후, 장기적으로 Glacier로 이동할 수 있는 방식이다. 물리적 테이프를 사용하지 않고도 기존 백업 프로세스를 클라우드에 통합할 수 있다.

    따라서, AWS Storage Gateway는 온프레미스 환경과 AWS 클라우드 간의 데이터 전송 및 스토리지 연동을 지원하는 데 주로 사용되며, 클라우드로의 데이터 마이그레이션이나 백업, 하이브리드 스토리지 아키텍처에 적합한 서비스이다.


    AWS Global Accelerator전 세계적으로 사용자 트래픽을 최적화하고 애플리케이션의 가용성과 성능을 향상시키기 위한 네트워크 서비스로 Global Accelerator는 정적 IP 주소를 제공하며, 이를 통해 다중 AWS 리전에 걸쳐 애플리케이션의 끝점으로 트래픽을 자동으로 라우팅하고, 장애 발생 시 자동 페일오버를 통해 가용성을 보장한다.

     

    주요 기능 및 특징:

    1. 정적 IP 제공: Global Accelerator는 하나의 고정된 Anycast IP 주소 세트를 제공한다. 이를 통해 사용자는 해당 IP 주소로 트래픽을 보내면, AWS 리전 내의 최적의 끝점(예: EC2 인스턴스, Elastic IP, NLB)을 선택하여 연결된다. 이 방식은 IP 주소 변경 없이도 애플리케이션을 쉽게 확장하거나 여러 리전에서 배포할 수 있게 한다.
    2. 트래픽 가속: Global Accelerator는 AWS 글로벌 네트워크를 활용하여 전 세계 어디에서든 사용자 트래픽을 최적의 경로로 라우팅한다. 이를 통해 네트워크 지연을 줄이고 애플리케이션의 성능을 향상시킨다.
    3. 자동 장애 조치(페일오버): 특정 리전이나 끝점에서 장애가 발생하면, Global Accelerator는 자동으로 트래픽을 다른 정상적인 리전이나 끝점으로 페일오버 시킵니다. 이를 통해 가용성을 극대화하고, 서비스 중단 없이 사용자가 지속적으로 애플리케이션에 접근할 수 있게 해준다.
    4. 트래픽 분산: Global Accelerator는 여러 리전이나 여러 엔드포인트에 걸쳐 트래픽을 지능적으로 분산합니다. 트래픽 분산 정책을 설정하여 특정 리전이나 끝점으로의 트래픽 분포를 제어할 수 있다.
    5. 애플리케이션 보호: Global Accelerator는 AWS Shield와 통합되어 DDoS(Distributed Denial of Service) 공격으로부터 애플리케이션을 보호한다.

    사용 사례:

    • 전 세계 사용자 대상 애플리케이션: 여러 리전에서 배포된 애플리케이션에 대해 전 세계 사용자에게 최적의 경로로 접근할 수 있게 하여 성능을 극대화한다.
    • 장애 조치(페일오버): 한 리전의 장애가 발생했을 때 다른 리전으로 트래픽을 자동으로 전환하여 고가용성을 보장한다.
    • 정적 IP를 통한 간편한 배포: 여러 리전에 걸쳐 애플리케이션을 배포하면서도 고정된 IP 주소를 유지함으로써 관리 및 설정을 단순화할 수 있다.

    요약:

    AWS Global Accelerator는 고정된 IP 주소, 지연 감소, 자동 페일오버 기능을 통해 글로벌 트래픽을 관리하고, 애플리케이션의 가용성 및 성능을 극대화하는 네트워크 서비스이다.


    페일오버(Failover) 란?

    시스템에서 장애가 발생했을 때, 즉 서버, 네트워크, 애플리케이션 등의 주요 구성 요소가 정상적으로 작동하지 않을 경우, 자동으로 다른 대체 리소스나 백업 시스템으로 전환하여 서비스 중단을 최소화하는 기능을 말합니다.

     

    AWS Global Accelerator에서 페일오버는 다음과 같이 동작:

    1. 장애 발생 감지: 사용자가 접속하는 특정 리전이나 끝점(예: EC2 인스턴스, NLB 등)에 장애가 발생하면, Global Accelerator는 해당 리소스가 더 이상 정상적으로 작동하지 않음을 감지한다.
    2. 트래픽 전환: 장애가 발생한 끝점으로의 트래픽을 멈추고, 다른 정상적인 리전이나 끝점으로 자동으로 트래픽을 전환하여 사용자에게 지속적인 서비스를 제공한다. 이 과정은 사용자가 알아채지 못할 만큼 신속하게 이루어진다.
    3. 고가용성 제공: 페일오버를 통해 하나의 리전이나 끝점에서 문제가 발생하더라도, 애플리케이션은 중단 없이 다른 리전이나 끝점에서 계속해서 동작할 수 있게 됩니다. 이를 통해 서비스의 고가용성연속성을 보장한다.

    즉, 페일오버는 장애 상황에서도 서비스 중단을 최소화하고, 자동으로 다른 대체 리소스로 전환하는 중요한 기술이다. AWS Global Accelerator는 이 페일오버를 전 세계 여러 리전에 걸쳐 자동으로 수행해, 지연을 최소화하면서 높은 성능을 제공한다.

     

    Q. 페일오버와 내결함성의 차이?

    1. 페일오버 (Failover)

    • 정의: 페일오버는 주 시스템이나 컴포넌트에 장애가 발생했을 때, 대체 시스템이나 백업 시스템으로 자동으로 전환되는 과정
    • 목적: 장애가 발생한 경우에도 서비스 중단을 최소화하고, 가능한 빠르게 복구하는 것.
    • 특징:
      • 수동 또는 자동으로 이루어질 수 있으며, 대체 시스템이 즉시 사용 가능해야 함.
      • 예를 들어, 한 서버에 장애가 발생하면 다른 서버로 트래픽을 전환해 지속적으로 서비스를 제공.
    • 장점: 빠르게 장애를 복구할 수 있어 시스템 가용성을 높임.
    • 단점: 대체 시스템으로 전환되는 동안 짧은 중단 시간이 발생할 수 있음.

    2. 내결함성 (Fault Tolerance)

    • 정의: 내결함성은 시스템이 특정 구성 요소에 장애가 발생하더라도 계속 정상적으로 작동할 수 있도록 설계된 성질
    • 목적: 장애가 발생해도 시스템이 중단 없이 계속 운영되는 것.
    • 특징:
      • 시스템의 구성 요소 일부가 장애를 일으키더라도 전체 시스템이 문제없이 작동하도록 설계됨.
      • 이중화된 하드웨어, 소프트웨어를 사용하여 장애를 감지하거나 복구할 필요 없이 즉시 장애를 무시하고 계속 작동 가능.
    • 장점: 완전한 가용성을 유지할 수 있음.
    • 단점: 고도의 복잡성과 비용이 수반됨 (이중화 시스템 필요).

    차이점 요약

    • 페일오버는 장애가 발생했을 때 백업 시스템으로 전환하는 방식으로, 전환 과정에서 약간의 지연이 발생할 수 있지만 빠른 복구를 목표로 한다.
    • 내결함성은 장애에도 서비스 중단이 전혀 없도록 설계된 시스템으로, 시스템 자체가 자동으로 장애를 흡수하고 계속 작동.

    따라서, 페일오버는 장애를 처리하기 위한 대체 시스템으로의 전환을 포함하고, 내결함성은 시스템의 중단 없이 지속적인 가용성을 보장하는 개념.

     

    참고

    ChatGPT

    'AWS' 카테고리의 다른 글

    스케일 업/다운 VS 스케일 아웃/인  (0) 2025.02.28
    AWS 완전 관리형 서비스(Fully Managed Services) 정리  (0) 2025.02.19
    CIDR  (0) 2025.01.05
    서브넷 마스크 / 게이트 웨이 / 네트워크 주소  (0) 2025.01.05
    VPC 관련 정리  (0) 2024.10.17
Designed by Tistory.