분류 전체보기
-
Azure Virtual Machine 생성 및 연결2024.11.28
-
IIS 이중화 (On-premise)2024.11.21
-
AD 이중화 (On-premise)2024.11.18
Azure Virtual Machine 생성 및 연결
1. 개요:
Azure는 아시다시피 (한국 한정) 경복궁이 훤히 내려다보이는 건물에서 사는
Microsoft의 클라우드 컴퓨팅 입니다.
2. 진행 과정:
Virtual Machine 생성
사실 기술 블로그를 쓸 때 항상 고민 되는 것이 어느정도의 수준 부터 시작해야하나? 인 것 같습니다
많은 고민 끝에 전 일단 리소스 생성의 가상 머신 생성 부터 보여드리겠습니다
리소스 그룹의 이름은 newVM 으로 설정했습니다
Azure 전체에서 고유할 필요는 없고, 해당 지역의 계정에 대해서만 고유하면 됩니다
리소스 그룹이란? Azure 리소스(가상 머신, 데이터베이스, 네트워크...) 을 논리적으로 묶어서 관리할 수 있는 컨테이너
지역 (region) 은 VM이 사용될 곳과 가장 가까운 곳에 두는 것이 좋습니다
가용성 영역 (AZ) 는 부하 분산의 개념이 아닌, 예상되거나 되지 못한 다운타임을 제아하는 방법에 관한 것입니다
이미지는 말 그대로 수백 개의 이미지가 있고 모든 이미지 보기를 누르면
이렇게 Marketplace에서 기초적인 운영 체제 부터 third-party 프로그램까지 전부 선택할 수 있습니다
지금은 간단하게 윈도우 서버로 진행하겠습니다
VM 좀 다룬 분들이라면 아시겠지만 windows 머신의 경우 사용자 ID와 비밀번호를 생성해야 합니다
그런 다음 포트를 열 수 있는데요 저는 웹 서버로 이용할 예정 이므로 저렇게 열었습니다
자-란 만들어졌습니다 구독에 따라 지금부터 요금이 쭉쭉 빠져 나갈테니 주의하시는게 좋습니다
Virtual Machine 연결
이것이 방금 만든 VM의 대시보드 겸 홈페이지라고 볼 수 있겠습니다.
그런데 VM에 원격을 붙을까 하고 보니 네트워크 설정에 연결 할 수 없다고 표시되어 있습니다
연결 버튼을 클릭해봅니다
두 개의 옵션이 나오는데요, 원시…? 아무튼 밑의 로컬 머신으로 RDP를 붙겠습니다.
그러면 차근차근 초록색으로 바뀌며 RDP 파일이 준비가 됩니다
RDP 파일을 다운로드 받은 후 실행시키면 처음에는 신뢰할 수 없다고 나옵니다만, 무시하시면 됩니다.
아까 설정해둔 계정으로 로그인 합니다
프로필을 생성하고 디렉토리를 생성하고 등등 여러 작업이 된 후
자-란 RDP로 가상 머신에 연결하였습니다
이 가상 머신은 물리적으로 존재하는 서버가 아닌 클라우드 환경 내에 있는 가상 머신 입니다. 멋지군요
간단하지만 아주 핵심인 가상 머신 생성은 완료하였습니다
이제 Azure VM 내에서 IIS를 설치하고 웹 앱까지 만들어보겠습니다
'Azure > Azure Infrastructure' 카테고리의 다른 글
Azure Kubernetes and Container 생성 (0) | 2024.12.16 |
---|---|
Azure Web App 생성 (0) | 2024.12.10 |
IIS 이중화 (On-premise)
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
3. 진행 과정:
- Netowrk Load Balancer 설정
서버 관리자 → 역할 및 기능 추가 → 기능 목록에서 Network Load Balancing 을 선택하고 설치합니다.
NLB 관리를 검색창에 검색을 하든...해서 실행합니다.
새 클러스터를 생성합니다
각 호스트 IP에는 각 VM의 ip를 넣습니다
VIP에는 두 VM의 IP가 동일하게 설정합니다
(VIP는 부하 부산 클러스터에 넣는 공통 IP 주소 입니다.
외부에서 봤을 때는 두 개의 서버가 아닌 하나의 서버로 보이는 거죠.)
클러스터 모드가 있는데요
Unicast 모드는 모든 클러스터 노드가 동일한 MAC 주소를 공유하도록 하는겁니다 보통 소규모 환경에서 구성합니다
Multicast 모드는 클러스터 노드들이 고유한 멀티캐스트 MAC 주소를 사용하여 작동합니다 대규모 환경에서 구성합니다.
- 이슈 발생
그러나 그 전에 NLB를 설치 한 후에 몇가지 문제가 생겼습니다.
① IIS1, IIS2 에서 인터넷이 안됨
이건 문제는 100% 장담은 못하지만, 회사의 장비 문제였던 것으로 추정되는데요
위에서 설정했던 유니캐스트 모드를 멀티캐스트 모드로 바꾸니 ping 8.8.8.8 이 두 VM에서 잘 실행되었습니다.
유니캐스트 모드에서는모든 서버가 같은 MAC 주소를 사용하게 되어서 네트워크 장비에서 이를 인식하고 처리하는데 장애가 생길 수도 있습니다.
멀티캐스트 모드는 각 서버에 고유한 MAC 주소를 할당하기 때문에 가능했던 것으로 추정됩니다
② IIS1 과 IIS2 간의 통신이 안됨
이 부분은 방화벽에서 TCP/UDP 2500-5000 대를 추가하니 해결되었습니다.
- DFS 설치
그 전에 DFS 복제는 AD 도메인 환경에서 진행해야 합니다
NLB(Network Load Balancing)**가 웹 트래픽을 분산하는 역할만 하므로, 웹 서버 간의 데이터 동기화를 위해서는 DFS 같은 파일 공유 시스템이 필요합니다.
똑같이 서버 관리자에서 DFS 복제 체크를 하고 진행해줍니다
DFS 역할은 네트워크 상에서 데이터를 동기화하거나 공유할 때 사용되므로,
설치 과정을 동일하게 IIS1과 IIS2에서 반복합니다.
설치가 완료되었으면 DFS 관리를 클릭합니다.
DFS 관리에서 새 복제 그룹을 클릭합니다.
다목적 복제 그룹을 선택하고 진행합니다.
이름은 그냥 WebContentReplication 이렇게 했고
도메인은 join 시킨 sangju.run.place 라고 디폴트 설정 되어있습니다
이런 식으로 IIS1과 IIS2를 복제 그룹에 추가해줍니다.
기본인 전체 매시를 선택합니다.
복제 일정은 항상 활성화로 했습니다 (특정 시간에만 실행하도록 설정 가능합니다.)
주 구성원은 저는 IIS1으로 설정했습니다.
복제할 폴더를 선택할 때는 웹 페이지의 구성 요소가 있는 폴더로 선택했고
IIS1, IIS2 모두 경로가 동일해야합니다
IIS1이 주 구성원으로 되어있는 것을 확인하고
구성원 IIS2의 로컬 경로를 아까 복제할 폴더의 로컬 경로와 똑같이 설정하고 구성원 자격 상태는 사용함 으로 설정합니다.
이렇게 한 후 wwwroot 루트에 똑같은 파일이 복사가 되었다면 완료 입니다.
어찌저찌 온프레미스 환경의 IIS 이중화가 완료되었습니다
하이브리드 IIS도 있다는데 과연 하이브리드로 구성한 환경이 많을까... 싶기는 한데
하이브리드 AD도 하는김에 같이 IIS도 해보겠습니다.
이론 상 대충 비슷하지 않을까 싶습니다
AD 이중화 (On-premise)
1. 개요:
온프레미스 환경에서 Active Directory 이중화를 설정해보도록 하겠습니다
이중화는 하나가 고장나더라도 다른 하나가 살아있으니 안정성을 굉장히 높여주는 유용한 기능입니다
VM을 이용해 진행하였고
2. 구성 요소:
VM 2대에 Windows server 2022를 설치하였습니다.ADtest1 = 10.10.5.10ADtest2 = 10.10.5.11
ADtest1 에는 sangju.run.place 로 도메인을 만들어 놓았습니다
이때 DNS 1과 2는 각자의 ip를 바라보게끔 해줍니다.
VM 2대가 서로 간 통신이 되는 지 확인합니다
ADtest1은 이미 sangju.run.place. 로 도메인이 join 되어 있고
ADtest2도 PC이름 바꾸기 → 변경 → 해당 도메인으로 변경 → administrator 로그인 한 뒤
재시작 하시면 됩니다.
다시 로그인 할 때는 도메인 이름\administrator 로 로그인하고
서버 매니저에서 역할 및 기능 추가를 누릅니다
ADtest2를 제대로 선택하고
Active Directory 도메인 서비스를 선택하고 다음을 누릅니다
설치가 다 되었다면 이 서버를 도메인 컨트롤러로 승격 을 해줍니다
기존 도메인에 도메인 컨트롤러를 추가합니다 를 선택하고
아까 변경한 도메인이 맞는지 확인 후 진행합니다
암호를 입력하고 진행합니다
도메인 컨트롤러를 선택할 수 있는데 ADtest1을 선택해서 진행합니다
(사실 큰 상관은 없습니다만 만약 삼중화라면?)
계속 설치해줍니다
[Active Directory 사용자 및 컴퓨터]에서 도메인 컨트롤러 컨테이너에 두 PC가 전부 들어왔는지 확인합니다
(좀 더 확실한 구분을 위해 ADtest1 ADtest2 이런 식으로 이름을 바꿔둘 껄.... 싶었습니다)
오른쪽에서 생성한 Eden Hazrd가 왼쪽 PC에도 똑같이 생성이 되었고
왼쪽에서 생성한 Frank Lampard가 오른쪽에도 똑같이 생성되는 것을 확인할 수 있습니다
이렇게 On-premise AD 이중화는 구성이 완료되었습니다.
다음번에는 Azure AD(Entra ID)를 이용한 하이브리드 구성을 해보도록 하겠습니다
'Microsoft 365 > Active Directory' 카테고리의 다른 글
Hybrid AD 구축 (0) | 2024.11.29 |
---|
Microsoft Power Platform 이란?
최근 Power Automate 사용량이 증가하고 있다고 합니다.
그래서 회사에서 내년부터 저를 Power Automate를 전담시켜, 고객사의 문의에 대응할 수 있게끔 한다고 합니다.
그 말인 즉슨 '좋은 말로 할 때 내년까지 확실하게 공부해놓아라.' 이런 말과 같습니다.
전 아직 학자금 대출도 많이 남은 한낱 미생이므로 틈틈히 Power Platform을 공부해 보도록 하겠습니다.
서러워라
1. 개요:
Power Platform은 비즈니스 애플리케이션을 쉽게 개발하고 데이터 분석, 자동화 등을 쉽게 가능하게 해주는 low-code 도구 입니다.
(로우코드(low-code) 도구는 최소한의 코딩으로 애플리케이션을 개발하는 것이라고 합니다)
2. 구성 요소:
Power Apps : 맞춤형 애플리케이션을 빠르게 개발할 수 있는 플랫폼
Power BI : 데이터를 시각화하고 인사이트를 도출하는 도구
Power Automate : 반복적인 작업을 자동화하여 효율성을 높이는 도구
Power Pages : 웹사이트를 쉽게 설계하고 배포할 수 있는 도구
3. 지원 도구:
Copilot Studio : 사용자가 맞춤형 Copilot을 쉽게 만들고 자동화할 수 있게 함
커넥터 : Power Apps, Power Automate 흐름 및 논리 앱에서 사용되어 일종의 정보와 명령이 이동하는 다리
AI Bulider : 사용자와 개발자가 만들고 사용하는 워크플로 및 Power Apps에서 AI 기능을 추가할 수 있음
Dataverse : 확장 가능한 데이터 서비스 및 앱 플랫폼
Power FX : Power Platform에서 사용되는 로우 코드 프로그래밍 언어
관리되는 환경 : Power Platform 내에서 선택되고 안전하며 격리된 환경
4. 사용 사례:
Metro Bank : Power Apps를 사용하여 매장 내 고객 편의를 개선했다고 합니다
이케아 : 예약 및 워크인 약속 관리를 최적화했답니다 얘네는 제가 알기론 Azure 주 고객사인걸로도 압니다
국내의 모 기업 : 제가 지원했던 기업은 Outllok에서 중요도가 높음 메일이 왔을 때 사용자의 스마트폰으로 알람이 올 수 있게끔 구현하여 쓰고 있었습니다.
Power Platform도 자격증이 있더라구요
가장 기초인 PL-900부터 해서 PL-100, PL-200, PL-400, PL-500, PL-600 등 따보도록 하겠습니다
Power Platform 제 전체 스터디를 백분율로 따졌을 때, Azure, AWS, 다른 M365 app에 비중을 훨씬 두고
약 5~10 퍼센트 정도만 투자할 생각입니다.
뭐 비중은 적지만 꾸준히 해서 이 회사에서만큼은 내가 제일 전문가다 할 때까지 공부해 보겠습니다.
3-Tier 구축 방법 4단계 - SQL-IIS 연동
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 을 입력했을 때
이런 식으로 보이신 다면 설정은 완료된겁니다!
'Microsoft 365 > 3-Tier Architecture' 카테고리의 다른 글
3-Tier 구축 방법 3단계 - MS-SQL 설치 (3) | 2024.11.12 |
---|---|
3-Tier 구축 방법 2단계 - IIS 설치 (1) | 2024.11.06 |
3-Tier 구축 방법 1단계 - AD 구축과 join (3) | 2024.11.04 |
3-Tier Architecture란? (0) | 2024.10.23 |
3-Tier 구축 방법 3단계 - MS-SQL 설치
SQL
1. 개요:
SQL은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 조작하기 위한 표준 언어입니다.
데이터를 삽입한다거나, 조회, 업데이트 등 다양한 작업을 수행할 수 있다고...하는데 딥하게 해본 적은 아직 없습니다 껄껄
2. 환경 구성:
- VM(Windows Server 2022) 에서 SQL을 다운로드 합니다.
기본으로 진행합니다
계속 쭈욱 진행합니다
설치가 완료됐다면 이어서 SSMS 설치 버튼을 누르면!
SSMS(SQL Server Management Studio) 다운로드 - SQL Server Management Studio (SSMS) | Microsoft Learn
이 기술 문서로 이어지게 되고 SSMS를 설치하면 됩니다...!
*SSMS 는 SQL Server를 개발하기 위한 통합 도구 같은 건데요 머리 아픈 SQL을 GUI로 처리할 수 있게 하는 기특한 놈입니다.
SSMS 설치 화면 입니다.
설치가 다 완료 되셨다면, 잠시 바탕 화면으로 나와 win+R → 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 등을 따서 좀더 깊게 공부해볼 예정입니다.
본인의 부족한 부분을 알고 그 부족함을 매꿔 가는 과정이 본인을 더 성장시키는 지름길 아닐까 싶습니다
'Microsoft 365 > 3-Tier Architecture' 카테고리의 다른 글
3-Tier 구축 방법 4단계 - SQL-IIS 연동 (1) | 2024.11.13 |
---|---|
3-Tier 구축 방법 2단계 - IIS 설치 (1) | 2024.11.06 |
3-Tier 구축 방법 1단계 - AD 구축과 join (3) | 2024.11.04 |
3-Tier Architecture란? (0) | 2024.10.23 |