Azure VM(가상 머신)을 사용하여 클라우드에서 VM을 만들고 사용할 수 있다
가상 머신은 다음이 필요할 때 선택하는 것이 좋다
- OS(운영 체제)에 대한 완전한 제어.
- 사용자 지정 소프트웨어를 실행하는 기능.
- 사용자 지정 호스팅 구성을 사용해야 하는 경우.
실제 하드웨어를 구입 및 유지 관리하지 않고도 가상화의 유연성을 제공해서 vm 을 쓴다.
하지만 VM에서 실행되는 소프트웨어를 구성, 업데이트 및 유지 관리는 따로 해줘야 한다.
예를 들어 운영체제의 보안 업그레이드 라던가 직접 설치한 자바 버전 패치라던가~~
가상 머신 크기 집합
기존에는 용도가 같은 가상 머신을 여러 개 만들었을 경우라면 이것들이 모두 동일하게 구성되었는지 확인해야 합니다.
또한 모니터링 하면서 가상 머신을 늘려야 할 지 줄여야 할 지 확인해야 합니다.
가상 머신 크기 집합을 사용하면 대부분의 작업을 자동화합니다.
확장 집합을 이용하면 중앙에서 몇 분 만에 수 많은 VM을 관리, 구성, 업데이트할 수 있습니다.
VM 인스턴스의 양적 규모를 수요에 맞춰 자동으로 증감할 수 있으며 정해진 일정에 따라 스케일링 되도록 설정할 수도 있습니다.
또한 가상 머신 확장 집합은 부하 분산 장치를 자동으로 배포하여 리소스가 효율적으로 사용되고 있는지 확인합니다.
가상 머신 확장 집합을 사용하면 컴퓨팅, 빅 데이터 및 컨테이너 작업과 같은 영역에 대한 대규모 서비스를 구축을 쉽게 할수 있습니다.
가상 머신 가용성 집합(무료!!!!)
복원력이 뛰어나고 고가용성인 환경을 빌드하는 데 도움이 되는 또 다른 도구입니다.
VM이 업데이트에 시차를 주고 다양한 전원 및 네트워크 연결을 갖도록 설계되어
단일 네트워크 또는 전원 오류로 인해 모든 VM이 손실되지 않도록 합니다.
뭔소리인지는 모르겟는데 "가상 머신 가용성 집합" 을 사용하면 vm이 손실되지 않게 알아서 관리해준다.
그리고 무료이니깐 하는게 좋다~~
VM을 프로비저닝 할 때는 해당 VM에 연관된 리소스를 확인할 수 있으며 그 대상은 다음과 같습니다.
크기(용도, 프로세서 코어 수 및 RAM 양)
스토리지 디스크(하드 디스크 드라이브, 반도체 드라이브 등)
네트워킹(가상 네트워크, 공용 IP 주소 및 포트 구성)
가상 머신은 물리적 하드웨어에 필요한 투자 비용을 줄이는 좋은 방법이지만 가상 머신당 단일 운영 체제로 제한됩니다.
단일 호스트 컴퓨터에서 애플리케이션의 여러 인스턴스를 실행하려는 경우에 컨테이너를 사용하는 것이 좋습니다
Azure 컨테이너 설명
가상 머신은 물리적 하드웨어에 필요한 투자 비용을 줄이는 좋은 방법이지만 가상 머신당 단일 운영 체제로 제한된다.
단일 호스트 컴퓨터에서 애플리케이션의 여러 인스턴스를 실행하려는 경우에 컨테이너를 사용하는 것이 좋다
컨테이너란?
컨테이너는 가상화 환경. 가상 머신과 달리 컨테이너에 대한 운영 체제를 관리하지 않습니다.
가상 머신은 연결하고 관리할 수 있는 운영 체제의 인스턴스 형태입니다.
컨테이너는 경량이며, 동적으로 생성, 스케일링 아웃, 중지할 수 있도록 설계되었습니다.
애플리케이션 수요가 증가함에 따라 가상 머신을 만들고 배포할 수 있지만 컨테이너는 더 가볍고 민첩한 방법입니다.
컨테이너를 사용하면 크래시 또는 하드웨어 중단이 발생한 경우 빠르게 다시 시작할 수 있습니다.
가장 많이 사용되는 컨테이너 엔진 중 하나는 Azure에서 지원하는 Docker입니다.
Azure 애플리케이션 호스팅 옵션
App Service를 사용하면 인프라를 관리할 필요 없이 원하는 프로그래밍 언어로 웹앱, 백그라운드 작업,
모바일 백 엔드 및 RESTful API를 빌드하고 호스트할 수 있습니다.
Azure App Service는 웹 애플리케이션, REST API 및 모바일 백 엔드를 호스트하는 HTTP 기반 서비스입니다.
App Service를 사용하면 다음과 같은 가장 일반적인 앱 서비스 스타일을 호스팅할 수 있습니다.
웹앱
API 앱
모바일 앱
Azure App Service는 웹에 액세스가 가능한 앱을 호스팅할 때 다루는 대부분의 인프라 결정을 처리합니다.
- 엔드포인트에 보안이 설정됩니다.
- 높은 트래픽 부하를 처리하기 위해 사이트를 빠르게 스케일링할 수 있습니다.
- 기본 제공 부하 분산 및 Traffic Manager가 고가용성을 제공합니다.
이런 장점들 때문에 vm에서 올리는거 보다 App Service에서 올리는게 더 좋아 보인다.
App Service를 하면 애져에서 제공하는 모니터링도 자동으로 붙어서 트레픽을 추적 하기도 쉽다.
자동으로 되는게 많은데 왜 다 vm으로 하는걸까...
Azure Virtual Network 설명
Azure 가상 네트워크와 가상 서브넷을 사용하면 VM, 웹앱 및 데이터베이스와 같은 Azure 리소스가 서로 통신할 수 있고
인터넷의 사용자 및 온-프레미스 클라이언트 컴퓨터와 통신할 수 있습니다.
Azure 네트워크를 다른 Azure 리소스와 연결되는, 리소스가 있는 온-프레미스 네트워크의 확장이라고 생각할 수 있습니다.
Azure Virtual Network는 다음과 같은 주요 네트워킹 기능을 제공합니다.
- 격리 및 구분
- 인터넷 통신
- Azure 리소스 간 통신
- 온-프레미스 리소스와 통신
- 네트워크 트래픽 라우팅
- 네트워크 트래픽 필터링
- 가상 네트워크 연결
Azure 가상 네트워킹은 퍼블릭 엔드포인트와 프라이빗 엔드포인트를 모두 지원하여 내외부의 리소스가
다른 내부 리소스와 통신할 수 있게 합니다.
퍼블릭 엔드포인트 - 공용 IP 주소를 사용하며 전 세계 어디서나 액세스할 수 있습니다.
프라이빗 엔드포인트 - 가상 네트워크 내에 존재하며 해당 가상 네트워크의 주소 공간 내에서 개인 IP 주소를 사용합니다.
격리 및 구분
Azure 가상 네트워크를 사용하면 격리된 여러 가상 네트워크를 만들 수 있습니다.
가상 네트워크를 설정하는 경우 공용 또는 개인 IP 주소 범위를 사용하여 개인 IP 주소 공간을 정의합니다.
IP 범위는 가상 네트워크 내에만 존재하며 인터넷 라우팅이 불가능합니다.
이러한 IP 주소 공간을 서브넷으로 분할하고, 정의된 주소 공간의 일부를 명명된 각 서브넷에 할당할 수 있습니다.
이름 확인의 경우 Azure에 기본 제공되는 이름 확인 서비스를 사용할 수 있습니다.
내부 또는 외부 DNS 서버를 사용하도록 가상 네트워크를 구성할 수도 있습니다.
Azure 리소스 간 통신
Azure 리소스를 사용하여 서로 안전하게 통신할 수 있도록 설정하려 합니다. 다음 두 가지 방법 중 하나를 수행할 수 있습니다.
가상 네트워크는 VM뿐만 아니라 Power Apps용 App Service Environment, Azure Kubernetes Service 및
Azure 가상 머신 확장 집합과 같은 다른 Azure 리소스도 연결할 수 있습니다.
서비스 엔드포인트를 Azure SQL Databases 및 스토리지 계정과 같은 다른 Azure 리소스 형식에 연결할 수 있습니다.
이 방식을 사용하면 여러 Azure 리소스를 가상 네트워크에 연결하여 보안을 개선하고 리소스 간에 최적의 라우팅을 제공할 수 있습니다.
온-프레미스 리소스와 통신
Azure 가상 네트워크를 사용하면 온-프레미스 환경 및 Azure 구독 내에서 리소스를 함께 연결할 수 있습니다.
실제로 로컬 환경과 클라우드 환경 모두에 걸쳐 있는 네트워크를 만들 수 있습니다. 이 연결을 수행하는 세 가지 메커니즘이 있습니다.
P2S 가상 프라이빗 네트워크 연결은 조직 외부의 컴퓨터에서 기업 네트워크 내부로 연결됩니다.
이 경우에 클라이언트 컴퓨터는 암호화된 VPN 연결을 시작하여 Azure 가상 네트워크에 연결합니다.
S2S VPN(가상 사설망)은 온-프레미스 VPN 디바이스 또는 게이트웨이를 가상 네트워크의 Azure VPN 게이트웨이에 연결합니다.
실제로 Azure의 디바이스는 로컬 네트워크에 있는 것으로 표시될 수 있습니다. 연결은 암호화되고 인터넷에서 작동합니다.
Azure ExpressRoute는 Azure에 대한 전용 프라이빗 연결을 제공합니다.
이 연결은 인터넷을 통해 이동하지 않습니다. 대역폭을 더 키우고 보안 수준을 더 높여야 하는 환경에는 Azure ExpressRoute를
사용하는 것이 가장 좋습니다.
네트워크 트래픽 라우팅
기본적으로 Azure에서는 연결된 가상 네트워크의 서브넷, 온-프레미스 네트워크 및 인터넷 간에 트래픽을 라우팅합니다.
다음과 같이 라우팅을 제어하고 해당 설정을 재정의할 수도 있습니다.
경로 테이블을 사용하면 트래픽을 전달하는 방식에 대한 규칙을 정의할 수 있습니다.
서브넷 간에 패킷이 라우팅되는 방법을 제어하는 사용자 지정 경로 테이블을 만들 수 있습니다.
BGP(Border Gateway Protocol)는 Azure VPN 게이트웨이, Azure Route Server 또는 Azure ExpressRoute로 작업하여
온-프레미스 BGP 경로를 Azure 가상 네트워크로 전파합니다.
네트워크 트래픽 필터링
Azure 가상 네트워크를 사용하면 다음 방법을 사용하여 서브넷 간 트래픽을 필터링할 수 있습니다.
네트워크 보안 그룹은 Azure 리소스로서 여러 인바운드 및 아웃바운드 보안 규칙을 포함할 수 있습니다.
원본 및 대상 IP 주소, 포트 및 프로토콜과 같은 요인에 따라 트래픽을 허용하거나 차단하도록 이러한 규칙을 정의할 수 있습니다.
네트워크 가상 어플라이언스는 강화된 네트워크 어플라이언스와 비교될 수 있는 특수한 VM입니다.
네트워크 가상 어플라이언스는 방화벽 실행 또는 WAN(광역 네트워크) 최적화 수행과 같은 특정 네트워크 기능을 수행합니다.
가상 네트워크 연결
가상 네트워크 피어링을 사용하여 가상 네트워크를 함께 연결할 수 있습니다.
피어링을 사용하면 두 가상 네트워크끼리 서로 직접 연결할 수 있습니다.
피어링된 네트워크 간의 네트워크 트래픽은 비공개이며 공용 인터넷에 들어가지 않는 Microsoft 백본 네트워크로 이동합니다.
피어링을 사용하면 각 가상 네트워크의 리소스가 서로 통신할 수 있습니다.
이러한 가상 네트워크는 별도 지역에 위치할 수 있으며, Azure를 통해 상호 연결된 글로벌 네트워크를 만들 수 있습니다.
UDR(사용자 정의 경로)을 사용하면 가상 네트워크 내의 서브넷 간 또는 가상 네트워크 간의 라우팅 테이블을 제어할 수 있습니다.
이렇게 하면 네트워크 트래픽 흐름을 보다 강하게 제어할 수 있습니다.
Azure VPN(가상 사설망)
VPN(가상 사설망)은 다른 네트워크 내에서 암호화된 터널을 사용합니다.
일반적으로 VPN은 둘 이상의 신뢰할 수 있는 사설망을 신뢰할 수 없는 네트워크(일반적으로 공용 인터넷)를 통해 서로 연결하기 위해 배포
'개발' 카테고리의 다른 글
java 에서 백분위수 빠르게 구하는 방법 (0) | 2023.08.01 |
---|---|
Spring Reactive 도입기 - R2dbc에서 multiDatabaseSource (0) | 2023.07.20 |
Azure의 핵심 아키텍처 구성 요소 간단 정리 (0) | 2023.03.24 |
pm2 다운 node max-memory-restart 메모리 값 설정 (3) | 2023.01.19 |
spring cloud stream rabbitmq 처리량을 늘리는 방법 (0) | 2023.01.13 |