이 솔루션은 IBM AIX Unix 플랫폼에서 Azure의 Red Hat Enterprise Linux(RHEL)로 마이그레이션하는 방법을 설명합니다. 실제 예제는 대규모 고객을 위한 Health and Human Services 애플리케이션이었습니다. 낮은 트랜잭션 시간과 대기 시간은 레거시 및 Azure 시스템 모두에 대한 중요한 요구 사항이었습니다. 핵심 기능은 관련 그래픽 이미지를 포함하는 네트워크 파일 저장소에 연결되는 데이터베이스에 고객 정보를 저장하는 것입니다. Azure는 Azure NetApp Files를 사용하여 이러한 요구 사항을 해결합니다.
아키텍처
다음 다이어그램에서는 마이그레이션 전 온-프레미스 AIX 레거시 시스템 아키텍처를 보여 줍니다.
이 아키텍처의 Visio 파일을 다운로드합니다.
네트워크 어플라이언스는 광범위한 네트워크 라우팅 및 부하 분산 계층(A)을 제공합니다.
프레젠테이션 계층(B)은 자체 서브넷에 있는 3개의 Java 웹 프런트 엔드 머신을 사용하여 네트워크 트래픽을 방화벽으로 분할합니다.
방화벽(C)은 모든 참여 계층과 하위 시스템 간에 네트워크 경계를 제공합니다. 방화벽은 효과적이지만 관리하기에 부담스럽기도 합니다.
시스템은 세 개의 웹 애플리케이션 서버가 있는 애플리케이션 계층(D)에 사용자 요청을 제공합니다.
애플리케이션 계층은 DB2 데이터베이스 및 NAS(네트워크 연결 스토리지)를 호출합니다.
데이터베이스(E)는 AIX의 DB2입니다. HA/DR 클러스터에 세 개의 DB2 서버가 구성됩니다.
이 애플리케이션은 고객 및 사용자의 그림 및 PDF와 같은 이진 개체를 NAS 하위 시스템(F)에 저장합니다.
관리 및 관리 서버와 MQ 서버(G)는 방화벽으로 분할된 자체 서브넷에 있습니다.
LDAP(Lightweight Directory Access Protocol) ID 관리 서비스(H)는 방화벽으로 분할된 자체 서브넷에 있습니다.
다음 다이어그램은 Azure RHEL 마이그레이션 후 시스템 아키텍처를 보여줍니다.
이 아키텍처의 Visio 파일을 다운로드합니다.
데이터 흐름
Azure 시스템으로 들어오는 트래픽은 Azure ExpressRoute 및 Azure Traffic Manager를 통해 라우팅됩니다.
- ExpressRoute는 Azure 가상 네트워크에 대한 안전하고 안정적인 프라이빗 연결을 제공합니다. ExpressRoute는 짧은 대기 시간, 높은 안정성 및 속도, 최대 100Gbps의 대역폭으로 Azure에 연결합니다.
- Traffic Manager는 Azure 지역에 공용 애플리케이션 트래픽을 분산합니다.
네트워크 관리 계층은 엔드포인트 보안, 라우팅 및 부하 분산 서비스를 제공합니다. 이 계층은 Azure Load Balancer 및 Azure Web Application Firewall을 사용합니다.
Azure App Service는 프레젠테이션 계층으로 사용됩니다. App Service는 .NET 또는 Java 애플리케이션을 위한 PaaS(Platform-as-a-Service) 계층입니다. Azure 지역 내 및 전체에서 가용성 및 확장성을 위해 App Service를 구성할 수 있습니다.
솔루션은 네트워크 보안 그룹을 사용하여 분할된 자체 가상 네트워크의 각 애플리케이션 계층을 캡슐화합니다.
가용성 집합 및 공유 Azure Storage는 애플리케이션 계층 수준에서 VM(가상 머신)에 대한 HA 및 확장성을 제공합니다. 애플리케이션 클러스터 서버는 트랜잭션 상태를 공유하고 필요에 따라 VM을 스케일 업합니다.
애플리케이션은 프라이빗 엔드포인트 연결을 사용하여 Azure SQL Database의 데이터를 저장하고 액세스합니다. SQL Database는 비즈니스 연속성 구성에서 실행되며, 자동 및 교차 지리적 BCDR에 대한 지역 복제 및 자동 장애 조치(failover) 그룹을 제공합니다.
Azure NetApp Files는 공유 NAS가 이진 데이터에 빠르게 액세스하고 보조 지역에 복제할 수 있도록 지원합니다.
보조 지역은 BCDR에 다음 구성 요소를 제공합니다.
- Azure Site Recovery는 활성-수동 구성에서 DR 장애 조치(failover)에 대한 VM 이미지를 백업합니다. Site Recovery는 보조 지역에 일관된 VM 이미지 복제본을 만들고 VM 이미지를 동기화 상태로 유지합니다.
- SQL Database 비즈니스 연속성 구성은 데이터베이스 트랜잭션을 일관되게 유지합니다. SQL Database는 복제본 데이터베이스를 프로비전하고 동기 또는 비동기 데이터 복제와 동기화된 상태로 유지합니다.
시스템에는 다음 구성 요소도 포함됩니다.
관리 가상 네트워크에 있는 하나 이상의 VM은 관리 기능을 제공합니다.
Azure Service Bus는 MQ 시리즈 인프라를 구현하고 애플리케이션에 대한 메시지 큐 서비스를 제공합니다. MQ 시리즈에서 Azure Service Bus로 마이그레이션하는 방법에 대한 자세한 내용은 ActiveMQ에서 Azure Service Bus로 마이그레이션을 참조하세요.
Microsoft Entra ID는 레거시 LDAP 서비스에서 마이그레이션된 모든 Azure 엔터티 및 ID에 대한 ID 및 액세스 관리를 제공합니다.
구성 요소
Azure ExpressRoute는 연결 공급자가 지원하는 프라이빗 연결을 통해 온-프레미스 네트워크를 Microsoft 클라우드 서비스로 확장합니다. ExpressRoute는 짧은 대기 시간, 빠른 속도 및 높은 대역폭을 사용하여 Azure 시스템에 대한 안전하고 안정적인 프라이빗 연결을 제공합니다.
Azure Traffic Manager는 고가용성과 빠른 응답성으로 Azure 지역에 트래픽을 분산하는 DNS 기반 트래픽 부하 분산 장치입니다.
Azure Load Balancer는 구성된 부하 분산 규칙 및 상태 프로브에 따라 들어오는 네트워크 트래픽을 백 엔드 VM 간에 분산하여 고가용성을 지원합니다. Load Balancer는 OSI(Open Systems Interconnect) 모델의 계층 4에서 작동합니다.
Azure Web Application Firewall은 악의적인 공격 및 일반적인 웹 취약성으로부터 웹앱을 보호하는 클라우드 네이티브 WAF 서비스입니다.
Azure App Service는 확장 가능하고 신뢰할 수 있는 클라우드 인프라에서 모든 플랫폼용 엔터프라이즈 웹앱을 빠르고 쉽게 배포하기 위한 완전 관리형 웹 호스팅 서비스입니다.
Azure Virtual Machines는 확장성 있는 주문형 컴퓨팅 리소스를 제공하는 여러 Azure 서비스 중 하나입니다. Azure VM을 사용하면 물리적 하드웨어를 구입하고 유지 관리하지 않아도 가상화의 유연성을 얻을 수 있습니다.
- Azure SSD 관리 디스크는 Azure VM의 블록 수준 스토리지 볼륨입니다.
- Azure Virtual Network 인터페이스 카드(NIC)를 사용하면 Azure VM이 인터넷, Azure 및 온-프레미스 리소스와 통신할 수 있습니다. Azure VM에 여러 가상 NIC를 추가할 수 있으므로 자식 VM에는 자체 전용 네트워크 인터페이스 디바이스 및 IP 주소가 있을 수 있습니다.
Azure Virtual Network는 Azure 개인 네트워크의 기본 빌딩 블록입니다. Virtual Network를 사용하면 여러 유형의 Azure 리소스(예: VM)가 서로 간에는 물론, 인터넷 및 온-프레미스 네트워크와도 안전하게 통신할 수 있습니다. Virtual Network는 확장성, 가용성 및 격리와 같은 Azure 인프라 이점을 제공합니다.
Azure Files 스토리지는 산업 표준 SMB(서버 메시지 블록) 프로토콜을 통해 액세스할 수 있는, 클라우드에서 완전히 관리되는 파일 공유를 제공합니다. 클라우드 및 온-프레미스 Windows, Linux, macOS 배포는 Azure 파일 공유를 동시에 탑재할 수 있습니다.
Azure SQL Database는 항상 최신 OS 및 안정적인 SQL Server 데이터베이스 엔진 버전에서 최고의 가용성으로 실행되는 완전 관리형 데이터베이스 PaaS입니다. SQL Database는 사용자 개입 없이 업그레이드, 패치, 백업 및 모니터링과 같은 데이터베이스 관리 기능을 처리합니다.
Azure NetApp Files는 NetApp에서 제공하는 엔터프라이즈급 Azure 파일 공유 기능을 제공합니다. Azure NetApp Files를 사용하면 엔터프라이즈에서 코드 변경 없이 복잡한 파일 기반 애플리케이션을 쉽게 마이그레이션하고 실행할 수 있습니다.
Azure Site Recovery는 Azure 네이티브 DR 서비스입니다. Site Recovery는 계획되거나 계획되지 않은 중단 중에 애플리케이션이 계속 실행될 수 있도록 복제, 장애 조치(failover) 및 복구 프로세스를 배포합니다.
Azure Service Bus는 간단한 하이브리드 통합을 사용하는 신뢰할 수 있는 클라우드 메시징 서비스입니다.
Microsoft Entra ID 는 Microsoft의 클라우드 기반 엔터프라이즈 ID 및 액세스 관리 서비스입니다. Microsoft Entra Single Sign-On 및 다단계 인증은 사용자가 로그인하고 리소스에 액세스하는 동시에 사이버 보안 공격으로부터 보호하는 데 도움이 됩니다.
대안
Azure App Service 환경은 대규모, 격리 및 보안 네트워크 액세스가 필요한 애플리케이션 워크로드에 적합합니다. 이 기능은 App Service 앱을 대규모로 안전하게 실행하기 위해 완전히 격리된 전용 환경을 제공합니다. App Service 환경에서는 다음과 같은 유형의 앱을 호스트할 수 있습니다.
- 현재 예제에서 볼 수 있는 Linux 웹앱
- Windows 웹앱
- Docker 컨테이너
- 모바일 앱
- Functions
시나리오 정보
레거시 시스템과 클라우드 구현 간의 한 가지 뚜렷한 차이점은 네트워크 세분화 처리에 있습니다. 레거시 시스템은 방화벽을 사용하여 네트워크를 분할했습니다. Azure와 같은 클라우드 플랫폼은 여러 기준에 따라 트래픽을 필터링하는 가상 네트워크 및 네트워크 보안 그룹을 사용하여 네트워크를 분할합니다.
두 시스템의 또 다른 차이점은 HA(고가용성) 및 DR(재해 복구) 모델입니다. 레거시 시스템에서는 HA/DR에 주로 백업이 사용되었으며, 동일한 데이터 센터에서 어느 정도는 중복 서버를 사용했습니다. 이 구성은 적당한 DR을 제공했지만 HA 기능은 거의 없었습니다. HA/DR 개선은 Azure 플랫폼으로의 이전을 이끈 핵심 동인이었습니다. Azure는 클러스터링, 공유 스토리지 및 Azure Site Recovery를 사용하여 높은 수준의 HA/DR을 제공합니다.
잠재적인 사용 사례
온-프레미스 IBM AIX에서 Azure의 RHEL으로의 이전을 이끈 핵심 동인에는 다음 요소가 포함될 수 있습니다.
하드웨어 업데이트 및 비용 절감. 온-프레미스의 레거시 하드웨어 구성 요소는 점점 구식이 되어 가고 지원도 중단됩니다. 클라우드 구성 요소는 항상 최신 상태입니다. 클라우드의 월별 비용은 더 적을 수 있습니다.
Agile DevOps 환경. 온-프레미스 AIX 환경에서 규정 준수 변경 내용을 배포하려면 몇 주가 걸릴 수 있습니다. 변경 내용을 테스트하려면 유사한 성능 엔지니어링 환경을 여러 번 설정해야 할 수 있습니다. Azure 클라우드 환경에서는 몇 시간 안에 UAT(사용자 승인 테스트) 및 개발 환경을 설정할 수 있습니다. 잘 정의된 최신 DevOps CI/CD(연속 통합 및 지속적인 업데이트) 파이프라인을 통해 변경 내용을 구현할 수 있습니다.
BCDR(비즈니스 연속성 및 재해 복구) 개선. 온-프레미스 환경에서는 RTO(복구 시간 목표)가 길 수 있습니다. 온-프레미스 AIX 환경 예제에서 기존 백업 및 복원을 통한 RTO는 2일이었습니다. Azure로 마이그레이션하면 RTO가 2시간으로 단축되었습니다.
고려 사항
Microsoft Azure Well-Architected Framework를 기반으로 하는 다음 고려 사항이 이 솔루션에 적용됩니다.
가용성
Azure NetApp Files는 Azure NetApp Files 볼륨의 지역 간 복제를 사용하여 보조 지역의 파일 저장소를 업데이트된 상태로 유지할 수 있습니다. 이 Azure 기능은 지역 간 볼륨 복제를 통해 데이터 보호를 제공합니다. 지역 전체 중단이 있는 경우 중요한 애플리케이션을 장애 조치(failover)할 수 있습니다. 지역 간 볼륨 복제는 현재 미리 보기로 제공됩니다.
애플리케이션 클러스터 서버는 필요에 따라 VM을 스케일 업하여 Azure 지역 내에서 가용성을 높입니다.
작업
사전 모니터링 및 관리를 위해 Azure Monitor를 사용하여 마이그레이션된 AIX 워크로드를 모니터링하는 것이 좋습니다.
성능 효율성
이 아키텍처의 잠재적인 병목 상태는 스토리지 및 컴퓨팅 하위 시스템입니다. 그에 따라 스토리지 및 VM SKU를 선택해야 합니다.
사용 가능한 VM 디스크 유형은 울트라 디스크, 프리미엄 SSD(반도체 드라이브), 표준 SSD 및 표준 HDD(하드 디스크 드라이브)입니다. 이 솔루션의 경우 프리미엄 SSD 또는 울트라 디스크를 사용하는 것이 가장 좋습니다.
AIX 시스템에서 들어오는 VM의 크기를 예측하려면 AIX CPU가 대부분의 x86 vCPU보다 약 1.4배 더 빠르다는 사실을 유념하세요. 이 지침은 워크로드에 따라 달라질 수 있습니다.
서로 통신해야 하는 여러 VM을 근접 배치 그룹에 배치합니다. VM을 서로 가깝게 배치하면 통신 대기 시간이 가장 짧아집니다.
확장성
Azure ExpressRoute는 초기 복제 또는 진행 중인 변경 데이터 복제를 위해 상당한 대역폭을 사용하는 구현에 대해 높은 규모를 지원합니다.
확장성을 포함한 인프라 관리는 Azure 데이터베이스에서 자동화됩니다.
애플리케이션 서버 VM 인스턴스를 더 추가하여 애플리케이션 계층을 스케일 아웃할 수 있습니다.
보안
이 솔루션은 Azure 네트워크 보안 그룹을 사용하여 Azure 리소스 간의 트래픽을 관리합니다. 자세한 내용은 네트워크 보안 그룹을 참조하세요.
네트워크 보안에 대한 Azure 모범 사례를 최대한 따릅니다.
VM 또는 IaaS(Infrastructure-as-a-Service) 보안의 경우 Azure의 IaaS 워크로드에 대한 보안 모범 사례를 따르세요.
비용 최적화
AIX 워크로드를 Azure의 Linux로 마이그레이션하면 상당한 비용을 절감할 수 있습니다. 하드웨어 유지 관리가 필요 없고, 시설 비용이 감소하며, 일반적으로 운영 비용을 8~10배 줄일 수 있습니다. Azure는 필요에 따라 계절적 또는 주기적 워크로드에 대한 추가 용량을 수용할 수 있으므로 전체 비용이 절감됩니다.
AIX 워크로드를 Azure로 마이그레이션하면 클라우드 네이티브 서비스를 사용하여 비용을 줄일 수도 있습니다. 다음은 이러한 템플릿의 예입니다.
- 여러 VM을 설정하는 대신 프레젠테이션 계층에 Azure App Service 사용.
- 하드웨어 기반 방화벽을 사용하는 대신 Azure 가상 네트워크를 사용하여 워크로드 분할.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
보안 주체 작성자:
- Jonathon Frost | 수석 프로그램 관리자
다음 단계
- AIX 워크로드를 Azure로 마이그레이션: 접근 방식 및 모범 사례.
- AIX에서 Red Hat Enterprise Linux로의 전략적 마이그레이션 계획 가이드.
- 자세한 내용은 legacy2azure@microsoft.com에 문의하세요.