Amazon Web Services 한국 블로그

새로운 기능 – Amazon EC2 Mac 인스턴스를 사용한 macOS, iOS, iPadOS, tvOS 및 watchOS 앱 빌드 및 테스트

저는 항상 하드웨어와 소프트웨어의 발전에 뒤쳐지지 않기 위해 최선을 다해 왔습니다. 청소년 시기에는 Altair 8800Apple II를 소유했습니다. 대학교 1학년 때에는 누군가가 저에게 전화 번호를 주면서 모뎀으로 전화해 보라고 했습니다. 연결을 하자 “PENTAGON TIP”라는 응답과 함께 ARPANET에 액세스하게 되었습니다!

저는 PC 산업의 발전과 함께 Byte, InfoWorld 그리고 지금은 사라진 여러 잡지를 열심히 구독했습니다. 1983년 초에는 Apple Computer에서 저렴하고 컴팩트하며 독립적으로 실행되고 사용하기 쉬운 새로운 시스템을 발표할 것이라는 소문이 돌았습니다. 스티브 잡스(Steve Jobs)는 1984년 1월에 Macintosh를 발표했으며, 우리 회사는 교차 개발 호스트로 사용되었던 Apple Lisa 시스템과 함께 몇 대의 Macintosh를 즉시 주문했습니다. 개발자로서, 저는 Mac의 풍부한 내장 API 및 서비스에 매료되었고, 지금도 두꺼운 Inside Macintosh 설명서를 소중히 간직하고 있습니다!

새 Mac 인스턴스
지난 몇 년 동안 AWS 사용자들은 Amazon Elastic Compute Cloud(EC2)에서 macOS를 실행할 수 있기를 원한다고 말했습니다. AWS는 사용자들의 요구를 더 잘 이해하기 위해 많은 질문을 던졌습니다. 그리고 오늘 저희는 새로운 Mac 인스턴스를 소개하게 되었습니다!

오리지널 (128KB) Mac

Mac mini 하드웨어와 AWS Nitro System을 기반으로 하는 Amazon EC2 Mac 인스턴스를 사용하면 macOS, iOS, iPadOS, tvOS, watchOS 및 Safari를 비롯한 Apple 플랫폼용으로 Xcode 애플리케이션을 빌드, 테스트, 패키징 및 서명할 수 있습니다. 이러한 인스턴스는 3.2GHz에서 실행되는 8세대 6코어 인텔 코어 i7(Coffee Lake) 프로세서와 최대 4.6GHz의 Turbo Boost를 지원합니다. 메모리는 32GiB이며 Amazon Elastic Block Store(EBS), Amazon Elastic File System(EFS), Amazon FSx for Windows File Server, Amazon Simple Storage Service(S3), AWS Systems Manager 등의 AWS 서비스에 대한 액세스도 제공됩니다.

네트워킹 측면에서 인스턴스는 Virtual Private Cloud(VPC)에서 실행되며 처리량이 최대 10Gbps인 ENA 네트워킹을 포함합니다. 데이터 전송을 위해 최대 55,000 IOPS(16KB 블록 크기) 및 8Gbps의 처리량을 제공하는 기능과 EBS 최적화를 통해, 인스턴스에 연결된 EBS 볼륨은 I/O 집약적인 빌드 작업을 지원하는 데 필요한 성능을 제공할 수 있습니다.

Mac 인스턴스는 macOS 10.14(Mojave) 및 10.15(Catalina)를 실행하며 명령줄(SSH) 또는 원격 데스크톱(VNC) 을 통해 액세스할 수 있습니다. EC2 Mac 인스턴스용 AMI(mazon Machine Image)는 EC2에 최적화되어 있으며, ENA 드라이버, AWS CLI(명령줄 인터페이스), CloudWatch 에이전트, CloudFormation 도우미 스크립트, AWS Systems Manager지원 및 ec2-user 계정 등 다른 AWS AMI에서 찾을 수 있는 AWS 기능을 포함합니다. 이러한 AMI를 있는 그대로 사용하거나 자체 패키지를 설치하고 사용자 지정 AMI를 생성할 수 있습니다(homebrew-aws repo에는 추가 패키지와 이에 대한 설명서가 포함되어 있습니다).

이러한 인스턴스를 사용하면 앞서 언급한 모든 Apple 환경을 대상으로 하는 빌드 팜, 렌더 팜 및 CI/CD 팜을 만들 수 있습니다. 몇 분 만에 새 인스턴스를 프로비저닝할 수 있으므로 자체 하드웨어를 소유하거나 운영하지 않고도 여러 대상에 대한 코드를 빠르고 비용 효율적으로 빌드할 수 있습니다. 사용한 만큼만 요금을 지불하면 EC2에서 제공하는 탄력성, 확장성, 보안 및 안정성을 활용할 수 있습니다.

EC2 Mac 인스턴스의 실제 작동 사례
언제나처럼 이 인스턴스의 작동 방식을 시연하기 위해 EC2 팀에 인스턴스 액세스 권한을 요청했습니다. 인스턴스는 전용 호스트 형식으로 사용할 수 있으므로 먼저 호스트 할당에서 시작합니다.

$ aws ec2 allocate-hosts --instance-type mac1.metal \
  --availability-zone us-east-1a --auto-placement on \
  --quantity 1 --region us-east-1

그런 다음 명령줄에서 Mac 인스턴스를 시작합니다(콘솔, API 및 CloudFormation도 사용 가능).

$ aws ec2 run-instances --region us-east-1 \
  --instance-type mac1.metal \
  --image-id  ami-023f74f1accd0b25b \
  --key-name keys-jbarr-us-east  --associate-public-ip-address

제 강아지 루나와 짧은 산책을 갔다 오니 인스턴스가 준비된 것을 볼 수 있습니다. 콘솔을 사용하여 적절한 이름을 지정합니다.

그런 다음 인스턴스에 연결합니다.

여기에서 개발 도구를 설치하고, 코드를 인스턴스에 복제하고, 빌드를 시작할 수 있습니다.

인스턴스에서 VNC 서버를 시작하고 VNC 클라이언트를 사용하여 연결할 수도 있습니다.

VNC 프로토콜은 안전한 것으로 간주되지 않으므로 이 기능은 주의해서 사용해야 합니다. 여기에서는 데스크톱의 IP 주소에서만 액세스할 수 있는 보안 그룹을 사용했습니다.

SSH를 통해 VNC 트래픽을 터널링할 수도 있습니다. 이 방식은 더 안전하며 포트 5900을 열 필요가 없습니다.

주요 사항
다음은 Mac 인스턴스에 대한 몇 가지 사실입니다.

AMI 업데이트 – 저희는 Apple에서 지원되는 각 OS의 주 버전 또는 부 버전을 출시할 때마다 새로운 AMI를 제공해 드릴 예정입니다. 또한 분기마다 업데이트된 Amazon 패키지를 포함하는 AMI를 제작할 계획입니다.

전용 호스트 – 인스턴스는 최소 테넌시가 24시간인 EC2 전용 호스트로 시작됩니다. 이 과정은 대체로 투명하지만 인스턴스를 Auto Scaling 그룹의 일부로 사용할 수 없음을 의미합니다.

구매 모델 – Mac 인스턴스를 온디맨드로 실행할 수 있으며 Savings Plan을 구매할 수도 있습니다.

애플 M1 칩Apple M1 칩이 탑재된 EC2 Mac 인스턴스가 이미 준비 중에 있으며 2021년 출시될 예정입니다.

지금 바로 사용 시작
Mac 인스턴스는 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 유럽(아일랜드)아시아 태평양(싱가포르) 리전에서 지금 바로 사용할 수 있습니다. 자세한 내용은 이 동영상을 참조하세요!

Jeff