Azure VM
On-premise 서버를 Azure로 마이그레이션 하기 위해, 현재 인프라를 스케치 하고 클라우드에 매핑해야 한다.
- 네트워크
- VM 이름 지정
- VM 위치 결정
- VM 크기 결정
- Pricing Model 이해
- VM 스토리지
- 운영체제 선택
네트워크 시작
VNet은 Azure에서 VM과 다른 서비스 간의 프라이빗 연결을 제공하기 위해 사용된다. 동일한 가상 네트워크에 속한 VM과 서비스는 서로 Access 할 수 있다. 기본적으로는 가상 네트워크 외부의 서비스는 가상 네트워크 내 서비스와 연결할 수 없다. 그러나 외부 서비스에 대한 액세스를 허용하도록 네트워크를 구성할 수 있다.
네트워크 주소와 서브넷을 설정하면 변경하기 쉽지 않으며, Private 회사 네트워크를 Azure 서비스에 연결하는 경우 VM을 배치하기 전 토폴로지를 고려해야 한다.
가상 네트워크를 설정할 때 사용 가능한 주소 공간, 서브넷 및 보안을 지정한다. Vnet이 다른 Vnet에 연결되는 경우 겹치지 않는 주소 범위를 선택해야 한다. Azure는 VNet내, 상호 연결된 VNet 내 및 온-프레미스 위치에만 연결할 수 있는 경우 모든 주소 범위를 프라이빗 VNet IP 주소 공간의 일부로 처리한다.
네트워크 분리
가상 네트워크 주소 공간이 결정되면 가상 네트워크에 대한 서브넷을 하나 이상 만들 수 있다. VM에 10.1.0.0, 백 엔드 서비스에 10.2.0.0, SQL Server VM에 10.3.0.0을 할당할 수 있다.
네트워크 보안
Subnet 간에는 보안 경계가 없으므로 서브넷의 서비스 간에 서로 통신할 수 있다. 그러나 Subnet to Subnet 및 VM 간의 트래픽 흐름을 제어할 수 있는 NSG를 설정할 수 있다. NSG는 소프트웨어 방화벽 역할을 하며, 네트워크 인터페이스 및 서브넷 수준에서 각각의 인바운드 또는 아웃바운드 요청에 사용자 지정 규칙을 적용한다.
VM 이름 지정
VM 이름은 운영 체제의 일부로 구성된 컴퓨터 이름에 사용된다. Windows는 15자, Linux VM은 64자까지 지정할 수 있다. 이름은 관리 가능한 Azure 리소스를 정의하며 변경하기 어렵다. VM에서 수행하는 작업을 식별할 수 있도록 일관성 있는 이름을 선택해야 한다.
요소 | 예 | 참고 |
환경 | dev, prod, QA | 리소스에 대한 환경을 식별 |
위치 | uw, ue | 리소스가 배포되는 지역을 식별 |
인스턴스 | 01, 02 | 명명된 인스턴스가 둘 이상 있는 경우 |
제품 또는 서비스 | service | 리소스에서 지원하는 제품, Service를 식별 |
역할 | sql, web, msg | 연결된 리소스의 역할 식별 |
Azure 리소스
Azure 리소스는 Azure에서 관리할 수 있는 항목이다. 데이터 센터의 물리적 HW와 마찬가지로 VM에서도 작업을 수행하는데 필요한 요소가 있다.
- VM 자체
- 디스크에 대한 스토리지 계정
- 가상 네트워크(다른 VM 및 서비스와 공유)
- 네트워크에서 통신할 네트워크 인터페이스
- 네트워크 트래픽을 보호하기 위한 네트워크 보안 그룹
- 공용 인터넷 주소(선택 사항)
VM 위치 결정
Azure는 전 세계에 서버와 디스크로 채워진 데이터 센터를 갖추고 있다. 데이터 센터는 지리적 지역으로 그룹화 되어 중복성과 가용성을 제공한다.
가상 머신을 만들고 배포하는 경우 리소스를 할당하는 지역을 선택해야 한다. 성능을 향상하고 법률, 규정 준수 또는 세금 요구 사항을 충족할 수 있도록 사용자에게 가깝게 VM을 배치할 수 있다.
위치에 따라 사용 가능한 옵션이 제한될 수 있다. 영역마다 사용 가능한 하드웨어가 다르며, 지역에 따라 사용할 수 없는 구성도 있다. 위치 간 가격차이도 있다. 워크로드가 특정 위치에 바인딩 되지 않는 경우 여러 지역에 필요한 구성을 확인하여 경제적으로 이용할 수 있다.
VM 크기 결정
Azure는 처리 능력, 메모리 및 스토리지 용량을 독립적으로 지정하는 대신, 다양한 크기의 요소에 대한 변형을 제공한다. Azure는 다양한 VM 크기 옵션을 제공하므로 원하는 작업에 적합된 컴퓨팅, 메모리 및 스토리지의 적절한 조합을 선택할 수 있다.
옵션 | 설명 |
범용 | 균형 잡힌 CPU-메모리 비율을 제공. 테스트 및 개발, 중소형 데이터베이스 및 중소 규모의 트래픽이 있는 웹 서버에 적합 |
컴퓨팅 최적화 | 높은 CPU-메모리 비율을 제공. 중간 규모의 트래픽이 있는 웹 서버, 네트워크 어플라이언스, 일괄 처리 프로세스 및 애플리케이션 서버에 적합 |
메모리 최적화 | 높은 메모리-CPU 비율을 제공. 관계형 데이터베이스 서버, 중대형 캐시 및 메모리 내 분석에 적합 |
스토리지 최적화 | 높은 디스크 처리량과 IO를 제공한다. 데이터베이스를 실행하는 VM에 적합 |
GPU | 고급 그래픽 렌더링 및 비디오 편집을 목표로 하는 전문화된 가상 머신. 딥 러닝을 통한 모델 학습 및 추론에 적합 |
고성능 계산 | 선택적으로 처리를 빨리 할 수 있는 네트워크 인터페이스를 갖춘 가장 빠르고 강력한 CPU VM |
현재 하드웨어 구성이 새 크기에서 허용되는 한, VM을 Upgrade 또는 Downgrade 할 수 있다. 실행 중인 VM 크기를 변경하면 요청을 완료하기 위해 머신이 자동으로 다시 부팅 된다. 프로덕션 VM의 크기를 조정하면 VM이 자동으로 다시 부팅되어 일시적으로 서비스가 중단되고 IP주소 등의 일부 구성 설정이 변경될 수 있다. 이를 유의하고 진행해야 한다.
가격 책정 모델
구독에는 각 VM에 대해 별도로 부과되는 비용이 있다. 컴퓨팅 및 스토리지 비용이다. 이 비용을 분리하여 각각 독립적으로 확장하고 필요한 부분의 요금만 지불할 수 있다.
- 컴퓨팅 비용 : 시간 당 가격으로 책정되지만, 분당 요금으로 청구된다. VM을 중지하고 할당을 해제하면 하드웨어가 해제되므로 컴퓨팅 용량에 대해 청구되지 않는다. Windows같은 경우 운영체제 라이선스 비용까지 포함된다.
- 스토리지 비용 : VM에서 사용하는 스토리지에 대한 요금은 별도로 부과된다. VM 상태는 발생할 스토리지 비용과는 관련이 없다. VM이 중지/할당 해제되고 실행 중인 VM에 대해 요금이 청구되지 않더라도 디스크에서 사용하는 스토리지에 대한 요금은 부과된다.
옵션 | 설명 |
종량제 | 컴퓨팅 용량에 대한 요금을 지불한다. 언제든 시작하거나 중지할 수 있을 뿐 아니라 필요할 때마다 컴퓨팅 용량을 늘리거나 줄일 수 있다. |
Reserved Virtual Machine Instance (RI) | 지정한 지역에서 1년 또는 3년 동안 가상 머신을 사전 구매하는 옵션이다. 약정은 선불 조건으로 체결되며, 종량제 가격 책정에 비해 최대 72%의 가격 절감 효과를 얻을 수 있다. |
VM 스토리지
모든 Azure 가상 머신에는 둘 이상의 VHD가 있는 것이 좋다. 첫 번째 디스크는 운영체제를 지정, 두 번째 디스크는 임시 스토리지로 사용된다. 추가 디스크를 추가하여 애플리케이션 데이터를 저장할 수 있다. 최대 수는 VM 크기 선택에 따라 결정된다. 각 VHD 데이터는 Azure Storage에 페이지 Blob으로 저장되어 사용하는 스토리지에 대한 공간만 Azure에서 할당할 수 있다.
Azure Storage
클라우드 기반 데이터 스토리지 솔루션이다. 거의 모든 형식의 데이터를 지원하며, 저장된 데이터에 대한 보안, 중복성 및 확장 가능한 액세스를 제공한다. Storage Account는 특정 구독의 Azure Storage에 있는 개체에 대한 액세스를 제공한다. VM에는 항상 각각의 연결된 가상 디스크를 보관할 스토리지 계정이 하나 있다.
가상 디스크는 Standard 또는 Premium Storage 계정을 통해 백업할 수 있다. Azure Premium Storage는 SSD를 활용하여 I/O 집약적인 워크로드를 실행하는 VM에 고성능 및 짧은 대기 시간을 지원한다. 프로덕션 워크로드, 특히 성능 변화에 민감하거나 I/O 집약적인 워크로드에는 Azure Premium Storage를 사용한다. 개발 또는 테스트에는 Standard Storage가 적합하다.
디스크를 만들 때 스토리지 계정과 VHD 간의 관계를 관리하는 두 가지 옵션이 제공된다. 관리되지 않는 디스크 또는 관리 디스크 중 하나를 선택한다.
옵션 | 설명 |
관리되지 않는 디스크 | VM 디스크에 해당하는 VHD를 유지하는 데 스토리지 계정을 사용자가 관리해야 한다. 사용하는 공간에 대한 스토리지 계정 요금을 지불한다. 더 많은 디스크로 확장해야 하는 경우 둘 이상의 소토리지 계정이 더 많이 필요하며, 이에 따라 복잡해질 수 있다. |
관리디스크 | 스토리지 계정을 관리하는 부담이 Azure에서 해결된다. 최대 4TB의 디스크 크기를 지정하고, Azure에서 디스크와 스토리지를 모두 만들고 관리한다. 스토리지 계정 제한에 대해 걱정할 필요가 없으므로 관리 디스크를 쉽게 확장할 수 있다. |
운영 체제 선택
Azure는 여러 버전의 Windows 및 Linux OS 이미지를 제공한다. 기본 이미지가 아닌 다른 이미지를 찾으려면 Azure Marketplace에서 특정 시나리오에 맞게 설치된 OS 및 소프트웨어 도구가 포함된 이미지를 검색할 수 있다.
적합한 OS 이미지를 찾을 수 없으면 필요한 구성 요소를 사용하여 디스크 이미지를 만들고, Azure Storage에 업로드하고, Azure VM을 만드는데 사용할 수 있다. 64비트 운영 체제만 지원된다.
Azure VM 관리
- Azure Resource Manager
- Azure PowerShell
- Azure CLI
- Azure REST API
- Azure 클라이언트 SDK
- Azure VM 확장
- Azure Automation Services
Azure Resource Manager
동일한 설정을 사용하여 VM 복사본을 만들려고 할때, Azure는 정확한 VM 복사본을 만드는 데 사용할 템플릿을 만드는 옵션을 제공한다. 모든 리소스를 함께 배포, 업데이트 또는 삭제할 수 있는 명명된 리소스 그룹에 리소스를 구성한다.
Resource Manager 템플릿
솔루션에 배포해야 하는 리소스를 정의하는 JSON 파일이다. 템플릿 내보내기를 선택하여 VM에 대한 자동화 섹션에서 리소스 템플릿을 만든다. 나중에 사용할 리소스 템플릿을 저장하거나 이 템플릿을 기반으로 하여 새 VM을 즉시 배포할 수 있다.
Azure PowerShell
일회성 대화형 작업 및 반복 작업 자동화에 적합하다. PowerShell은 쉘 창과 명령 구문 분석과 같은 서비스를 제공하는 플랫폼 간 쉘이다. Azure PowerShell은 Azure 관련 명령(cmdlet)을 추가하는 선택적 추가 기능 패키지이다.
cmdlet을 사용하여 새 Azure 가상 머신을 만들 수 있다. PowerShell을 통해 스크립트를 사용하여 Azure 작업 자동화 모듈에서 Azure PowerShell을 사용하여 VM을 만들고 관리할 수 있다.
Azure CLI
Azure CLI는 명령줄에서 가상 머신 및 디스크와 같은 Azure 리소스를 관리하기 위한 플랫폼 간 명령줄 도구이다. Cloud Shell을 통해 Windows, Linux, macOS, 브라우저에서 사용할 수 있다. Azure CLI는 PowerShell 없이 작동할 수 있다.
Azure CLI는 다른 스크립팅 언어(Ruby, Python)와 함께 사용할 수 있다.
Azure REST API
Azure REST API는 VM을 만들고 관리하는 기능뿐만 아니라 리소스별로 분류된 작업도 개발자에게 제공한다. 작업은 HTTP 메소드 및 해당 응답과 함께 URI로 노출된다.
- 가용성 집합 만들기 및 관리
- 가상 머신 확장 추가 및 관리
- 관리 디스크, 스냅샷, 이미지 만들기 및 관리
- Azure에서 사용할 수 있는 플랫폼 이미지에 액세스
- 리소스 사용량 정보 검색
- 가상 머신 만들기 및 관리
- 가상 머신 확장 집합 만들기 및 관리
Azure 클라이언트 SDK
Azure 클라이언트 SDK는 Azure REST API를 캡슐화하여 개발자가 Azure와 쉽게 상호 작용할 수 있도록 한다. C#, Java, Node.js, PHP, Python, Ruby 및 Go와 같은 .NET 기반 언어를 포함한 다양한 언어 및 프레임워크에서 사용할 수 있다.
Azure VM 확장 (Azure VM Scale Sets)
Azure VM 확장은 초기 배포 후에 Azure VM에서 작업을 구성하고 자동화 할 수 있는 애플리케이션이다. Azure CLI, PowerShell, Azure Resource Manager 템플릿 및 Azure Portal을 사용하여 실행할 수 있다.
7) Azure Authomation Services
빈번하고 시간 소모적이며 시간 관리 작업을 쉽게 자동화 할 수 있다. 프로세스 자동화, 구성 관리 및 업데이트 관리가 포함된다.
- 프로세스 자동화 : 프로세스 자동화를 통해 데이터 센터에서 발생할 수 있는 이벤트에 응답할 수 있는 감시작 작업을 설정할 수 있다.
- 구성 관리 : 구성 관리를 통해 업데이트를 추적하고 필요에 따라 작업을 수행할 수 있다. Microsoft Endpoint Configuraton Manager를 사용하여 회사의 PC, 서버 및 모바일 디바이스를 관리한다. Configuration Manager를 사용하여 이 지원을 Azure VM으로 확장할 수 있다.
- 업데이트 관리 : VM에 대한 업데이트 및 패치를 관리하는데 사용된다. 이 서비스를 통해 사용 가능한 업데이트의 상태를 평가하고, 설치를 예약하고, 배포 결과를 검토하여 업데이트가 성공적으로 적용되었는지 확인할 수 있다.
Azure VM 가용성 관리
Azure VM은 Azure 데이터 센터 내에서 호스트되는 물리적 서버에서 실행된다. 물리적 서버가 실패하면 Azure는 VM을 정상 호스트 서버로 자동 이동시킨다. 복구 마이그레이션에는 몇 분이 걸릴 수 있으며, 그 동안 해당 VM 에서 호스팅 되는 애플리케이션을 사용할 수 없다. 서비스가 중단되지 않도록 하기 위해서는 각 VM의 인스턴스를 둘 이상 배포하는 것이 좋다. 이 기능을 가용성 집합이라고 한다.
가용성 집합
가용성 집합은 관련된 VM 그룹을 배포하여 데이터 센터에서 호스트 운영 체제를 업그레이드하는 동안 이러한 VM이 모두 단일 실패 지점의 영향을 받지 않고 동시에 업그레이드되지 않도록 하는데 사용되는 기능이다. 가용성 집합에 배치된 VM은 동일한 기능을 수행하고, 동일한 소프트웨어를 설치해야 한다. 재해 복구 섹션에서 Azure Portal을 통해 가용성 집합을 만들 수 있다. VM을 가용성 집합에 배치하면 Azure는 VM이 장애 도메인 및 업데이트 도메인에 분산되도록 보장한다.
장애 도메인
장애 도메인은 공통 하드웨어 구성 요소를 공유하는 Azure의 하드웨어 논리 그룹으로, 단일 실패 지점을 공유한다. On-premise 데이터 센터 내의 랙으로 간주할 수 있다. 가용성 집합의 처음 두 VM은 서로 다른 두 개의 랙에 프로비저닝 되므로 랙에서 네트워크 또는 전원 오류가 발생하면 하나의 VM만 영향을 받는다.
업데이트 도메인
업데이트 도메인은 유지 관리를 수행하거나 동시에 다시 부팅할 수 있는 하드웨어의 논리 그룹이다. Azure는 Azure 플랫폼에서 호스 운영 체제 변경을 도입할 때 미치는 영향을 최소화하기 위해 가용성 집합을 업데이트 도메인에 자동으로 배치한다.
위치 간 장애 조치 (failover)
사이트 간에 인프라를 복제하여 지역별 장애 조치(failover)를 처리할 수 있다. Azure Site Recovery는 워크로드를 기본 사이트에엇 보조 위치로 복제한다. 주 사이트 중단이 발생하면 보조 위치로 장애 조치를 할 수 있다. Azure Site Recovery는 가상 머신 또는 물리적 머신의 복제에 관한 것으로, 가동 중단에도 워크로드를 사용할 수 있다.
- Site Recovery를 사용하면 Azure를 복구 대상으로 사용할 수 있으므로 보조 물리적 데이터 센터의 유지 관리에 따른 비용과 복잡성을 없앨 수 있다.
- Site Recovery를 사용하면 프로덕션 환경에 영향을 주지 않고 복구 훈련을 위한 장애 조치(failover)를 매우 간단하게 테스트할 수 있다.
가상 머신 백업
Azure Backup은 On-premise 또는 클라우드를 보호하는 서비스 기반 백업 제품이다.
- 자동 스토리지 관리 : Azure Backup은 백업 스토리지를 자동으로 할당하고 관리하며, 사용한 만큼 지불(pay-as-you-use) 모델을 사용한다.
- 무제한 크기 조정 : Azure Backup은 Azure의 성능과 확장성을 사용하여 고가용성을 제공
- 여러 스토리지 옵션 : Azure Backup은 데이터의 모든 복사본이 동일한 지역 내에 있는 로컬 중복 스토리지 및 데이터가 보조 지역으로 복제되는 지역 중복 스토리지를 제공
- 무제한 데이터 전송 : Azure Backup은 인바운드 또는 아웃바운드 데이터를 무제한으로 전송할 수 있다. 또한 전송되는 데이터에 대해 요금을 청구하지 않는다.
- 데이터 암호화 : 데이터 암호화를 사용하면 Azure에서 데이터를 안전하게 전송하고 스토리지할 수 있다.
- 애플리케이션 일치 백업 : 복구 지점에 백업 복사본을 복원하는 데 필요한 모든 데이터가 있음을 의미한다.
장기 보존 : Azure는 백업 데이터를 보존하는 시간을 제한하지 않는다.
'IT > Azure' 카테고리의 다른 글
[Azure] AZ-104 Azure 관리자 필수 조건 - 네트워크 보안 (0) | 2021.03.31 |
---|---|
[Azure] AZ-104 Azure 관리자 필수 조건 - Networking (0) | 2021.03.29 |
[Azure] AZ-900 (Fundamentals) 자격증 시험 후기 (0) | 2021.03.29 |
[Azure] Fundamental - part6. 비용 관리 및 서비스 수준 계약 (0) | 2021.03.28 |
[Azure] Fundamental - part5. Azure ID, 거버넌스, 규정 (0) | 2021.03.28 |