Site icon 지락문화예술공작단

Amazon EC2 A1 인스턴스 살펴 보기 – 지원 운영 체제 및 애플리케이션

Amazon EC2 A1 인스턴스 살펴 보기 – 지원 운영 체제 및 애플리케이션

지난 re:Invent 2018에서 AWS는 Amazon EC2 A1 인스턴스를 발표했습니다. 이 인스턴스는 모든 최신 세대 인스턴스의 기반이 되는 AWS Nitro 시스템을 기반으로 하며, AWS Graviton 프로세서를 기반으로 한 최초의 인스턴스 유형이기도 합니다.

AWS Graviton 프로세서는 64비트 Arm Neoverse 코어를 사용하여 Amazon이 AWS용으로 특별히 설계한 최초의 범용 프로세서입니다. 이 인스턴스는 다른 인스턴스 유형보다 최대 40% 저렴한 요금으로 같은 수의 vCPU와 DRAM을 제공합니다. A1 인스턴스는 현재 미국 동부(버지니아 북부 및 오하이오), 미국 서부(오레곤), EU(아일랜드) 리전에서 다음 구성으로 이용할 수 있습니다.

모델 vCPU 메모리(GiB) 인스턴스 스토어 네트워크 대역폭 EBS 대역폭
a1.medium 1 2 EBS만 최대 10Gbps 최대 3.5Gbps
a1.large 2 4 EBS만 최대 10Gbps 최대 3.5Gbps
a1.xlarge 4 8 EBS만 최대 10Gbps 최대 3.5Gbps
a1.2xlarge 8 16 EBS만 최대 10Gbps 최대 3.5Gbps
a1.4xlarge 16 32 EBS만 최대 10Gbps 최대 3.5Gbps

이 인스턴스 자체에 대한 자세한 내용은 이 re:Invent TalkA1 제품 세부 정보 페이지에서 확인할 수 있습니다.

인스턴스를 처음 선보인 이래, 꾸준히 운영 체제 지원을 확장해왔으며 Arm 소프트웨어 생태계와 협력하고 있습니다. 이 블로그에서는 지원되는 운영 체제와 인스턴스의 사용 방법을 설명합니다.

운영 체제 지원

만일 오픈 소스 스택을 실행 중이라면, 클라우드에서 확장되는 애플리케이션을 빌드하는 여타의 고객과 마찬가지로, Arm 생태계가 잘 발달되어 있기 때문에 애플리케이션이 이미 지원될 가능성이 높습니다.

A1 인스턴스에는 Arm 프로세서용으로 빌드된 AMI와 소프트웨어가 필요합니다. A1을 발표했던 당시에는 Amazon Linux 2, Ubuntu 16.04 및 18.04와 Red Hat Enterprise Linux 7.6을 지원했습니다. 출시 이후 2개월여 동안 Red Hat Enterprise Linux 8.0 Beta, NetBSD, Fedora Rawhide, Ubuntu 18.10, Debian 9.8 등의 운영 체제를 추가로 지원하게 되었습니다. 앞으로 몇 달 안에 더 많은 운영 체제, Linux 배포판, AMI를 지원할 예정입니다.

이 같은 운영 체제와 Linux 배포판은 기존 x86 AMI와 같은 수준의 Arm AMI 지원을 제공합니다. 대부분의 경우 apt 또는 yum을 사용하여 패키지를 설치하면, OS에 해당 패키지가 Arm용으로 이미 포함되어 있기 때문에 같은 방식으로 실행됩니다.

예를 들어 Amazon Linux 2 또는 Ubuntu의 Arm 버전에 PHP 7.2를 설치하려는 경우, x86 기반 인스턴스 유형과 동일한 단계를 그대로 따르면 됩니다.

$ sudo amazon-linux-extras php72
$ sudo yum install php

또는 Ubuntu 18.04의 경우:

$ sudo apt update
$ sudo apt install php

컨테이너 지원

컨테이너는 A1에 가장 많이 사용되는 애플리케이션 배포 메커니즘입니다. Elastic Container Service(ECS)는 이미 A1 인스턴스를 지원하고 Amazon ECS에 최적화된 Amazon Linux 2 AMI도 제공되며, Elastic Kubernetes Service(EKS) 지원도 곧 발표할 예정입니다. Docker Hub에서 호스팅되는 대부분의 Docker 공식 이미지는 이미 x86과 함께 64비트 Arm 시스템을 지원합니다.

A1에 대한 AWS Batch 지원을 통해 대규모로 실행되는 컨테이너에 대한 지원을 확대해왔습니다.

A1에서 컨테이너 실행

이 섹션에서는 Amazon Linux 2에서 컨테이너를 실행하는 방법을 설명합니다. 대다수의 Docker 공식 이미지(본 게시물 작성 당시 최소 76%)는 64비트 Arm 시스템을 이미 지원하며, 지원하지 않는 이미지도 대부분 지원 기능을 추가하는 패치의 적용이 예정되어 있거나 상용 소프트웨어를 통해 사용가능 합니다.

$ sudo yum install -y docker
$ sudo service docker start
$ sudo docker run hello-world
 
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
3b4173355427: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest
 
Hello from Docker!
This message shows that your installation appears to be working correctly.
...

A1에서 WordPress 실행

A1 인스턴스에서 LAMP(Linux, Apache HTTPd, MariaDB 및 PHP) 스택 실행을 자동화하는 방법을 보여주는 예로, A1 인스턴스 유형을 지원하도록 기본 CloudFormation 템플릿을 업데이트했습니다. Amazon Linux 2를 지원하도록 템플릿을 일부 변경했지만, 그 외에는 모든 인스턴스 유형에 동일한 템플릿을 사용할 수 있습니다. 이 템플릿은 여기에서 다운로드할 수 있으며, 다른 CloudFormation 템플릿과 동일한 방법으로 시작할 수 있습니다.

이 템플릿은 A1 Arm 인스턴스에서 실행되도록 기본 설정됩니다. 템플릿을 시작하면 출력에 실행 중인 인스턴스의 URL이 표시되며, 브라우저에서 이 URL에 접속하면 기본 WordPress 홈 페이지가 서비스되는 것을 확인할 수 있습니다.

요약

오픈 소스 소프트웨어를 사용하는 경우, 지금도 모든 구성 요소가 Arm 시스템에서 정상적으로 작동할 가능성이 높으며, 앞으로 수개월에 걸쳐 지원 범위를 확대하고 A1 인스턴스에서 실행되는 소프트웨어의 성능을 개선해나갈 예정입니다. 오픈 소스 기반 웹-티어 애플리케이션 또는 컨테이너화된 애플리케이션을 사용 중인 경우, A1 인스턴스를 사용해보고 피드백을 주시면 감사하겠습니다.

문제가 발생할 경우 이메일 ec2-arm-dev-feedback@amazon.com, AWS 컴퓨팅 포럼 또는 통상적인 AWS Support 담당자를 통해 알려 주시기 바랍니다. AWS는 항상 여러분의 피드백을 기다리고 있습니다.

이 게시물은 AWS의 수석 엔지니어인 Ali Saidi 님의 허가를 받아 게시합니다.

– Martin Yip;

Source: Amazon EC2 A1 인스턴스 살펴 보기 – 지원 운영 체제 및 애플리케이션

Exit mobile version