IIS

Azure Web App 생성

2024. 12. 10. 11:06

1. 개요:

Azure의 PaaS 서비스로 웹 어플리케이션, 백엔드를 쉽게 배포 할 수 있는데요

간단하게 말해서 IIS의 클라우드 버전이라고 볼 수 있겠습니다

IIS + 클라우드 + 관리 자동화 = Azure Web App 입니다

 

2. 구성 요소:

App Service Plan : 웹 앱이 실행될 인프라를 정의

Resource Group : Azure에서 리소스를 논리적으로 묶어 관리

App Service Environment : 앱에 대한 고급 보안 네트워크와 격리된 환경 제공

Deployment Slots : 운영 중인 웹 앱의 테스트 버전 배포 가능

Custom Domains & SSL : 처음에 주어진 기본 도메인 (~~~.azurewebsites.net)를 사용자 지정 도메인으로 변경

Scaling Options : 자동 확장 및 부하 분산

Monitoring & Diagnostics : Azure Monitor,Application Insights등과 연계하여 모니터링

Idetify & Access Managemnet (IAM) : Azure AD로 사용자 인증 및 권한 관리 

Continuous Deployment : 자동화된 배포 파이프라인설정.

 

3. 진행 과정:

웹 앱 만들기

리소스 만들기에서 웹 앱을 클릭합니다.

 

모든 리소스는 리소스 그룹 안에 속해야 하므로 리소스 그룹을 생성해줍니다

 

코드, 컨테이너, 정적 웹 총 3가지 입니다

배포 방식 설명 사용 예시
코드 (Web App for Code) 소스 코드 직접 실행 동적 웹 어플리케이션
컨테이너 (Web App for Containers) 컨테이너 이미지로 배포 마이크로서비스 아키텍쳐
정적 웹 (Web App for Static Sites) 정적 파일로 배포 (HTML, CSS, JS) 블로그, 포트폴리오

 

지금은 코드로 진행하겠습니다

 

런타임 스택은 C# 기반인 .NET Framework 부터 Node.js 등 다양하게 제공합니다

 

가격 또한 다양한 플랜이 있는데요 저는 일단 무료로 진행하고 추후에 바꿀 예정입니다.

 

전부 디폴트 값으로 진행하고 생성한 뒤 저 도메인을 클릭하게 되면

 

이렇게 웹 앱이 생성되었음을 확인할 수 있습니다.


Scale Up & Out

App Service Plan에서 더 큰 스케일 세트를 선택하거나, Virtual Machine을 더 높은 사양으로 변경한다면

(요금제를 비싼 것으로 바꾼다면)  Scale Up 하게 되고

 

인스턴스 수를 늘리게 된다면 스케일 아웃이 됩니다

인스턴스 수가 2배라면 비용도 2배가 됩니다

규칙 기반 자동 스케일링 (Auto Scaling)은 Azure에서 제공하는 자동 스케일링의 주요 방식 중 하나인데요

이 방식에서는 특정 규칙에 따라 시스템이 자동으로 스케일 업(성능 향상) 또는 스케일 아웃(인스턴스 추가)을 수행합니다.

규칙 기반 자동 스케일링을 사용하려면, Azure App Service는 Standard (S1) 이상, Azure Virtual Machines는 Standard 이상 요금제에서 가능합니다

최소값과 최대값을 설정해서

CPU 사용률을 기준으로 인스턴스를 추가 혹은 제거한다거나

메모리 사용률 기준으로 Scale Out, Scale In 할 수 있습니다.

 

용어 설명 주요 특징
Scale Up 기존 리소스의 성능(하드웨어)를 수직적으로 확장 더 큰 CPU, 메모리 저장소로 성능 개선
Scale Out 리소스를 수평적으로 확장하여 인스턴스 추가 인스턴스 추가, 부하 분산
Scale in 수평적으로 확장한 인스턴를 축소 과도한 인스턴스 제거

간단하게 Azure Web App을 알아보았습니다

Azure Function과 Azure Kubernetes and Container에 대해서도 차근차근 정립해나가겠습니다

반응형

'Azure > Azure Overview & Infrastructure' 카테고리의 다른 글

AzCopy 실습  (3) 2024.12.31
Azure Storage 계정 생성 및 업로드  (0) 2024.12.30
Azure Stoarge 개요  (2) 2024.12.30
Azure Kubernetes and Container 생성  (2) 2024.12.16
Azure Virtual Machine 생성 및 연결  (0) 2024.11.28

1. 개요:

Azure는 아시다시피 (한국 한정) 경복궁이 훤히 내려다보이는 건물에서 사는

Microsoft의 클라우드 컴퓨팅 입니다.


2. 진행 과정:

Virtual Machine 생성

사실 기술 블로그를 항상 고민 되는 것이 어느정도의 수준 부터 시작해야하나? 같습니다

많은 고민 끝에 일단 리소스 생성의 가상 머신 생성 부터 보여드리겠습니다

 

가상 머신

리소스 그룹의 이름은 newVM 으로 설정했습니다

Azure 전체에서 고유할 필요는 없고, 해당 지역의 계정에 대해서만 고유하면 됩니다

리소스 그룹이란? Azure 리소스(가상 머신, 데이터베이스, 네트워크...) 을 논리적으로 묶어서 관리할 수 있는 컨테이너

 

지역

지역 (region) VM 사용될 곳과 가장 가까운 곳에 두는 것이 좋습니다

가용성 영역 (AZ) 부하 분산의 개념이 아닌, 예상되거나 되지 못한 다운타임을 제아하는 방법에 관한 것입니다

 

이미지 파일

이미지는 그대로 수백 개의 이미지가 있고 모든 이미지 보기를 누르면

 

marketplace

이렇게 Marketplace에서 기초적인 운영 체제 부터 third-party 프로그램까지 전부 선택할 있습니다

 

windows server

지금은 간단하게 윈도우 서버로 진행하겠습니다

 

VM 다룬 분들이라면 아시겠지만 windows 머신의 경우 사용자 ID 비밀번호를 생성해야 합니다

 

port

그런 다음 포트를 있는데요 저는 서버로 이용할 예정 이므로 저렇게 열었습니다

 

- 만들어졌습니다 구독에 따라 지금부터 요금이 쭉쭉 빠져 나갈테니 주의하시는게 좋습니다


Virtual Machine 연결

이것이 방금 만든 VM 대시보드 홈페이지라고 있겠습니다.

 

그런데 VM 원격을 붙을까 하고 보니 네트워크 설정에 연결 없다고 표시되어 있습니다

 

연결 버튼을 클릭해봅니다

 

개의 옵션이 나오는데요, 원시…? 아무튼 밑의 로컬 머신으로 RDP 붙겠습니다.

 

그러면 차근차근 초록색으로 바뀌며 RDP 파일이 준비가 됩니다

 

RDP 파일을 다운로드 받은 실행시키면 처음에는 신뢰할 없다고 나옵니다만, 무시하시면 됩니다.

 

아까 설정해둔 계정으로 로그인 합니다

 

프로필을 생성하고 디렉토리를 생성하고 등등 여러 작업이

- RDP 가상 머신에 연결하였습니다

가상 머신은 물리적으로 존재하는 서버가 아닌 클라우드 환경 내에 있는 가상 머신 입니다. 멋지군요


간단하지만 아주 핵심인 가상 머신 생성은 완료하였습니다

이제 Azure VM 내에서 IIS를 설치하고 웹 앱까지 만들어보겠습니다

반응형

'Azure > Azure Overview & Infrastructure' 카테고리의 다른 글

AzCopy 실습  (3) 2024.12.31
Azure Storage 계정 생성 및 업로드  (0) 2024.12.30
Azure Stoarge 개요  (2) 2024.12.30
Azure Kubernetes and Container 생성  (2) 2024.12.16
Azure Web App 생성  (2) 2024.12.10

IIS 이중화 (On-premise)

2024. 11. 21. 14:07

1. 개요:

웹 서비스의 가용성과 안정성을 높이기 위해 IIS는 보통 이중화를 많이 하는데요

특히 대규모 트래픽이 있다거나 할 때는 반 필수적이라고 볼 수 있습니다.

이 포스팅에서는 On-premise 환경의 IIS 이중화만 다룰 것이고

Azure Load Balancer 를 이용한 IIS 이중화는 Azure 카테고리에서 해야되...나?

아무튼 빠른 시일 내에 클라우드 환경에서의 이중화도 다루겠습니다. (AWS 포함)

 

개인적으로 제 블로그에도 대규모 트래픽이 왔으면 좋겠습니다 


2. 구성 요소:

오늘도 역시나 회사 MDS 서버의 VM 2대 입니다.

VM(left) : IIS1 ,Windows server 2022 ENG, 10.10.5.8

VM2(right) : IIS2 , Windows server 2022 KOR, 10.10.5.6

IIS1, IIS2


3. 진행 과정:

- Netowrk Load Balancer 설정

NLB 설정

서버 관리자 → 역할 및 기능 추가 → 기능 목록에서 Network Load Balancing 을 선택하고 설치합니다.

NLB

NLB 관리를 검색창에 검색을 하든...해서 실행합니다.

New Cluster

 

새 클러스터를 생성합니다

New Cluster

각 호스트 IP에는 각 VM의 ip를 넣습니다

New Cluster

VIP에는 두 VM의 IP가 동일하게 설정합니다

(VIP는 부하 부산 클러스터에 넣는 공통 IP 주소 입니다.

외부에서 봤을 때는 두 개의 서버가 아닌 하나의 서버로 보이는 거죠.)

mode

클러스터 모드가 있는데요

Unicast 모드는 모든 클러스터 노드가 동일한 MAC 주소를 공유하도록 하는겁니다 보통 소규모 환경에서 구성합니다

Multicast 모드는 클러스터 노드들이 고유한 멀티캐스트 MAC 주소를 사용하여 작동합니다 대규모 환경에서 구성합니다.

NLB 구성 완료


- 이슈 발생

그러나 그 전에 NLB를 설치 한 후에 몇가지 문제가 생겼습니다.

① IIS1, IIS2 에서 인터넷이 안됨

이건  문제는 100% 장담은 못하지만, 회사의 장비 문제였던 것으로 추정되는데요

위에서 설정했던 유니캐스트 모드를 멀티캐스트 모드로 바꾸니 ping 8.8.8.8 이 두 VM에서 잘 실행되었습니다.

 

유니캐스트 모드에서는모든 서버가 같은 MAC 주소를 사용하게 되어서 네트워크 장비에서 이를 인식하고 처리하는데 장애가 생길 수도 있습니다.

멀티캐스트 모드는 각 서버에 고유한 MAC 주소를 할당하기 때문에 가능했던 것으로 추정됩니다

 

② IIS1 과 IIS2 간의 통신이 안됨

이 부분은 방화벽에서 TCP/UDP 2500-5000 대를 추가하니 해결되었습니다.

NLB구성이 완료된 모습


- DFS 설치

그 전에 DFS 복제는 AD 도메인 환경에서 진행해야 합니다

NLB(Network Load Balancing)**가 웹 트래픽을 분산하는 역할만 하므로, 웹 서버 간의 데이터 동기화를 위해서는 DFS 같은 파일 공유 시스템이 필요합니다.

똑같이 서버 관리자에서 DFS 복제 체크를 하고 진행해줍니다

DFS 역할은 네트워크 상에서 데이터를 동기화하거나 공유할 때 사용되므로,

설치 과정을 동일하게 IIS1과 IIS2에서 반복합니다.

DFS 관리 도구

설치가 완료되었으면 DFS 관리를 클릭합니다.

새 복제 그룹

DFS 관리에서 새 복제 그룹을 클릭합니다.

다목적 복제 그룹

다목적 복제 그룹을 선택하고 진행합니다.

이름은 그냥  WebContentReplication 이렇게 했고

도메인은 join 시킨 sangju.run.place 라고 디폴트 설정 되어있습니다

이런 식으로 IIS1과 IIS2를 복제 그룹에 추가해줍니다.

 

전체 매시

기본인 전체 매시를 선택합니다.

복제 일정

복제 일정은 항상 활성화로 했습니다 (특정 시간에만 실행하도록 설정 가능합니다.)

주 구성원은 저는 IIS1으로 설정했습니다.

 

복제할 폴더

복제할 폴더를 선택할 때는 웹 페이지의 구성 요소가 있는 폴더로 선택했고

IIS1, IIS2 모두 경로가 동일해야합니다

로컬 경로

IIS1이 주 구성원으로 되어있는 것을 확인하고

구성원 IIS2의 로컬 경로를 아까 복제할 폴더의 로컬 경로와 똑같이 설정하고 구성원 자격 상태는 사용함 으로 설정합니다.

s

이렇게 한 후 wwwroot 루트에 똑같은 파일이 복사가 되었다면 완료 입니다.


어찌저찌 온프레미스 환경의 IIS 이중화가 완료되었습니다

하이브리드 IIS도 있다는데 과연 하이브리드로 구성한 환경이 많을까... 싶기는 한데

하이브리드 AD도 하는김에 같이 IIS도 해보겠습니다.

이론 상 대충 비슷하지 않을까 싶습니다

반응형

'Microsoft 365' 카테고리의 다른 글

Exchange Server 설치  (2) 2024.12.06
Hybrid AD 구축  (1) 2024.11.29
AD 이중화 (On-premise)  (4) 2024.11.18
3-Tier 구축 방법 4단계 - SQL-IIS 연동  (2) 2024.11.13
3-Tier 구축 방법 3단계 - MS-SQL 설치  (4) 2024.11.12

SQL-IIS

 

1. 개요:

이제 최종 단계 입니다.

구축했던 IIS와 SQL을 연동 시키는 작업을 해보겠습니다.

 

2. 환경 구성:

- 웹 사이트 추가

IIS 관리자에서 사이트 노드를 오른쪽 클릭하고 사이트 추가를 선택합니다.

 

사이트 이름을 설정합니다 예를 들어, MyWebApp

 

여기서 물리적 경로는 웹 애플리케이션의 파일이 저장된 폴더를 선택합니다. (: C:\inetpub\wwwroot\MyWebApp)

IP 주소는 IIS VM IP 주소로 설정하고, 포트는 기본값 80을 사용하거나 혹은 다르다면 변경합니다

웹 애플리케이션에 사용할 호스트 이름(: mywebapp.local)을 입력하는데 테스트 환경에서는 생략해도 괜찮긴 합니다...!

확인을 클릭하여 웹 사이트를 생성합니다.


- 애플리케이션 풀 설정

IIS 관리자에서 애플리케이션 풀을 클릭합니다

새로운 애플리케이션 풀의 이름을 입력하고 (예: MyWebAppPool)

해당 애플리케이션이 사용하는 .NET 버전을 선택합니다 _ 저는 그냥 기본값으로 설정했습니다

확인을 클릭하면 애플리케이션 풀이 생성 됩니다

 

생성된 애플리케이션 풀의 고급 설정을 열어 만약에 필요하다면 다음을 설정합니다 (저는 했습니다)


- 웹 config 파일 설정
아까 설정했던 웹 애플리케이션의 루트 폴더에  web.config 파일을 설정하여 데이터베이스 연결 문자열을 구성해야 합니다

메모장을 열고 

더보기

<configuration>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Server=아이피;Database=데이터베이스 이름;User Id=유저네임;Password=패스워드;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <!-- 추가 설정 -->
  </system.web>
</configuration>

한글로 적힌 부분을 실제 값으로 수정해서

아까 그 경로에 다른이름으로 저장 → web.config 로 파일을 저장합니다.

IIS 서버에서 웹 브라우저를 열고

http://10.10.5.8/MyWebApp 을 입력했을 때

 

이런 식으로 보이신 다면 설정은 완료된겁니다!

 

 

 

반응형

SQL

 

1. 개요:

SQL은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조작하기 위한 표준 언어입니다.

데이터를 삽입한다거나, 조회, 업데이트 등 다양한 작업을 수행할 수 있다고...하는데 딥하게 해본 적은 아직 없습니다 껄껄

 

2. 환경 구성:

  • VM(Windows Server 2022) 에서 SQL을 다운로드 합니다.

SQL Server 다운로드 | Microsoft

 

기본으로 진행합니다

 

계속 쭈욱 진행합니다

설치가 완료됐다면 이어서 SSMS 설치 버튼을 누르면!

SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS) | Microsoft Learn

 

SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS)

SQL_A 및 Azure SQL 인스턴스를 관리하고 구성하려면 최신 버전의 SSMS(SQL Server Management Studio)를 다운로드하세요.

learn.microsoft.com

기술 문서로 이어지게 되고 SSMS 설치하면 됩니다...!

 

*SSMS 는 SQL Server를 개발하기 위한 통합 도구 같은 건데요 머리 아픈 SQL을 GUI로 처리할 수 있게 하는 기특한 놈입니다.

SSMS 설치 화면 입니다.


 
 
 

설치가 다 완료 되셨다면, 잠시 바탕 화면으로 나와 win+R → services.msc 를 입력하여 실행합니다

services.msc

SQL Server(MSSQLSERVER) 서비스가 실행 중인지 확인하고.

실행 중이 아니면 우클릭 후 시작(Start)을 클릭합니다.

SQL Server Browser 서비스도 필요에 따라 실행합니다(기본적으로 비활성화되어 있음).

이건 네트워크 연결 시 인스턴스를 탐색할 때 유용하다고 합니다...? 


다시 SQL 구성 관리자를 윈도우 창에서 검색해서 들어갑니다

SQL server 네트워크 구성에서 MSSQLSERVER 대한 프로토콜을 클릭합니다

TCP/IP 사용함으로 설정합니다

 

그리고 혹시나 하니 속성에서 기본 포트 1433 으로 설정 되어 있는지 확인하고 SQL Server 재시작 합니다


SSMS 실행하고 서버 이름은 localhost 혹은 .  입력합니다


**혹시 저처럼 인증서 문제가 발생한다면  SQL Server에 연결은 성공했지만 SSL 인증서가 신뢰되지 않은 기관에서 발급된 것으로 확인되었기 때문에 문제가 발생한 것인데요

아까 들어갔던 SSCM에서 내트워크 구성 -> MSSQLSERVER 대한 프로토콜의 속성에서 Force Encryption" 설정을 No로 변경 합니다 그리고 다시 SQL 재시작 하시면 됩니다


이제 DB 현직자라면 익숙할 SQL 화면 입니다

Database에서 우클릭 New Database 선택합니다

그럼 이런 화면이 나오는데요 이름을 대충 설정하고 만들어 줍니다

 

★쟈- DB 만들어졌습니다 ★

Security 폴더를 확장하고 Logins 우클릭 해서 로그인을 선택합니다

 

Login name SQL 서버 인증을 선택한 비밀번호를 설정합니다

 

일반(General) 탭에서 로그인 이름을 입력하고 SQL Server 인증(SQL Server authentication)을 선택합니다.

비밀번호를 설정하고, 기본 데이터베이스(Default database) 를 방금 생성한 데이터베이스로 설정합니다.

유저 매핑에서 생성한 DB 선택하고 db_owner 선택합니다


다음으로 방화벽 고급 설정 인바운드 규칙에서 규칙을 생성 합니다

포트(Port)를 선택하고 TCP 및 포트 번호 1433을 입력합니다


그리고 DB 연결이 되었는지 쿼리를 실행한 모습입니다

 

이로써 SQL 설치  IIS 연동을 위한 준비는 완료 되었습니다

IIS와의 연동 준비가 완료되었으므로, 다음 포스팅에서 IIS와 SQL Server 연결을 설정하도록 하겠습니다 


SQL은 사실 생소한 부분이 많아서 설치에 다소 어려움이 있었는데요

그렇기에 전문적인 자격증 SQLP 나 ADP 등을 따서 좀더 깊게 공부해볼 예정입니다.

본인의 부족한 부분을 알고 그 부족함을 매꿔 가는 과정이 본인을 더 성장시키는 지름길 아닐까 싶습니다

반응형

IIS

 

1. 개요:

IIS는 Internet Information Services의 약자로 Microsoft에서 제공하는 웹 서버 소프트웨어로, 주로 Windows 서버에서 웹 어플리케이션 및 웹 페이지를 호스팅하는 역할을 합니다.

 

2. 환경 구성:

  • Windows Server에 IIS 설치

서버 관리자 창

서버 관리자 → 역할 및 기능 추가 클릭

 

서버 역할 선택 화면에서

Web Server(IIS) 에 체크한 뒤 Add Features 를 클릭합니다.

 

기능 창에서는 다른 기능을 추가할 필요는 없으므로 기본 설정 그대로 두고 넘어갑니다

여기서도 그대로 넘어갑니다

설치가 진행 중인 화면 입니다.

설치한 VM에서 인터넷에서 서버의 ip를 입력하면 이러한 화면이 나옵니다.


간단하게 IIS 설치는 완료하였습니다.

SQL (DB) 세션과 연동 하여 다음 글 포스팅때 올리도록 하겠습니다

제 개인적으로는 IIS를 이중화하여 SQL에 붙여볼까 생각 중입니다.

반응형

+ Recent posts