6. EC2 인스턴스 스토리지

Tasker_Jang·2024년 2월 28일
0
post-custom-banner

1. EBS 볼륨이란 무엇인가?

Elastic Block Storage (EBS) 볼륨은 가상 데이터를 세그먼트로 호스팅하는데, 이는 다양한 크기의 데이터를 포함할 수 있는 저장 디스크와 같습니다. 일반적으로 이러한 가상 저장 장치들은 한 AWS 지역 내에서 복제되어 가용성을 높입니다. EBS 볼륨은 EC2 인스턴스에 추가적인 스토리지를 제공하며, 이는 하드 드라이브와 유사합니다. 물리적인 하드 디스크와 마찬가지로 EBS 볼륨을 관리하는 것은 AWS 요금에 영향을 미칠 수 있습니다. 변동성이 있는 클라우드 스토리지로, EBS 볼륨은 영구적이고 견고한 스토리지에 대한 적절한 대안을 제공합니다.

EBS 볼륨 유형은 무엇인가?

다양한 클라우드 요구 사항은 다양한 디스크 크기를 필요로 합니다. EBS 볼륨 유형은 다양한 클라우드 사용 사례의 요구를 충족시키기 위한 것입니다. 그 효율성은 초당 입출력 작업(IOPS)으로 측정됩니다.

  • 일반용 SSD (General Purpose SSD):

    • 권장 사용 사례: 시스템 부팅, 가상 머신 생성, 중간 크기의 데이터베이스 저장 등에 사용 가능합니다. 개발 및 테스트 작업을 위한 용도로 좋습니다.
  • 프로비저닝된 IOPS SSD (Provisioned IOPS SSD):

    • 권장 사용 사례: General Purpose SSD가 3,000 IOPS를 넘을 수 없기 때문에, 중요한 클라우드 작업을 지원할 수 있습니다. 대규모 데이터베이스 저장이 가능합니다.
  • 자성 스토리지 볼륨 (Magnetic Storage volume):

    • 권장 사용 사례: 수동 작업에 자성 스토리지 볼륨을 사용하세요. 일반적인 성능은 볼륨당 100 IOPS입니다.

EBS 볼륨의 다른 스토리지 대안에 비해 이점은 무엇인가?

  1. 성능의 유연성: 다양한 종류의 EBS 볼륨을 사용하여 각 사용자의 사용 사례에 맞게 사용자 정의할 수 있습니다. 예를 들어 자주 액세스되는 애플리케이션을 저장할 수 있는 자성 볼륨을 사용할 수 있어서 필요한 경우 임시 스토리지를 위해 고성능 볼륨에 비용을 지불할 필요가 없습니다.

  2. 데이터 빠른 백업: 로컬 백업 프로세스는 기반 인프라의 속도를 늦추기 쉽습니다. 그러나 EBS 볼륨을 사용하면 로컬 컴퓨터가 관여하지 않으므로 백업 작업을 다른 응용 프로그램의 속도를 늦추지 않고 진행할 수 있습니다. 큰 백업 파일을 EBS 볼륨을 사용하여 더 빨리 압축하는 것도 가능합니다.

  3. EBS 볼륨은 안전합니다: 안전성을 위해 EBS 볼륨은 동일한 AWS 영역 내에서 복제됩니다. 이는 필요할 때 볼륨을 사용할 수 있도록 보장합니다. 모든 클라우드 볼륨 및 백업 프로세스의 암호화는 클라우드 내에서 추가적인 보안 계층을 제공합니다. 사용자는 각 EBS 볼륨에 대한 액세스 정책을 정의할 수도 있습니다.

  4. 신뢰성: 사용자는 중요한 작

업에 EBS 볼륨을 신뢰할 수 있습니다. EBS 볼륨은 클라우드 작업을 실행하는 데 도움을 주는 고성능 기능을 갖추고 있습니다. 예를 들어 민감한 데이터를 마이그레이션하거나 대규모 데이터베이스를 유지하는 등의 작업을 수행할 수 있습니다.

  1. 확장성: 온프레미스 환경에서는 내부 하드 디스크가 고갈되면 외부 하드 디스크를 구매해야 합니다. 결과적으로 효율성이 감소하고 파일 관리가 나빠집니다. 그러나 EBS 볼륨의 성능을 유지하면서 확장할 수 있습니다.

2. AMI

Amazon Machine Image (AMI)은 Amazon Web Services (AWS) 환경에서 가상 서버 또는 EC2 인스턴스를 생성하기 위한 마스터 이미지입니다.

이 머신 이미지는 사용자의 운영 환경을 결정하는 운영 체제 및 다른 소프트웨어로 구성된 템플릿과 같이 사용자의 운영 환경을 설정하는 템플릿과 같이 작동합니다. AMI 유형은 지역, 운영 체제, 시스템 아키텍처(32비트 또는 64비트), 시작 권한 및 Amazon Elastic Block Store (EBS) 또는 인스턴스 스토어에 의해 지원되는지에 따라 분류됩니다.

각 AMI에는 특정 유형의 인스턴스에 필요한 루트 볼륨에 대한 템플릿이 포함되어 있습니다. 일반적인 예로는 운영 체제, 응용 프로그램 서버 및 응용 프로그램이 포함될 수 있습니다. 권한은 AMI 시작이 적절한 AWS 계정으로 제한되도록 제어됩니다. 블록 장치 매핑을 사용하여 올바른 볼륨이 시작된 인스턴스에 연결되도록 합니다.

3. EC2 인스턴스 스토어

인스턴스 스토어란?

인스턴스 스토어는 물리적인 하드 드라이브 역할을 하는 저장 볼륨입니다. 이는 Amazon EC2 인스턴스에 대한 임시 저장 공간을 제공합니다. 인스턴스 스토어의 데이터는 해당 인스턴스의 수명 동안 유지됩니다. 인스턴스가 다시 부팅되면 인스턴스 스토어의 데이터가 유지됩니다. 인스턴스가 휠면하거나 종료되면 인스턴스 스토어의 데이터는 손실됩니다. 인스턴스가 중지된 상태에서 시작된 경우 사용된 인스턴스 스토어가 없는 다른 호스트에서 시작될 수 있습니다. 가치 있는 데이터를 스토어 인스턴스에 저장하는 것은 피하는 것이 좋습니다. 인스턴스 스토어는 임시 파일 및 쉽게 재생성할 수 있는 데이터에 적합합니다.

4. EBS 다중 연결 기능

Amazon Elastic Block Store 또는 EBS는 EC2 인스턴스에 연결할 수 있는 내구성 있는 블록 기반 저장 장치입니다. AWS에서는 Multi-Attach라는 기능을 출시했는데, 이를 통해 EC2 인스턴스가 Linux 워크로드의 경우 최대 16개의 인스턴스가 하나의 EBS 볼륨을 공유하고 읽기 및 쓰기 권한을 부여할 수 있습니다. 각 인스턴스에는 해당 볼륨에 대한 완전한 읽기 및 쓰기 권한이 있습니다.

Amazon EBS Multi-Attach 활성화 방법:

  1. EBS 볼륨 생성: AWS 관리 콘솔, AWS Command Line Interface (CLI) 또는 AWS SDK를 사용하여 EBS 볼륨을 생성해야 합니다. 볼륨을 생성할 때 "호환성" 섹션에서 "Nitro-based" 인스턴스 유형을 선택하고, 볼륨을 연결할 인스턴스와 동일한 가용 영역을 선택해야 합니다.

  2. 볼륨을 인스턴스에 연결: 볼륨이 생성되면 EC2 관리 콘솔의 "볼륨 연결" 옵션을 사용하거나 AWS CLI에서 "attach-volume" 명령을 사용하여 인스턴스에 연결할 수 있습니다.

  1. EBS 볼륨에 Multi-Attach 활성화:
    다른 인스턴스가 동일한 볼륨에 연결할 수 있도록 Multi-Attach를 활성화하려면 AWS CLI 또는 SDK를 사용하여 볼륨의 "EnableMultiAttach" 속성을 "true"로 설정해야 합니다.

  2. 다른 인스턴스에 볼륨 연결: "EnableMultiAttach" 속성이 설정되면 EC2 관리 콘솔의 "볼륨 연결" 옵션을 사용하거나 AWS CLI에서 "attach-volume" 명령을 사용하여 다른 인스턴스에 볼륨을 연결할 수 있습니다.

참고로 볼륨을 연결하려는 인스턴스는 동일한 가용 영역에 있어야 하며 Nitro 기반의 인스턴스여야 합니다. 또한 종료된 상태인 인스턴스에 Multi-Attach 볼륨을 연결할 수 없습니다.

EBS Multi-Attach의 제한 사항:

  • Multi-Attach는 Nitro 기반 EC2 인스턴스에서만 사용 가능합니다.
  • Multi-Attach 볼륨은 동일한 가용 영역에 있는 최대 16개의 인스턴스에 연결할 수 있습니다.
  • Multi-Attach는 오직 Provisioned IOPS SSD (io1 또는 io2) 볼륨에서 지원됩니다.
  • Multi-Attach io1 볼륨은 us-east-1, us-west-1, us-west-2 및 ap-northeast-2 리전에서 사용할 수 있습니다.
  • Multi-Attach 볼륨은 부팅 볼륨으로 생성할 수 없습니다.
  • Multi-Attach 볼륨은 인스턴스당 하나의 블록 장치 매핑에만 연결될 수 있습니다.
  • 볼륨 생성 후에 Multi-Attach를 활성화하거나 비활성화할 수 없습니다.
  • Multi-Attach 활성화된 볼륨의 유형, 크기 또는 Provisioned IOPS를 변경할 수 없습니다.
  • 인스턴스 시작 중에 Amazon EC2 콘솔 또는 RunInstances API를 사용하여 Multi-Attach를 활성화할 수 없습니다.
  • Multi-Attach 활성화된 볼륨이 Amazon EBS 인프라 레이어에서 문제가 발생하면 해당 볼륨에 연결된 모든 인스턴스에 사용할 수 없게 됩니다. Amazon EC2 또는 네트워킹 레이어에서의 문제는 일부 연결된 인스턴스에만 영향을 줄 수 있습니다.

5. EFS

AWS Elastic File System (EFS)은 Amazon에서 제공하는 주요 세 가지 스토리지 서비스 중 하나입니다. 이는 Linux 기반 애플리케이션 및 워크로드용으로 설계된 확장 가능한 클라우드 기반 파일 시스템으로, AWS 클라우드 서비스 및 온프레미스 리소스와 결합하여 사용할 수 있습니다. EFS는 사용자의 요구에 따라 두 가지 스토리지 클래스, 즉 자주 액세스되는 파일에 대한 표준 액세스와 장기간 사용되지만 덜 사용되는 파일을 저렴하게 저장하는 Infrequent Access 중에서 선택할 수 있습니다.

EFS는 파일 시스템 구조에 NFSv4 프로토콜을 사용하며, 표준 온프레미스 구조를 반영하여 파일의 전송 및 액세스를 간소화합니다. 이는 Elastic Cloud Compute (EC2) 인스턴스와 결합하여 사용하거나 독립적인 파일 시스템으로 사용할 수 있습니다. EFS는 저장 공간 프로비저닝이 필요하지 않으며 필요에 따라 서비스를 확장할 수 있도록 지불 방식입니다.

EFS의 주요 기능 중 일부는 다음과 같습니다:

  1. 공유 스토리지:

    • 파일은 AWS 서비스 및 온프레미스에서 액세스할 수 있습니다.
    • 클라우드 내에서 최대 1,000개의 EC2 인스턴스에서 동시에 액세스할 수 있습니다.
    • VPN 또는 AWS Direct Connect를 통해 클라우드 또는 지역 간에 파일 액세스가 가능하므로 하이브리드 솔루션에 적합합니다.
    • 파일 액세스는 여러 AWS 가용 영역(AZ) 및 지역에서 가능하여 협력과 글로벌 원격 근무를 용이하게 합니다.
  2. 확장 가능한 성능:

    • EFS는 IOPS 및 처리량이 사용량 및 연결된 인스턴스 수와 함께 확장되도록 설계되었습니다.
    • 저장 크기가 증가함에 따라 성능도 증가합니다.
    • 최대 성능에서 10 GB/초의 처리량과 500k IOPS를 제공합니다.
    • EFS는 데이터가 이동되거나 전송됨에 따라 자동으로 확장되어 공간 부족이나 사용하지 않는 저장소에 대한 걱정을 최소화합니다.
  3. 안전하고 규정 준수:

    • EFS는 다중 보안 레이어를 허용하며 기존 보안 인프라를 활용합니다.
    • Amazon의 Identity and Access Management (IAM) 역할 및 VPC 보안 그룹과 함께 사용할 수 있습니다.
    • POSIX를 사용하여 개별 파일 권한을 정의할 수 있습니다.
    • EFS는 PCI DSS, HIPAA 및 SOC와 같은 일반적인 규정 준수 기준을 내장하고 필요한 경우 기타 규정을 준수할 수 있습니다.

6. EBS와 EFS의 차이점

  • 저장 유형
    EBS(elastic block storage) 및 EFS(elastic file system)는 이름에서 알 수 있듯이 EBS는 블록 레벨 저장소이며, EFS는 파일 레벨 저장소입니다.

  • 가용성
    EBS는 인스턴스에 직접 연결되기 때문에 가용성이라는 용어가 없습니다. 반면 Amazon EFS는 매우 내구성 있고 높은 가용성의 저장소입니다.

  • 내구성
    EBS는 하드 디스크와 유사하지만 EBS는 가상 EC2 인스턴스에 연결되어 있으며 일반 하드 디스크보다 20배 더 높은 신뢰성을 제공합니다.

  • 성능
    EBS는 General Purpose 볼륨에 대해 1GB당 3 IOPS의 기본 성능을 제공하며 Provisioned IOPS를 사용하여 성능을 향상시킬 수 있습니다. 반면 EFS는 초당 최대 7000개의 파일 시스템 작업을 지원합니다.

  • 데이터 저장
    EBS에 저장된 데이터는 동일한 가용 영역에 유지되며 동일한 가용 영역 내에서 여러 복제본이 생성됩니다. 반면 EFS에 저장된 데이터는 동일한 지역에 유지되며 동일한 지역 내에서 여러 복제본이 생성됩니다.

  • 포괄적인 관리 서비스
    EFS는 완전히 관리되는 서비스로, 회사가 파일 시스템을 패치, 배포 또는 유지할 필요가 없습니다. 그러나 EBS의 경우는 해당되지 않습니다.

  • 데이터 액세스
    EBS의 가장 중요한 단점 중 하나는 직접적으로 인터넷을 통해 액세스할 수 없으며 연결된 단일 EC2 인스턴스에만 액세스할 수 있습니다. 반면 EFS 저장소는 동시에 1에서 1000개의 EC2 인스턴스에 인터넷을 통해 액세스할 수 있지만 이러한 인스턴스는 동일한 지역에 있어야 합니다.

  • 암호화
    EBS와 EFS는 모두 암호화를 지원하며 AWS KMS-관리 고객 마스터 키(CMK) 및 AES 256비트 암호화 표준을 사용합니다.

  • 파일 크기 제한
    EBS는 EC2 인스턴스에 직접 연결되므로 파일 크기에 대한 제한이 없습니다. 반면 EFS의 경우 단일 파일의 최대 크기는 47.9TiB까지 일 수 있습니다.

  • 비용 절감
    EFS는 사용한 만큼만 지불하므로 사전 프로비저닝, 선불 수수료 또는 약정이 필요하지 않습니다. 반면 EBS의 경우 고정된 양의 볼륨을 연결해야 하며 해당 양에 대해 청구됩니다.

  • 사용 사례
    Amazon EBS 사용 사례:

  1. 소프트웨어 테스트 및 개발: Amazon EBS는 특정 인스턴스에만 연결되므로 테스트 및 개발 목적에 가장 적합합니다.
  2. 업무 연속성: Amazon EBS는 EBS 스냅샷과 Amazon 머신 이미지만 있으면 다양한 AWS 지역에서 응용 프로그램을 실행할 수 있어 업무 일관성의 좋은 수준을 제공합니다.
  3. 기업 전체 응용 프로그램: EBS는 블록 레벨 저장소를 제공하므로 Microsoft Exchange, Oracle 등 다양한 응용 프로그램을 실행할 수 있습니다.
  4. 트랜잭션 및 NoSQL 데이터베이스: EBS는 낮은 지연 시간을 제공하므로 트랜잭션 및 NoSQL 데이터베이스의 최적 수준의 성능을 제공합니다. 또한 데이터베이스 관리에 도움이 됩니다.
  • Amazon EFS 사용 사례:
  1. Lift-and-shift 응용 프로그램 지원: EFS는 신축성 있고 높은 가용성 및 확장 가능한 저장소이며, 사용자가 기업 응용 프로그램을 쉽게 빠르게 이동할 수 있도록 이러한 모든 기능을 제공합니다.
  2. 빅 데이터 분석: EFS는 대용량 데이터 응용 프로그램을 실행할 수 있는 능력이 있습니다.
  3. 웹 서버 지원: EFS는 매우 견고한 처리량 파일 시스템으로 웹 서버 응용 프로그램(웹 사이트 또는 블로그 등)을 활성화할 수 있습니다.
  4. 응용 프로그램 개발 및 테스트: Amazon EFS가 필요한 공유 파일 시스템을 제공하는 유일한 저장소입니다.
profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.
post-custom-banner

0개의 댓글