Azure 권장 명명 규칙 정의
가상 네트워크
- SDx (Software-Defined Everything)
- IT 인프라 및 서비스의 모든 요소를 소프트웨어에 의해 제어하고 관리할 수 있도록 하는 개념
- 클라우드 컴퓨팅, 가상화, 자동화 기술을 기반으로 하며, 데이터 센터와 네트워크를 비롯한 다양한 IT 자원을 효율적이고 유연하게 운영하기 위한 접근 방식을 제공
- SDN (Software-Defined Networking), SDS (Software-Defined Storage), SDD (Software-Defined Datacenter), SDV (Software-Defined Vehicle) 등을 포함
- SDN (Software-Defined Networking) 소프트웨어 정의 네트워킹은 네트워크의 제어 및 관리를 하드웨어 장치에서 분리하여 소프트웨어로 중앙 집중식 제어를 가능하게 하는 기술
- SDS (Software-Defined Storage) 소프트웨어 정의 스토리지는 저장 장치를 소프트웨어를 통해 추상화하여 데이터 관리를 자동화하고 최적화하는 기술
- SDD (Software-Defined Datacenter) 소프트웨어 정의 데이터 센터는 데이터 센터의 모든 구성 요소(컴퓨팅, 스토리지, 네트워킹, 보안)를 소프트웨어로 관리하는 개념
- SDV (Software-Defined Vehicle) 소프트웨어 정의 차량은 차량의 기능을 소프트웨어로 제어하고 업데이트할 수 있는 차량 기술
- 개요
- 설계
- 서브넷 설계
가상 네트워크 만들기
리소스 그룹 : rg-hallofarmor-[SUFIX]
가상 네트워크 이름 : vnet-hallofarmor-[SUFIX]
주소 공간 : 10.[NUM].0.0 / 16
서브넷 : snet-jarvis, 10.[NUM].42.0 / 16
가상 머신 만들기
< 기본 사항>
리소스 그룹 : rg-hallofarmor-km
가상머신 이름 : vmkm
이미지 : Windows Server 2022 Datacenter: Azure Edition - x64 Gen2
크기 : Standard_DS1_v2 admin
id : tony
password : Pa55w.rdsktflyai
인바운드 포트 선택 : HTTP (80), HTTPS (443), RDP (3389)
< 디스크 >
OS 디스크 유형 : 프리미엄 SSD
{가상 머신 이름}용 데이터 디스크 : ” 새 디스크 만들기 “ 클릭
디스크 크기 선택 : 32GiB
<네트워킹>
공용 IP : (선택 사항. 이름 변경)
<관리>
나중에 변경할 수 있다.
<모니터링>
부트 진단 : 실제 실무에서는 사용하지만, 우리는 테스트니 '사용 안 함'
< 고급 >
< 검토 + 만들기 >
VM 접속
(Microsoft Remote Desktop 다운로드)
+Add 의 " PC " 클릭
접속할 VM의 공용 IP 주소,
접속한 VM의 ID, PW 입력
Power Shell 열고, 명령어 입력
#웹 서버(IIS) 역할 설치
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
그냥 크롬에, 공용 IP 주소를 입력하면, 가상 머신 안에 들어갈 수 있다!
#Default.html 만들기
Set-Content -Path "C:\inetpub\wwwroot\Default.htm" -Value "Running Jarvis built on Copilot from host $($env:computername) !"
RUN 앱에서 명령어 실행
diskmgmt.msc
(Disk2의 오른쪽 상자에서, 우클릭. )
New Simple Volumne 클릭
W로 설정.
Volumn 이름 : webdata.
이번엔, Linux VM 만들기
리소스 그룹 : rg-hallofarmor-km
가상 머신 이름 : vmjarvisbekm (이름 + back end용 + 개인식별이름)
이미지 : Ubuntu Server 22.04 LTS - x64 Gen2
<관리, 고급, 태그>
기본값으로. 나중에 변경할 수 있다.
프라이빗 키 다운로드 하기!
이제 이 key를 VM으로 옮기자
복사/붙여넣기가 가능하게, 내 로컬에서 기능을 켜 준다.
이후 다운 받은 key 파일을 복사하고,
VM의 다운로드 폴더에 붙여넣기.
cd .\Downloads\
ssh -i .\vmjarvisbekm_key.pem tony@{프라이빗 IP 주소}
< 가상 머신 - 데이터 디스크 추가>
< 디렉터리 생성과 마운트 >
//데이터 디스크인 /dev/sdc 파티셔닝
sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
//XFS 파일 시스템으로 포맷
sudo mkfs.xfs /dev/sdc1
// partprobe 유틸리티를 사용하여 커널이 새 파티션 및 파일 시스템을 바로 인식하는지 확인
sudo partprobe /dev/sdc1
//디렉터리 생성과 마운트
sudo mkdir /jvbedata
sudo mount /dev/sdc1 /jvbedata
//샘플 파일 작성
cd /jvbedata
sudo touch readme.txt
ls 명령어를 통해, readme.txt라는 빈 파일이 잘 형성된 것을 확인할 수 있다.
#!/bin/bash
# NGINX 설치
sudo apt-get update
sudo apt-get -y install nginx
# nginx 설치가 잘 되었는지 확인
ps -ef | grep nginx
# index.html 파일 만들기
sudo sh -c 'echo "Running Jarvis Foundation Models from host $(hostname)" > /var/www/html/index.html'
이후 가상머신의 인터넷으로, IP 주소로 들어가면,,, "Running ~~~ " 내용이 뜬다.
IIS와 NGINX의 접근성 차이
1. IIS와 외부 접근
- IIS를 통해 서버를 설치하면 기본적으로 **HTTP 프로토콜(포트 80)**로 외부 사용자가 접근할 수 있는 환경을 설정하게 됩니다.
- IIS의 기본 설정은 로컬 서버뿐만 아니라 외부 네트워크(인터넷)에서도 설정된 IP 주소(또는 도메인 이름)를 통해 웹 페이지를 제공할 수 있도록 설계되어 있습니다.
2. NGINX 설치와 프라이빗 IP 접근
위의 NGINX 명령어 세트는 다음 이유로 외부 사용자가 접근하기 어려운 환경을 만듭니다:
a. SSH를 통한 접근
- 명령어 ssh -i .\vmjarvisbekm_key.pem tony@{프라이빗 IP 주소}는 개인 컴퓨터에서 SSH 프로토콜을 이용해 원격 서버의 터미널에 접속하는 것입니다.
- 여기서 사용된 프라이빗 IP 주소는 일반적으로 내부 네트워크에서만 접근 가능하며, 외부 네트워크에서는 접근할 수 없습니다.
- 프라이빗 IP는 NAT(Network Address Translation)이나 포트 포워딩 같은 네트워크 설정을 통해서만 외부로 노출할 수 있습니다.
b. NGINX 기본 설정
- NGINX는 설치 시 기본적으로 HTTP 서버로 동작하지만, 외부 사용자가 접근하려면 다음이 필요합니다:
- 해당 서버의 공인 IP 주소가 있어야 하고,
- 방화벽 규칙이 HTTP(포트 80) 트래픽을 허용해야 합니다.
- 설정하지 않으면 로컬 네트워크에서만 접근 가능하며, 인터넷에서는 서버가 노출되지 않습니다.
c. SSH 접근과의 차이
- SSH는 보안이 설정된 원격 접속 방식이며, SSH 키 파일(vmjarvisbekm_key.pem)과 사용자 계정(tony)이 있어야 접근할 수 있습니다.
- 이는 HTTP 프로토콜과 달리 특정 사용자만 접속할 수 있도록 제한된 접근 방식입니다.
차이점 정리
특징 | IIS (웹 서버) | NGINX (SSH 기반 설치 및 로컬 접근) |
접속 방식 | HTTP/HTTPS (80/443 포트) | SSH (22 포트)와 HTTP |
외부 네트워크 접근 여부 | 공인 IP와 방화벽 설정 필요, 외부 접근 가능 | 기본적으로 로컬 네트워크만 허용, 프라이빗 IP로 제한됨 |
보안 수준 | 외부 노출로 인해 추가적인 보안 설정 필요 | SSH 키 파일로 제한적 접근 |
기본 네트워크 설정 | 공인 IP 또는 라우팅을 통해 외부 접근 가능 | NAT/포트 포워딩 없이 외부 접근 불가 |
'AI, 논문, 데이터 분석' 카테고리의 다른 글
[클라우드 컴퓨팅] [Azure 실습4] 컨테이너 스토리지 (1) | 2025.01.08 |
---|---|
[클라우드 컴퓨팅] [Azure 실습 3] 스토리지 계정 (0) | 2025.01.07 |
[클라우드 컴퓨팅] 클라우드 컴퓨팅이란? (1) | 2025.01.07 |
[클라우드 컴퓨팅] Azure 개념 (리소스 그룹, Entra ID/Tenant, 사용자 계정) (0) | 2025.01.06 |
[클라우드 컴퓨팅] [Azure 실습 1] 프로젝트 시작 (0) | 2025.01.06 |