Amazon Web Services 한국 블로그
Amazon EC2 기반 반도체 설계 긴급 인프라를 구축한 클라우드 부스팅 사례
AWS는 클라우드에서 Electronic Design Automation(EDA) 환경 및 신속한 반도체 설계 업무의 혁신을 지원합니다. 팹리스(Fabless) 및 종합 반도체 회사(IDM: Integrated Device Manufacturers)를 비롯하여 반도체 IP 공급자 및 파운드리(Foundry) 고객/파트너는 대규모 AWS 인프라를 활용하여 차세대 반도체 제품을 설계할 수 있습니다.
이지컴아이앤씨는 반도체 설계 EDA 워크로드를 위한 고성능 컴퓨팅 (High Performance Computing, HPC) 인프라를 구성하여 반도체 인더스트리에 제공해온 AWS 파트너입니다. 그동안 국내 대형 반도체 설계 고객사를 대상으로 케이스에 따라 3K~ 20K CPU 코어 규모의 Amazon Elastic Compute Cloud(Amazon EC2)를 기반으로 EDA 환경을 제공하였으며, 하이브리드 환경에서 AWS 인프라를 설계, 구축 및 운영 경험을 가지고 있습니다.
이 글에서는 반도체 설계 긴급 인프라를 구축한 클라우드 부스팅(Cloud Bursting) 사례를 공유하고자 합니다.
환경 및 요구 사항 분석
이지컴아이앤씨의 반도체 고객사는 기존 온-프레미스 데이터센터의 컴퓨팅 자원의 사용률이 최대 상태에 도달함에 따라 20K CPU 코어 규모(Intel Architecture – Hyperthreading off)의 긴급 컴퓨팅 자원 추가가 필요한 상황이었습니다. 반도체 고객의 프로젝트에 따라 유동적으로 바뀌는 대량의 컴퓨팅 자원, 즉 CPU 코어 수량과 요청한 메모리 용량에 적합한 Amazon EC2 인스턴스를 빠른 시간안에 제공해야 하는 경우가 있습니다.
또한, 이러한 EDA 환경을 효율적으로 사용할 수 있도록 스토리지와 Amazon EC2 인스턴스 사이에서 발생하는 높은 네트워크, 스토리지 I/O를 안정적으로 제공할 수 있는 아키텍처를 요청 받았습니다. 또한 고객의 보안 정책을 준수하기 위해 사용자의 스크린 캡처 방지와 같은 데이터 보호, 로그인을 위한 다단계 인증(Multi-Factor Authentication), 유휴 데이터 암호화 그리고 침입 방지 시스템(Intrusion Prevention System) 설정도 고려해야 했습니다.
클라우드 기반 긴급 반도체 설계 인프라 구현
반도체 설계 고객의 다양한 요청 사항을 충족시키기 위한 EDA 환경을 AWS의 HPC 클러스터 아키텍처로 설계하였습니다. 또한 Infrastructure as Code(IaC) 기반인 AWS CloudFormation으로 AWS 인프라 배포를 진행하여 빠른 구축 속도와 인프라 신뢰성을 보장하였습니다.
민첩한 인프라 배포
EDA 환경을 신속하게 구축하기 위해 코드를 기반으로 Amazon EC2 인스턴스 배포를 진행하였습니다. 또한 대량의 Amazon EC2 인스턴스의 가용성을 확보하기 위해 On-Demand Capacity Reservation(ODCR)을 사용하여 기존에 협의된 타입의 Amazon EC2 인스턴스 수량과 사용 기간을 예약해두었습니다. 이를 통해 빠르게 목표한 수량의 Amazon EC2 인스턴스인 최대 20K CPU 코어 인프라를 24시간 이내에 배포할 수 있었습니다.
EDA 워크로드 최적화
대규모 연산을 성공적으로수행하기 위해 고용량 메모리를 지원하는 Amazon EC2 R5 및 X1e 인스턴스 패밀리를 제안하여 사용했습니다. R5 인스턴스 제품군은 최대 768GiB의 메모리 공간과 1 vCPU 당 8GB의 메모리 비율을 제공하며, X1e 인스턴스는 최대 약 4TiB의 메모리를 지원합니다.
또한 많은 수의 컴퓨트 인스턴스를 효율적으로 사용할 수 있도록 작업 스케줄러인 Son of Grid Engine(SGE)를 통해 클러스터 환경을 구축하였고, 라이선스 관리 도구인 Flexnet License Manager(FlexLM) 을 함께 사용하여 인스턴스마다 라이선스가 적절히 로드밸런싱 될 수 있도록 구성하였습니다.
고성능 스토리지 솔루션
스토리지 환경은 Amazon FSx for Lustre와 Amazon Elastic File System(EFS)를 사용하였고, EFS의 Bursting Throughput 모드를 사용하여 구축했습니다. AWS FSx for Lustre의 경우 배포 타입을 PERSISTENT-50으로 선택하여 SSD 250MB/s/TiB 의 네트워크 Throughput을 확보하였고, 84TiB 용량을 기준으로 총 21,000MB/s의 Throughput과 약 수만의 Input/Output Per Second(IOPS)를 지원하도록 구성했습니다.
Amazon EFS는 용량에 따라 기본 처리량(Baseline Throughput)이 결정되는 Network File System(NFS) 서비스입니다. 기본 처리량 이상의 속도가 필요할 경우 버스트 크레딧을 소모할 때까지 향상된 성능을 제공하는 Bursting Throughput 모드를 사용하였습니다. 해당 모드로 10TiB 용량 이상 사용할 경우, 기본 처리량은 스토리지 1TiB당 150MiB/s, Bursting Throughput 에서는 1TiB당 300MiB/s의 속도로 보다 뛰어난 성능을 제공합니다.
따라서 프로젝트 초기에 파일의 읽고 쓰는 작업 진행이 활발할 경우를 대비하여 보다 높은 성능을 제공하도록 구성하였습니다. 대량의 I/O가 발생하는 계산 집약적 워크로드에서 높은 IOPS 성능을 지원하는 위 서비스을 통해 과부하를 방지하고, 주기적으로 스냅샷을 생성하도록 설정하여 안정적으로 운영할 수 있었습니다.
내부 보안규정 준수
반도체 고객사에서 제공하는 보안 규정을 따라 내부 감사 진행시에도 문제가 없도록 인프라를 구축하였습니다.
우선 폐쇄망 환경 구축을 위하여 온-프레미스와 AWS 네트워크 간 Site-to-Site VPN 연결을 생성하였고, 시스템 및 AWS 콘솔 모두 접근 허가 목록(Allow List)를 구성하여 특정 사용자 계정 및 IP 대역만을 허용하는 안전한 접속 환경을 제공하였습니다.
또한 2차 인증이 필수로 수행되도록 하기 위하여, AWS 콘솔 로그인 시에는 멀티 팩터 인증 (Multi-Factor Authentication, MFA)를 사용하고, 작업 환경인 리눅스 데스크톱 서버에는 오픈소스 OTP(One Time Password) 도구를 사용하였습니다. 추가로 AWS Application Load Balancer(ALB)와 AWS WAF(Web Application Firewall)을 함께 사용하여 L7 방화벽을 구성해 외부에 대한 위험을 최소화하였습니다.
서버 간 통신에서는 필수적인 서비스 포트만을 개방하고, SSH 접속은 바스티온(Bastion) 서버를 통해서만 가능하도록 보안그룹을 구성하였습니다. 만약, 이와 같은 폐쇄망 환경에서 외부 데이터가 필요할 경우에는 온-프레미스에서 SFTP 프로토콜을 기반으로 AWS 내의 FTP 전용 서버로 보안 전송을 진행합니다. 해당 데이터는 EFS로 복사하여 AWS 내부 서버에서 사용할 수 있도록 하였습니다.
시스템과 AWS 콘솔에서 사용자의 모든 작업 로그가 저장되고, 로그 파일을 보관하는 Amazon Elastic Block Storage(EBS), Amazon S3 스토리지는 암호화를 적용하였습니다. Amazon S3에는 객체를 일정 기간 동안 저장 후 기한이 만료되는 경우 삭제하는 수명주기 정책과 액세스 제어를 위한 버킷 정책, Access Control List(ACL) 및 AWS Identity and Access Management(IAM) 제어를 통해 로그 파일을 안전하게 보관할 수 있는 환경을 제공하였습니다.
IAM 사용자 계정은 담당 업무에 따라 최소 권한을 제공합니다. 또한 사용자 계정의 마지막 접속 날짜를 확인하기 위해 AWS Lambda 를 이용하여 모니터링하고, 특정 기간 이상 접속하지 않은 계정의 권한을 제거하여 장기 미접속 계정까지 관리하도록 구현했습니다.
마무리
지금까지 반도체 제품 설계 시 긴급한 인프라가 필요할 때, AWS 클라우드를 활용하여 민첩하게 구성하는 방법을 살펴 보았습니다. 이지컴아이앤씨 사례와 같이, AWS에서는 반도체 설계 환경을 위한 AWS 인프라 구축에 대한 많은 블로그와 솔루션을 제공해드리고 있습니다. 궁금한 점은 언제든지 연락 부탁드립니다.
– 박정욱, 이지컴아이앤씨 매니저
– 손성환, AWS 솔루션스 아키텍트
이 게시물의 내용과 의견은 제3자 작성자의 것이며, AWS는 이 게시물의 내용이나 정확성에 책임을 지지 않습니다.