Amazon Web Services 한국 블로그

AWS Fargate에 대한 AWS Graviton2 지원 – 서버리스 컨테이너 가격 대비 성능 최대 40% 향상

AWS Graviton2 프로세서는 AWS에서 64비트 Arm Neoverse 코어를 사용하여 사용자 정의 구축하여 Amazon Elastic Compute Cloud(Amazon EC2)에서 실행하는 클라우드 워크로드에 대해 최고의 가격 대비 성능을 제공합니다. 다양한 워크로드에 대해 동급 x86 기반 인스턴스 대비 최대 40% 뛰어난 가격 대비 성능을 제공합니다. Intuit, SmugMug, Snap, Formula One 및 Honeycomb.io와 같은 당사 고객은 Graviton2 기반 인스턴스를 사용하여 워크로드에 대한 Amazon EC2에서 보다 나은 가격 대비 성능을 제공하기 위해 워크로드를 실행하고, 더 나은 가격 대비 성능을 누릴 수 있습니다.

Amazon Relational Database Service(Amazon RDS), Amazon Aurora, Amazon ElastiCache, Amazon OpenSearch Service (Amazon Elasticsearch Service 후속작) 및 Amazon EMR 등의 많은 완전 관리형 서비스는 Graviton2 의 이점을 고객에게 확대했습니다. 최근에는 AWS Lambda를 사용하는 서버리스 컴퓨팅 고객에게도 Graviton2의 이점을 확대했습니다. AWS Graviton2 제공 AWS Lambda 함수는 x86 기반 인스턴스에서 실행하는 것 대비 20% 저렴한 비용으로 최대 19% 향상된 성능을 제공합니다.

오늘 AWS Fargate에 대한 AWS Graviton2 지원을 Amazon Elastic Container Service(Amazon ECS)를 통해 발표하게 되어 기쁩니다. AWS Fargate는 자체 서버를 프로비저닝, 크기 조정 및 관리할 필요가 없는 컨테이너용 서버리스 컴퓨팅 엔진입니다. AWS Graviton2 프로세서 제공 AWS Fargate는 컨테이너식 애플리케이션을 위한 동급 인텔 x86 기반 Fargate 대비 20% 저렴한 비용으로 최대 40% 향상된 가격 대비 성능을 제공합니다.

Fargate에 대한 Graviton2 지원을 통해, Fargate의 서버리스 이점, Graviton2의 가격 대비 성능 이점 및 원하는 컨테이너 컴퓨팅 프로세서를 사용할 수 있는 유연성을 얻을 수 있습니다. Amazon Elastic Container Registry(Amazon ECR) 등의 컨테이너 레지스트리와 함께 이미지 매니페스트에 ARM64이 포함된 다중 아키텍처 이미지를 업로드할 수 있습니다. Fargate는 Amazon ECS를 통해 오케스트레이션될 때 Graviton2 기반 컴퓨팅에서 이러한 애플리케이션을 실행합니다.

다중 아키텍처 컨테이너 이미지는 레이어와 매니페스트라는 두 가지 주요 부분으로 구성됩니다. 각 컨테이너 이미지에는 파일 시스템 컨텐츠의 레이어가 하나 이상 존재합니다. 매니페스트는 이미지를 구성하는 레이어 그룹과 런타임 특성 (ARM64X86_64)을 지정합니다.

이를 통해 여러 아키텍처를 지원하는 동일한 리포지토리를 가질 수 있으며, 컨테이너 런타임은 ARM64 등의 시스템 아키텍처를 기반으로 가져올 이미지 레이어를 선택하는 작업을 수행합니다. 자세한 내용은 Amazon ECR용 다중 아키텍처 컨테이너 이미지 소개 단원을 참조하십시오.

Graviton2 프로세서 제공 Fargate 시작하기
Fargate에 대한 Graviton2 지원을 사용하려면 ECS 클러스터에서 Arm 호환성을 옵트인해야 합니다. ECS 콘솔에서 새 작업 정의를 생성할 때 Linux/ARM64를 [운영 체제/아키텍처] 드롭다운 목록에서 선택하면 됩니다.

다음은 선택적 파라미터 cpuArchitecture부터 ARM64로 Fargate 시작 유형을 사용하는 간단한 컨테이너를 포함하는 작업 정의의 예입니다. (기본값은 X86_64입니다).

{
 "family": "bb-arm64",
 "networkMode": "awsvpc",
 "containerDefinitions": [
    {
        "name": "sleep",
        "image": "arm64v8/busybox",
        "cpu": 100,
        "memory": 100,
        "essential": true,
        "command": [ "echo hello" ],
        "entryPoint": [ "sh", "-c" ]
    }
 ],
 "requiresCompatibilities": [ "FARGATE" ],
 "cpu": "1 vCpu",
 "memory": "3 GB",
 "runtimePlatform": { "cpuArchitecture": "ARM64" },
 "executionRoleArn": "arn:aws:iam::1234567890:role/ecsTaskExecutionRole"
}

Graviton 기반 컴퓨팅으로 작업을 실행하면 ECS 콘솔의 각 작업 상세 정보 페이지에서 운영 체제/아키텍처Linux/ARM64의 값을 확인할 수 있습니다.

AWS 명령줄 인터페이스(AWS CLI) 를 사용하면 ECS 클러스터에서 어떤 아키텍처가 사용되는지 간단히 확인할 수 있습니다.

$ aws ecs describe-tasks \
    --cluster MyCluster \
    --tasks arn:aws:ecs:us-west-2:123456789012:task/MyCluster/1234567890123456789

다음은 DescribeTasks 응답으로 CPU 아키텍처의 출력이거나 ListTasks 에 대한 필터로 사용할 수 있는 CPU 아키텍처의 출력입니다.

{ 
    "tasks": [
    {
        "family": "...",
        "attributes": [
            {
                "name": "ecs.cpu-architecture",
                "value": "arm64"
            }
        ]
    }]
}

Gaviton2 기반 Fargate 컨테이너로 마이그레이션
Intel x86 기반 제품을 사용하면 컨테이너식 애플리케이션에 사용했던 것과 동일한 Fargate 기능을 모두 사용할 수 있습니다. Amazon Elastic File System(Amazon EFS)를 사용하는 로깅, 모니터링, 추적 및 확장 가능한 임시 스토리지 등을 통하여 애플리케이션을 Graviton2 기반 Fargate 컨테이너로 쉽게 마이그레이션할 수 있습니다. Amazon CloudWatch 로그 및 지표를 컨테이너 인사이트AWS Distro for Open Telemetry 에이전트를 ServiceLens를 통해 추적을 사용하는 사이드카로 사용하여 즉시 로깅할 수 있습니다.

Amazon ECS에서는 Amazon ECS Exec를 브레이크 글래스 또는 개발자 디버깅 시나리오에 사용할 수 있습니다. ECS Exec을 사용하면 먼저 호스트 컨테이너 운영 체제와 상호 작용하거나 인바운드 포트를 열거나 SSH 키를 관리하지 않고도, 컨테이너와 직접 상호 작용할 수 있습니다. ECS Exec을 사용하여 Amazon EC2 인스턴스 또는 AWS Fargate에서 실행되는 컨테이너에서 명령을 실행하거나 쉘을 가져올 수 있습니다.  자세한 내용은 AWS 설명서에서 디버깅을 위한 Amazon ECS Exec 사용 단원을 참조하십시오.

개발 팀이 애플리케이션이 ARM64 호환되는지 테스트하고 검증한 다음에는, Graviton을 오랫동안 지원해온 AWS CodeBuild를 사용하는 것 외에도 이제 Jenkins 또는 Gitlab 러너를 실행할 수 있습니다. 이를 통해 Fargate에서의 테스트부터 컨테이너 구축, 실행에 이르기까지 엔드 투 엔드 서버리스 환경을 제공할 수 있습니다.

AWS Fargate의 모니터링 및 로깅, 보안 및 지속적 전송에 대한 지원을 더 많이 받으려면 Fargate의 기능을 확장한 Aqua Security, Datadog, New Relic, Splunk, and Sumo Logic 등의 AWS Fargate 파트너 목록을 참조하십시오.

정식 출시
AWS Fargate에 대한 AWS Graviton2 지원은 바레인, 케이프타운, 중국 및 GovCloud 리전을 제외한 Fargate를 사용할 수 있는 모든 AWS 리전에서 이용할 수 있습니다. 이 기능은 Fargate 플랫폼 버전 (PV) 1.4.0 이상에서 지원됩니다. PV 1.4.0을 아직 사용하지 않는 경우 AWS 설명서의 AWS Fargate 플랫폼 버전 섹션을 참조하여 마이그레이션 방법을 알아보십시오.

ARM 호환 컨테이너 기반 애플리케이션의 가격 대비 성능을 최대 40% 향상할 수 있습니다. Compute Savings Plans의 1년 또는 3년 약정에 대한 대가로 온디맨드 요금제를 최대 52% 낮춰 비용을 더욱 절감할 수 있습니다. 자세한 내용은 AWS Fargate 요금 페이지를 참조하세요.

이 인스턴스를 사용해보고 AWS 컨테이너 로드맵 (Amazon ECS용 AWS forum 내) 또는 기존 AWS Support 담당자를 통해 피드백을 보내주십시오.

Channy