Virtual Network(VNET)

: VM들을 내부적으로 통신시키기 위해 같은 네트워크에 연결시킴

: 다른 네트워크에서 사설 IP로 들어오지 못하도록 하는 것(공인 IP의 경우 포트를 열면 들어오게 할 수 있음)

* VNET은 location이 중요하다. 한 번 설정한 지역은 못 바꾼다.

** DHCP 기능 : VNET에 연결을 해야지 vm이 사설 IP를 받는다.(같은 location이어야 함)

 

 

Network Security Groups(NSG)

NSG 예시

: 기본적으로 Internet에서 접속하는 모든 Traffic에 대하여 차단 및 허용하는 것

(적용 대상 : VM의 NIC 및 Subnet)

: VNET에 있는 리소스에 대한 트래픽을 제한

: Inbound/outbound에 대해 보안 규칙을 적용

: 하나를 만들어 다른 서브넷에 적용시킬 수 있다.(비용절약)

 

  • NSG default rules
    : default 룰은 삭제할 수 없고, 새로운 규칙은 이들의 후위 순서로 넣을 수 있다
  • NSG Effective Rules
    : allow의 경우 서브넷, LAN 모두에 있어야 한다.

 

NSG 사용

** Subnet : 서브넷에 NGS를 할당하고 보호된 서브넷(DMZ)를 만들 수 있다. 이러한 NSG는 해당 서브넷 내의 모든 컴퓨터로 트래픽 흐름을 제한한다. 각 서브넷에는 0개 또는 1개의 NSG를 연결할 수 있다.

** Network Interface : NIC에 NSG를 할당하면 NIC를 통해 이동하는 모든 트래픽을 NSG 규칙에 따라 제어할 수 있다. 서브넷에 있는 각 NIC에는 NSG를 0개 또는 1개 연결할 수 있다.

 

▶ NSG를 먼저 서브넷에 연결한 다음, 다른 NSG를 VM의 NIC에 연결하여 VM에 대해 이중으로 트래픽 제한을 둘 수 있다.

서브넷과 네트워크 인터페이스에 NSG가 각각 연결된 상태

이 경우에는 Inbound 트래픽에서는 Subnet NSG가 먼저 평가되어 Subnet NSG를 통해 허용되는 모든 트래픽이 VM SNG에서 평가된다. Outbound 트래픽의 경우, 반대로 VM NSG가 먼저 평가된다. 

이런 식으로 세부적인 보안 규칙을 적용할 수 있게 된다. 

 

 

Application Security Groups(ASG)

ASG

ASG를 사용하면 VM을 그룹화하고 해당 그룹에 따라 네트워크 보안 정책을 정의할 수 있다. 

 

예시

예시로 보면, NIC1과 NIC2 는 AsgWeb의 ASG 멤버이고 NIC3는 AsgLogic, NIC4는 AsgDb의 ASG 멤버이다.

여기서 각 NIC는 하나의 NSG에 속하지만 ASG는 다를 수 있다는 것을 알 수 있고 같은 NSG 규칙이 다른 서브넷에 적용될 수 있다는 것을 알 수 있다.

 


실습) 가상 네트워크 구현

실습 절차는 아래와 같다

  1. 가상 네트워크 생성 및 구성
  2. VM을 가상 네트워크에 배포
  3. Azure VM의 Private 및 Public IP 주소 구성
  4. 네트워크 보안 그룹(NSG) 구성
  5. 내부 이름 확인을 위해 Azure DNS 구성
  6. 외부 이름 확인을 위해 Azure DNS 구성

VNET 세부 항목 설정

먼저, Virtual Network를 생성한다.

subnet1 추가

서브넷이 두개 필요하므로 서브넷을 추가한다.


아래 두 명령어를 통해 Json 파일로 VM을 생성한다.

$rgName = 'az104-04-rg1'
New-AzResourceGroupDeployment -ResourceGroupName $rgName -TemplateFile $HOME/AZ104/Module04/az104-04-vms-template.json -TemplateParameterFile $HOME/AZ104/Module04/az104-04-vms-parameters.json -AsJob

NIC0의 구성

 

ipconfig1의 배포 형식을 Dynamic에서 Static으로 변경하고 Public IP도 새롭게 추가하여 설정한다.

nic1에 대해서도 이 과정을 반복하여 적용한다.

 

각 VM의 공인 IP 확인


** Standard SKU의 공용 IP 주소를 사용하려면 할당된 네트워크 인터페이스가 네트워크 보안 그룹에 의해 보호되어야 하기 때문에 이 에러가 발생할 수 있다고 한다. 원격 데스크톱 연결을 허용하려면 인터넷으로부터의 인바운드 RDP 트래픽을 명시적으로 허용하는 Network Security Group을 생성하고 이를 두 VM의 네트워크 인터페이스에 할당해야 한다.

 

NSG를 하나 생성하고(이름은 az104-04-nsg01) 아래와 같은 Inbound 규칙을 추가해준다.

Inbound 규칙
vm0 접속

그리고 나서 다시 vm에 접속하면 잘 들어가진다.


 

Private DNS 등록
Vnet을 link로 연결했더니 그 안에 속한 VM들에 자동적으로 Private DNS가 등록되었다.

VM0에 접속하여 Private DNS zone이 적용되었는지 확인한다.

nslookup az104-04-vm1.contoso.org


DNS Zones - Create
Record set을 추가하여 추가할 VM을 수동으로 등록한다.

powershell 창을 열어 아래 명령어를 통해 Public IP가 나오는 것을 확인한다.

nslookup az104-04-vm0.mycontoso.org [Name server 1]
nslookup az104-04-vm1.mycontoso.org [Name server 1]

'Study > Cloud' 카테고리의 다른 글

AZ104 (Azure Storage)  (0) 2022.08.10
AZ104 (Load Balancing Services)  (0) 2022.08.10
AZ104 (관리자 도구)  (0) 2022.08.08
AZ104 (환경세팅)  (0) 2022.08.08
AZ104 (Administer Governance and Compliance)  (0) 2022.08.06

AAD와 Subscription은 다른 것임

구독자가 AAD 관리. User와 Group 생성(이 사용자들은 Portal에 접속할 수 있음. 하지만 Subscription, Resource Group, Resource 에 대한 권한이 있어야 함)

** 그 중에, Global Administrator 권한은 AAD에서 User 만들고 Group 만들고 할 수 있고, Portal에는 접속해도 할 수 있는 게 없음 --> 따라서 Access Control 에서 Portal에서 할 수 있는 역할을 또! 부여해야 함 

실습)

1) 구독 계정으로 AAD에서 poweruser 생성하면서 global administrator 역할 부여
2) Subscription의 Access Control에서 OWNER 역할을 부여 
3) poweruser로 portal에 접속하여 AAD에 가서 4개의 계정을 생성 
users - bauser1 , bauser2,  iauser1, iauser2
groups - bausers , iausers
4) BA, IA라는 resource group 생성한 후에 해당 RG에서 해당 Group에 Reader 역할을 부여
5) poweruser로 BA, IA RG에서 App service를 하나씩 만든다(웹사이트)
6) bauser1, iauser1로 portal에 접속하여 자신에게 부여된 Resource에 접속

☆ user account 생성 > role assignment 

= 만든 user에게 관리자 권한을 부여

(ex) 개발부서 관리자)

☆ 관리자 권한을 받은 user account로 접속 > user 생성 > resource group 생성 > 각 RG에 대한 IAM > role assignment > 특정 사용자 or group에게 권한 부여

(이 사용자들은 자기 리소스 그룹만 보이고 거기에 대해서 작업할 수 있음)

------------------------------------------

Azure 관리자 도구 

1. Azure Portal

2. Cloud Shell - Powershell, Bashshell

3. 로컬에서 Power Shell and CLI

-----------------------------------------
https://aka.ms/installazurecliwindows

여기서 Azure CLI msi설치

<Local computer에 Azure Cli 및 Azure Powershell 설치하기>

1. Windows에 Azure CLI 설치

  a. azure cli msi를 다운로드하여 설치하기
  b. powershell을 관리자로 실행하기
     az --version
  c. az login
  d. Web Browser가 실행되면 jesuswithme@hotmail.com으로 로그인한 후 Web Browser 닫기
  e. login 성공함
  f. az account list -o table
     az group list -o table

 

2. Windows Azure Powershell Module 설치하기

 a. Get-Module
 b. Get-Module -ListAvailable
 c. Import-Module -Name PowerShellGet
 d. Get-Command -Module PowerShellGet
 e. Install-Module -Name Az -AllowClobber
 f. Connect-AzAccount  (jesuswithme@hotmail.com 계정으로 로그인)
  Get-AzSubscription
  New-AzResourceGroup -name blessingRG -location eastus
  Get-AzResourceGroup | ft *
  Remove-AzResourceGroup -Name blessingRG

 

<Linux에 Azure CLI 설치 및 사용하기>

 0. sudo -i
 0. yum install python3 -y
 a. curl -sSL https://aka.ms/InstallAzureCli | bash
 b. az login -u ysleepolytech@outlook.com
 c. az account list -o table
 d. az group list -o table
 e. az group --help
 f. az group create -n peaceRG -l eastus


-------------------------------------

ARM 템플릿으로 리소스 쉽게 배포하기
https://azure.microsoft.com/ko-kr/resources/templates/

ex) simple Windows VM 검색 

클릭하여 다운받으면 아주 쉽게 리소스를 추가할 수 있다! 

 

Azure 퀵 스타트 템플릿

Azure Resource Manager를 통해 배포된 Azure 리소스를 커뮤니티에서 제공한<br>템플릿과 함께 사용하여 더 많은 작업을 수행하세요. 배포하고, 학습하고, 분기하고, 다시 적용하세요.

azure.microsoft.com

 

'Study > Cloud' 카테고리의 다른 글

AZ104 (Load Balancing Services)  (0) 2022.08.10
AZ104 (NSG, ASG)  (0) 2022.08.09
AZ104 (환경세팅)  (0) 2022.08.08
AZ104 (Administer Governance and Compliance)  (0) 2022.08.06
AZ104 (Azure AD&Accounts)  (0) 2022.08.06
git clone https://github.com/godeploy/AZ104.git

 

'Study > Cloud' 카테고리의 다른 글

AZ104 (NSG, ASG)  (0) 2022.08.09
AZ104 (관리자 도구)  (0) 2022.08.08
AZ104 (Administer Governance and Compliance)  (0) 2022.08.06
AZ104 (Azure AD&Accounts)  (0) 2022.08.06
AZ800 (Hybrid File Server)  (0) 2022.08.03

Azure Subscriptions
Azure 구독은 Azure 계정에 연결된 Azure 서비스의 논리적 단위이다. 구독별로 서비스 비용이 청구된다.  
 


Resource Groups
모든 리소스는 특정 Resource Group의 구성원으로 들어간다.

 

Azure AD Roles
azure에 있는 사용자를 위한 룰

Azure RBAC Roles
azure의 각종 리소스를 위한 룰

 

 

Azure Policy

이는 정책을 만들고, 할당하고, 관리하는 데 사용하는 서비스이다.

Resource가 회사 표준 및 서비스 수준 계약을 지속적으로 준수하도록 Resource에 규칙을 적용하는 것이다.

Azure Policy는 Resource를 스캔하여 고객이 구현한 정책을 따르지 않은 Resource를 식별한다.

 

 

실습 01) 구독과 Azure RBAC 관리하기
1: Management Groups 구현
2: 사용자 지정 RBAC 역할 생성
3: RBAC 역할 할당

Management Groups를 하나 생성하고, Add Scription을 통해 구독을 등록시킨다.

 

구성

 RBAC 역할을 생성하여 Azure Active Directory 사용자에게 할당하며 사용자가 RBAC 역할 정의에 지정된 작업을 수행할 수 있는지 확인해본다.

CustomRoleDefinition을 위한 json 파일
az role definition create --role-definition AZ104/Module02/az104-02a-customRoleDefinition.json

** 이 명령어를 통해 RBAC 역할을 생성한다.


새로운 사용자 생성
role assignment

** 생성한 사용자에게 Support Request Contributor (Custom) 역할을 부여하였다.
(역할 : create and manage Support requests)

** 생성한 사용자 계정으로 로그인한다.

사용자가 모든 리소스 그룹을 볼 수 있다.
그러나 리소스는 확인할 수 없다
Help+support의 new support request 창

** 여기서 사용 중인 구독이 Subscription DropDown 목록에 있으면 사용 중인 계정에 구독 관련 support request를 만드는 데 필요한 권한이 있음을 나타낸다. 
(RBAC 적용이 잘 되었다.)

 

실습 02) 'Infra' Resource만 포함하는 Resource Group(예: Cloud Shell 저장소 계정)에 태그 지정

1: Azure 포털을 통해 태그 생성 및 할당
2: Azure 정책을 통해 강제 태그 지정 
3: Azure 정책을 통해 태그 지정 적용

** 이 작업에서는 Azure Portal을 통해 Azure 리소스 그룹에 태그를 만들고 할당한다.

df 명령어를 통해 Cloud Shell 홈 드라이브 마운트를 지정하는 전체 경로를 확인

** Cloud Shell 창에서 다음을 실행하여 Cloud Shell에서 사용하는 Storage Account의 이름을 식별한다.
※ df 명령어를 입력해도 다음과 같이 보이지 않는다면, Connect-AzureAD cmdlet을 실행한 후, reconnect 해본다.

** Azure Portal에서 해당 Storage Account을 검색하여 선택한다.

해당 storage account 선택
태그 생성

Policy에 들어가서 Require a tag and its value on resources를 Assign 한다.

** 그리고 나서 이제 새로운 Storage Account를 생성한다. 이때, 이름만 작성하고 바로 Create를 시도해본다.

아주 간단하게 이름만 설정하고 Storage Account를 만드려는데, 실패했다.

** 생성하려고 시도한 스토리지 계정에 값이 Infra로 설정된 Role이라는 태그가 없기 때문에 배포에 실패하는 것이다.


** 방금 만든 것을 삭제하고 새롭게 Assign Policy를 생성한다.

누락된 경우 Cloud Shell 리소스 그룹에서 역할 태그 및 해당 인프라 값 상속
Parameters에는 Role 태그를 입력
Remediation에서는 remediation task를 생성하여 만들어준 policy를 적용한다.
** 이렇게 되면 기존 리소스에 대해 정책을 평가하여 규정 비준수로 발견된 최대 500개의 리소스에 업데이트가 적용된다

cloudshell 저장소 계정을 호스팅하는 resource 그룹에서 storage account를 생성한다.
** 이번에도 아까와 똑같이 이름만 입력하고 바로 create를 시도했다. 그러자, 바로 생성이 완료되는 것을 확인했다.

태그가 자동으로 붙으며 리소스 생성이 완료되었다.



 

'Study > Cloud' 카테고리의 다른 글

AZ104 (관리자 도구)  (0) 2022.08.08
AZ104 (환경세팅)  (0) 2022.08.08
AZ104 (Azure AD&Accounts)  (0) 2022.08.06
AZ800 (Hybrid File Server)  (0) 2022.08.03
AZ800 (Storage Spaces Direct)  (0) 2022.08.03

https://aka.ms/AZ-104LearningPaths

 

Profile

 

docs.microsoft.com

혼자 공부할 수 있는 곳

Azure Active Directory

- Azure AD는 Microsoft의 다중 tenant 클라우드 기반 디렉터리 및 ID 관리 서비스이다.

- 사내 AD 와 Azure AD의 sync가 가능하다 = 모든 클라우드 웹앱 또는 온-프레미스 웹앱에 대해 SSO 를 사용할 수 있다.

Azure AD Join

  • Azure AD Join의 목표
    - 회사 소유 디바이스의 Windows 배포
    - 모든 Windows 디바이스에서 조직의 앱 및 리소스에 액세스
    - 회사 소유 디바이스의 클라우드 기반 관리
    - 사용자가 Azure AD 또는 동기화된 Active Directory 회사 또는 학교 계정을 사용하여 디바이스에 로그인

 

  • ID, 계정, 테넌트 등 주요 Azure Active Directory 구성 요소
    - Identity(ID) : user (Credential = ID + Password)
    - Account : 연결된 데이터가 있는 ID
    - Azure AD account : Azure AD 또는 Office365에서 만든 ID
    - Azure AD tenant(=directory) : 조직(입주자). 구독 신청 시 자동으로 생성됨. 구독 하나 당 하나의 tenant
    - Azure subscription : Azure 클라우드 서비스 비용을 지불하는데 사용

 

구독을 신청한 담당자 = 관리자

회사 직원들이 Azure 를 신청할 수 있도록 계정을 만들어주는 것임. 

ex) 회사의 모든 직원은 하나의 AD에 들어가 있음. 

→ 회사의 총무가 Azure 가입하여 IT부서, 연구 부서, Sales 부서 등 각 부서마다 다른 구독을 신청(각자 다른 Azure tenant가 생김).

→ 관리자 권한을 위임(부여)하기 위해서 각 부서의 담당자들을 Administrator 그룹에 넣어주면 이제 그 담당자들이 Azure tenant를 관리할 수 있는 것임. 

→ 각 부서의 담당자들은 이제 부여받은 관리자 ID로 로그인 하면 됨. 

 

※ 권한 부여 ※

1) Subscription 에 부여 : 대부분 관리자에게 이 권한을 줌 

2) Resource group 에 부여

3) each user 에 부여

 

※ 구독의 장점 ※ 

ⓐ 소비자 입장

1) 초기 투자 비용이 적다

2) 합리적이다 (쓴만큼만 지불)

3) 해지 가능하다

4) 최신 기능을 사용할 수 있다

 

ⓑ 제공자 입장

1) 안정적이고 예측 가능한 소득 확보


User Accounts

- 모든 user들은 account를 갖고 있어야 함 (portal에 들어가서 작업해야 하므로)

- account는 인증과 인가를 위해 사용된다

 

※ 사용자 계정 유형 

  1. Cloud ID
    : Azure AD에만 존재
    ex) 관리자 계정이나 관리자가 직접 관리하는 사용자
  2. 디렉토리 동기화된 ID
    : 온-프레미스 Active Directory에 존재(Windows AD)
  3. Guest
  4. : Azure 외부에 위치
    ex) 다른 클라우드 공급자의 계정과 Xbox LIVE 계정 등의 Microsoft 계정
    이러한 유형의 계정은 외부 공급업체 또는 계약자가 귀하의 Azure 리소스에 액세스해야 하는 경우에 유용.

※ 사용자 생성

  • 사용자 프로필(사진, 작업, 연락처 정보)은 선택 사항
  • 삭제된 사용자는 30일 내에 복원할 수 있다.
  • 로그인 및 감사 로그 정보를 사용할 수 있다.
  • 대량으로 사용자를 생성하고 삭제할 수도 있다. Azure Portal에서 템플릿을 다운받아 csv 파일에 올바른 형식으로 사용자를 넣어주면 된다.

 

Group Accounts

※ 유형 

  1. Security Group. 보안 그룹
    사용자 그룹의 공유 리소스에 대한 멤버 및 컴퓨터 액세스를 관리하는 데 사용
    ex) 특정 보안 정책을 적용할 보안 그룹
  2. Microsoft 365 Group
    구성원들이 협업을 수행할 수 있도록 공유 사서함, 달력, 파일, SharePoint 사이트 등에 대한 액세스 권한을 제공

※ 할당 유형

  1. Assigned : 특정 사용자를 그룹 구성원에 추가하고 고유 권한을 제공
  2. Dynamic User : 동적으로 구성원 자격 규칙을 적용시켜 자동으로 구성원을 추가&제거
  3. Dynamic Device(보안 그룹에서만 가능) : 동적으로 그룹 자격 규칙을 적용시켜 디바이스를 자동으로 추가&제거

실습) Azure AD 구성하기 

1: Azure AD 사용자 생성 및 구성
2: 할당된 동적 멤버 자격으로 Azure AD 그룹 만들기
3: Azure AD(Active Directory) 테넌트 생성
4: Azure AD 게스트 사용자 관리

사용자(az104-01a-aaduser1) 생성 후, Add assignments

생성한 사용자에게 User administrator 권한을 부여하였다.

az104-01a-aaduser1 계정으로 Azure Active Directory 테넌트에 액세스할 수 있지만 Azure 리소스에 액세스할 수 없다.

 ** 동적 그룹을 구현하려면 Azure AD Premium P1 또는 P2 라이센스가 필요하기 때문에 라이센스를 먼저 발급받는다.
라이센스 발급
새로운 그룹 생성

** 여기서 맨 밑에 Dynamic user members 를 Add 하여 규칙을 통해 구성원을 자동으로 관리할 수 있다.

jobTitle이 Cloud Administrator인 사람만 그룹에 가입할 수 있음
그룹을 생성할 때 Assigned 유형으로 특정 그룹들만 선택하여 또 새로운 그룹을 만들 수 있다.

tenant 생성
이렇게 활동 디렉토리를 바꾸어 다른 tenant를 관리할 수도 있다.(총 관리자일 경우)

** Contoso Lab 디렉토리에 들어가 새로운 사용자를 생성한다.

새로운 tenant에 들어가 사용자 생성

** 다시 기본 디렉토리로 돌아가서 방금 만든 사용자를 Guest로서 invite 한다.

invite
다른 tenant의 사용자에게 현재 디렉토리(기본 디렉토리)의 그룹을 관리하도록 지정할 수도 있다.

 

'Study > Cloud' 카테고리의 다른 글

AZ104 (환경세팅)  (0) 2022.08.08
AZ104 (Administer Governance and Compliance)  (0) 2022.08.06
AZ800 (Hybrid File Server)  (0) 2022.08.03
AZ800 (Storage Spaces Direct)  (0) 2022.08.03
AZ800 (File Server & Storage Management)  (0) 2022.08.02

Windows 뿐만 아니라 Linux, Cloud도 Powershell 로 관리할 수 있다 

Linux에 powershell 설치하기

# Register the Microsoft RedHat repository
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo


# Install PowerShell
sudo yum install -y powershell


# Start PowerShell
pwsh
>> powershell 시작

Linux에서 Powershell 설치하여 실행

 

** 패키지가 어디있는지 정보 : repository(unix), provider(powershell)

yum install nginx -y : nginx 설치 (안됨)
yum repolist : repository에 nginx 있는지 확인
yum install epel-release -y : 하면 13000개 가량의 repository가 추가되어 nginx 설치됨

Linux의 repository에 해당하는게 Powershell의 Provider
(ps) Get-PackageProvider : 설치된 패키지 확인

Package 관리 

Package : Excel과 같은 프로그램

Module : cmdlet의 집합. 명령어를 사용하는 것
windows powershell의 기본 명령어는 얼마 없기 때문에 모듈을 추가해야 한다.

인터넷에 연결하여 모듈과 패키지 설치로 많은 종류의 cmdlet을 추가하여 사용할 수 있다. 

 

이미지 출처 https://www.red-gate.com/simple-talk/sysadmin/powershell/managing-packages-using-windows-powershell/

 

  • PowerShell v5.0 부터는 다음과 같이 모듈을 추가하면 Online에서 공유하고 있는 Module(cmdlet 집합)과 Package를사용할 수 있다
Import-Module -Name PackageManagement
이제 Find-Package / Install-Package 와 같은 명령어 사용이 가능하다

Import-Module -Name PowerShellGet
이제 Find-Module / Install-Module 와 같은 명령어 사용이 가능하다

 

PackageManagement

  • Linux에서는 yum, apt-get으로 Online에 접속하여 Package를 설치하고 있는데, 이것들과 동일한 개념이 바로PackageManagement이다.
  • 통합 Package 관리 유틸리티로서 PackageOnline에서 검색, 설치, 업데이트 제거한다.

PackageManagement 모듈에 속한 cmdlet 확인하기
이런 식으로 패키지 설치가 가능하다

 

PowerShellGet 모듈에 속한 cmdlet 확인하기
특정 이름의 모듈을 찾는 것과 비슷한 이름의 모듈을 찾는 것도 가능하다

실습) Find-Module로 원하는 모듈을 찾고, Install-Module로 모듈을 설치, Get-Command 로 원하는 함수(기능)을 찾고, 실행하기

** find-command -name get-parameter 등 해당 명령어를 포함하는 모듈을 찾아서 install 할 수도 있다.


특정 명령어를 포함하는 모듈을 찾을 수도 있다.

Find-Module | Where-Object {$_.includes.command -like "get-parameter"}

 

원격으로 다른 컴퓨터에 모듈을 설치할 수도 있다.

원격으로 다른 컴퓨터에 모듈 설치

** FilePath 옵션을 이용해 원격 컴퓨터에서 로컬 컴퓨터의 파일을 실행시킨다.

 

 

'Study' 카테고리의 다른 글

WEB/WAS 취약점 진단 참고 - WebtoB  (1) 2023.10.27
커버로스(Kerberos)  (0) 2023.08.29
Windows Powershell  (0) 2022.08.04
Puzzing 기본  (0) 2021.04.07

PowerShell

= Object-based Shell 이다
(Object = Property + Method)

 

PowerShell의 장점

cmd.exe에서 사용하는 거의 모든 명령어를 사용 가능하다
강력한 Pipeline 기능 
도움말이 탁월하다
하나의 명령어를 알게 되면 연관 명령어를 쉽게 찾을 있다
GUI비하여 내용을 구체적으로 확인 상세히 설정 가능하다
반복 작업에 유용하다
Group Policy통하여 PowerShell Script적용할 있다
원하는 cmdlet없는 경우에 Script만들어 사용할 있다
• Function, Module 등을 사용자가 필요에 따라서 생성할 수 있다
• 원격관리 기능이 탁월하다
• CLI 기반의 관리 작업 : GUI는 작업 속도가 느리고 세부적인 정보를 확인하는데 한계가 있고 원격 작업 시 방화벽을 통과하지 못할 수도 있다

  • cmdlet : powershell 명령어
  • module : cmdlet 모음
Get-Module -ListAvailable : 사용 가능한 모듈 목록 출력
Import-Module -Name activedirectory : activedirectory 관련 모듈을 임포트(임포트해야 사용 가능)
Get-Command -Module activedirectory : activedirectory 모듈의 사용가능한 cmdlet 출력

 

  • 특정 단어와 관련된 cmdlet 찾기
    Get-Command (줄여서 gcm) 이용
Get-Command *address* : address 관련 명령어 찾기
gcm *ip* : ip 관련 명령어 찾기 
Get-Command -CommandType application | Where-Object {$_.name -like "*.exe"}
: type이 application 인 것 중에 .exe가 들어가는 명령어 찾기

 

  • 명령어가 기억 안날 때 도움받는 법 
    Help, -examples 옵션 활용하기
    ** 항상 Help 기능을 최신으로 유지한다 : Update-Help
Get-Help -Name cmdlet
줄여서 >> Help -Name cmdlet
줄여서 >> Help cmdlet 

Help *서비스*
Help cmdlet -Examples : 예시 문장을 볼 수 있음

Examples 이외의 또 다른 옵션들

-Full
-Detailed
-Parameter ComputerName
-Online
-ShowWindow

 

  • Windows Feature 확인하고 설치하기 
Get-WindowsFeature -Name *powershell*
Install-WindowsFeature -Name PowerShell-v2 -IncludeManagementTools

손쉽게 설치 가능

** 역할 및 기능을 설치할 때는 습관적으로 -IncludeManagementTools 와 -IncludeAllSubfeature 매개변수를 사용하는 게 좋다.

 

  • cmdlet마다 Property와 Method를 확인해야 한다. (확인 방법 : cmdlet | Get-Member)
get-service | get-member
get-process | get-member

 

  • 특정 서비스의 Property 내용 보기
(get service -Name bits).status
get-service | Where-Object {$_.status -eq "stopped"} 
: Where-Object는 필터링. $_는 오브젝트 하나하나. 그 중에 status가 stopped인 서비스만 보여달라

 

  • 각 cmdlet의 property 값 확인
    : Property와 그 값까지 보고싶으면 fl * 사용
cmdlet | fl *
cmdlet | Format-List *

 

  • Method 실행하기
(Get-Service -name bits).start() : 서비스 시작
(Get-Service -name bits).stop() : 서비스 중지
(Get-Date).Adddays(100) : 100일 후 날짜 알아보기

get-process -name notepad | Stop-Process -Force : 강제 종료

 

  • 정렬하여 확인 가능
    sort-object 이용
get-hotfix : 업데이트 확인
get-hotfix | sort-object -property = installedon : 설치된 날짜 순으로 정렬하여 보여달라
(get-hotfix | sort-object -property installedon)[-1] : 제일 마지막으로(최신에) 설치된 항목

 

  • 특별히 WinRM 서비스 5985, 5986 포트를 사용하여 원격 관리를 하므로, 방화벽 관리가 쉬움
    >> 원격 컴퓨터 내용보기
    1. enter-pssession : 아예 원격 컴퓨터로 들어감
    2. invoke-command(줄여서 icm) : 작업하고 빠져나옴 
enter-pssession -computername sea-dc1
enter-pssession -cn sea-dc1
Invoke-Command -cn sea-dc1 {dir c:\ }
Invoke-Command -cn sea-dc1 {Restart-Computer -Force} : 강제 재시작
Invoke-Command -cn sea-svr1, sea-svr2 {Install-WindowsFeature -Name telnet-client} : 텔넷 서비스를 두대의 컴퓨터 동시에 설치

 

  • 기존의 Windows 명령어를 그대로 사용할 수 있음
Net users, route, ipconfig, ping, fsutil.exe, netdom.exe 등

 

  • Pipeline과 Script를 적절히 사용하면 시스템을 강력하게 관리 가능
Get-ChildItem -Path c:\ -Filter *.png -Recurse | Copy-Item -Destination e:\backup : c드라이브에서 png 파일을 찾아서 e드라이브에 복사

 

  • Scripting 환경 제공
    : 반복적으로 해야 할 작업이나 자동화 해야 할 작업에 적합하다.

특정 서비스 중지되어 있을 때 강제로 시작시키는 스크립트

  • 반복 작업
    ex) 사용자 계정을 1000개 생성할 때
    ex) File Server의 특정한 폴더를 1주일에 한 번씩 Copy 또는 Backup할 때

사용자를 추가하는 엑셀파일

Import-Csv -path ~ | new-aduser 명령어로 1초만에 users 추가 가능

 

  • 한꺼번에 여러 개의 데이터를 수정
    ex) 부서 이름을 한꺼번에 수정한다
Get-ADUser -Filter {department -eq “Sales”} | Set-ADUser -Department “Sales1”

 

  • 일상적인 작업을 신속하게 처리
    ip구성정보 확인  
Get-NetIPConfiguration (줄여서 gip)
  •  공유폴더 목록 확인
Get-SmbShare
  • 특정 프로그램 종료
Get-Process -Name chrome | Stop-Process -Force

 

  • 원격 관리 기능이 탁월
    ex) 10대의 컴퓨터의 최신 보안패치 현황을 확인하기
Invoke-Command -ComputerName (Get-Content c:\computers.txt){(Get-Hotfix | Sort-Object -Property InstalledOn)[-1]}

ex) 10대의 컴퓨터에서 컴퓨터 부팅시 자동으로 시작해야 서비스가 시작되지 않은 것들만 찾아서 자동으로 서비스 시작하기

Invoke-Command -cn (Get-Content c:\computers.txt) {Gwmi Win32_Service | Where{$_.State -ne "Running" -and $_.Startmode -eq "Auto"} | Start-Service -PassThru}

ex) 여러 개의 원격 컴퓨터에 현재 로그온한 사용자를 확인

Invoke-Command -ComputerName (Get-Content C:\computers.txt) {quser.exe}

ex) 업무시간에 직원들이 Gom Player를 사용하고 있는지 확인 

Invoke-Command -ComputerName Server1, Server2, Server3 {Get-Process -Name Gom}

 

  • Script 파일을 Group Policy 적용할 때 유용
    : 도메인의 구성원 컴퓨터 1000대에 동일한 작업을 하고자 하면 '.ps1파일'을 생성하여 Startup Script추가하면 사용자가 로그인 하기 전에 모두 작업이 완료된다.

 

  • EventLog 확인하기 
Get-EventLog -LogName Application -EntryType Error -After (Get-Date).AddDays(-2) 
: 2일 전부터 오늘까지 발생한 이벤트 정보 중에서 Error 만을 확인한다.

 

  • Alias 활용하기
Get-Alias -Definition Get-EventLog : Alias 확인.(없음)
Set-Alias -Name event -Value Get-EventLog : alias 설정
Export-Alias c:\Labfiles\AddedAlias.txt

Import-Alias

Import-Alias를 하면 새로운 콘솔을 띄울 때마다 설정해놓은 alias를 사용할 수 있다.

** 콘솔을 실행할 때마다 Import-Alias를 하는게 귀찮다면 Profile을 활용하여 Alias를 사용할 수 있다. 

 

mkdir $home\Documents\WindowsPowershell 폴더를 다음과 같은 위치에 만들어 profile.ps1를 작성한다

# profile.ps1 
Import-Alias -Path \\SEA-ADM1\Labfiles\AddedAlias.txt
Write-Host "Alias is successfully loaded"

이제 새로운 PowerShell 콘솔을 띄우면 정상적으로 Alias 사용이 가능하다.

'Study' 카테고리의 다른 글

WEB/WAS 취약점 진단 참고 - WebtoB  (1) 2023.10.27
커버로스(Kerberos)  (0) 2023.08.29
Windows Powershell(2)  (0) 2022.08.05
Puzzing 기본  (0) 2021.04.07

Hybrid File Server 

: On-premise 상의 파일 서버를 Azure로 migration하여 효율적인 파일 공유를 할 수 있도록 한다.


o Azure Files

PaaS 서비스의 이점을 가진 On-Premise 환경 내 파일 공유 기능 제공 

 

o DFS?

여러 대의 서버에 여러 개의 공유 폴더가 있다고 할 때, 사용자가 공유 폴더에 접근하려면 각 서버에 따로따로 접속해야 합니다. 이러한 불편을 해소해주는 것이 윈도우 서버의 분산 파일 시스템(Distributed File System, DFS)입니다.
분산 파일 시스템을 이용하면 여러 위치의 공유 폴더를 모아서 하나로 만들 수 있습니다. 이러한 가상의 공유 폴더를 네임스페이스(Namespace)라고 하는데, 사용자가 네임스페이스에 접속하면 네임스페이스에 속한 공유 폴더를 사용할 수 있습니다.
출처 https://www.soft2000.com/26153

 


실습 ) Contoso의 런던 본사(SEA-SVR1)와 시애틀 지사(SEA-SVR2) 간의 DFS(Distributed File System) 복제에 대한 우려를 해결하기 위해 Azure File Sync를 두 개의 사내 파일 공유 간의 대체 복제 메커니즘으로 테스트해본다.


Step 0) 아래 명령어를 관리자의 Windows PowerShell 창에서 입력하여 필요한 자료 다운로드

Start-BitsTransfer -Source 'https://github.com/MicrosoftLearning/AZ-800-Administering-Windows-Server-Hybrid-Core-Infrastructure/archive/refs/heads/master.zip' -Destination C:\Labfiles
Expand-Archive -Path 'C:\Labfiles\master.zip' -DestinationPath 'C:\Labfiles'
Move-item -Path "C:\Labfiles\AZ-800-Administering-Windows-Server-Hybrid-Core-Infrastructure-master\Allfiles\Labfiles\Lab10*" -Destination "C:\Labfiles" -confirm:$false

 

Step 1) SEA-SVR1 및 SEA-SVR2에 DFS 복제 구현

DFS 관리도구 설치

Install-WindowsFeature-Name RSAT-DFS-Mgmt-Con-IncludeManagementTools

Step 0 을 통해 다운로드 받은 파일 중, L10~ 파일을 powershell ISE 상에서 실행시켜 DFS를 배포한다.


이제 DFS 배포를 테스트해본다.

 

DFS는 SEA-SVR1과 SEA-SVR2의 S:\Data 폴더 간에 내용을 복제한다.
svr1에서 공유 폴더에 파일 작성
SVR2에서 공유 폴더에 접속하니 방금 전에 만든 파일이 보인다.


Step 2) DFS 복제 환경을 File Sync로 migration하기 위해 준비

먼저 파일 동기화 그룹을 만들고 구성해야 한다.

Azure에 접속하여 storage accounts 서비스 이용
생성한 storage account 정보

 이제 Azure File shares 를 만들고 사용한다

이름은 share1

** share1에 File1.txt 샘플 파일을 업로드 한다.

connect 하기 위해 Connect 탭을 클릭하여 복사

** 이후 Snapshots 서비스를 설정해놓는다.

Powershell ISE 를 이용해 실행시킨다.
Z 드라이브에 성공적으로 파일 공유가 되었음을 알 수 있다.
파일 탐색기에 Z: 를 입력하여 접속하니 Azure상에서 올렸던 File1.txt가 보인다.

** File1.txt 파일을 열어 내용을 수정한다.

Snapshot 설정을 통해 원래 파일대로 복구(Restore)도 가능하다.

 

▼ Storage Sync Service 및 File Sync 그룹을 배포한다.

아직 등록된 서버가 없다.

※ 이제 필요한 구성 요소를 모두 갖추었다.


Step 3) DFS 복제를 File Sync 기반 복제로 대체한다
크게 아래 단계로 진행한다.

  1. SEA-SVR1를 Server Endpoint에 추가한다.
  2. SEA-SVR2를 File Sync에 등록한다.
  3. DFS 복제를 제거하고 SEA-SVR2를 Server Endpoint에 추가한다.

 

Azure File Sync agent 링크를 따라가 다운로드한다.

다운로드 한 파일을 Lab10 폴더에 복사하고, Install~ 파일을 PowerShell ISE 상에서 실행시킨다.

** 주의할 점 : ResourceGroup 이름을 기억해뒀다가 쉘 스크립트 내 $rgName 변수를 수정해야 한다!

 

실행 중간에 WARNING 창에 나오는 코드를 복사하여 기억해둔다. 뒤에 작업을 해야 성공적으로 끝난다.

▼  새 창을 띄워 https://microsoft.com/devicelogin.로 접속하여 방금 기억해둔 코드를 입력한다.

코드 입력
Windows PowerShell ISE 창. 그러면 이제 쉘 스크립트가 성공적으로 마무리된다.
다시 Azure 접속하여 FileSync1확인

** SEA-SVR1 이 등록된 것을 확인할 수 있다.

\\SEA-SVR1\Data 폴더를 보면 아직 Azure와 Sync 는 안된 것을 알 수 있다. File1.txt가 없기 때문

 

▼  다시 Azure로 돌아가 FileSync1의 Sync groups에 접속한다.

server end point를 추가한다.
성공적으로 SEA-SVR1을 Endpoint로 지정하여 Sync 했다.

 

아까 SEA-SVR1을 등록할 때 사용했던 설치 파일에서 svrName만 SEA-SVR2로 바꾸어 실행한다.

** 이전과 같은 방식으로 SEA-SVR2를 등록한다

 

 이제 DFS를 삭제하고 SEA-SVR2도 End point로 등록해준다.

관리자 컴퓨터(SEA-ADM1)에서 DFS 관리도구를 통해 DELETE 작업

** SEA-SVR2 Endpoint 등록한 후 \\SEA-SVR2\Data 폴더에서 svr2-test.txt 파일을 생성한다.

 

 

 

Step 4) DFS로 복제하던 것을 Azure File Sync를 통한 복제로 성공적으로 교체했는지 확인한다.

\\SEA-SVR1\Data 폴더에서도 방금 만든 파일이 보인다.

** 파일 동기화 성공

 

 

Step 5) 각종 복제 시뮬레이션

 C:\Windows\INF 폴더에는 800개 이상의 파일이 있으며 크기는 40MB 이상이다.

Azure 접속

 파일 동기화를 모니터링할 수 있다.

 

svr2에서 Demo.txt 파일을 생성하여 작성한다.
\\svr1\data에도 Demo.txt 파일이 공유되었으며, 이를 수정해본다.
Demo.txt로 저장하면 충돌이 일어나기 때문에 알아서 '다른 이름으로 저장'이 기본으로 뜬다.

▲ 복제 충돌 시 알아서 해결해준다.

 

'Study > Cloud' 카테고리의 다른 글

AZ104 (Administer Governance and Compliance)  (0) 2022.08.06
AZ104 (Azure AD&Accounts)  (0) 2022.08.06
AZ800 (Storage Spaces Direct)  (0) 2022.08.03
AZ800 (File Server & Storage Management)  (0) 2022.08.02
AZ-800 (관리)  (0) 2022.07.29

Storage Space 

: 로컬 디스크를 그룹화하여 단일 스토리지로 이용하는 기능


Storage Space Direct

: Hyper-v를 클러스터링하여(묶어서) 하나의 Pool에 넣어 작업하는 것

출처 https://docs.microsoft.com

  • 네트워킹 Storage Space Direct는 SMB 다이렉트 및 SMB 다중 채널을 비롯한 SMB3을 사용하여 이더넷을 통해 서버 간에 통신한다.
  • 장애 조치(failover) 클러스터링. 하나의 노드에 장애가 생겼을 때 연결된 다른 노드의 컴퓨터가 서비스를 이어받아(Failover) 계속해서 서비스되도록 한다.
  • Storage Pool. 저장소 공간 기반이 되는 드라이브 컬렉션. 
  • Storage Space
  • ReFS(복원 파일 시스템). ReFS는 가상화를 위해 구축된 뛰어난 파일 시스템
  • CSV(클러스터 공유 볼륨). CSV는 클러스터 노드의 파일 시스템을 통해 액세스할 수 있는 단일 네임스페이스로, 여러 볼륨을 통합한다.
  • Scale Out File Server. 네트워크를 통해 Hyper-V를 실행하는 다른 클러스터와 같은 SMB3 액세스 프로토콜을 사용하여 클라이언트에 원격 파일 액세스를 제공하여 Storage Spaces Direct를 네트워크 연결 스토리지(NAS)로 효과적으로 전환한다.

실습) 관리자 컴퓨터(SEA-ADM1)에서 Storage Space Direct 구성하기

모든 명령어를 windows powershell 에서 진행

** Invoke-Command : 원격 설치

** 16번째 줄 뒤쪽에 잘린 내용 : Failover-Clustering -IncludeManagementTools}

Step 1)  먼저, SEA-SVR1, SEA-SVR2 및 SEA-SVR3에 file server role 및 FailOver Clustering 기능을 설치한 후, 관리도구를 설치한다.

Step 2) 클러스터 유효성 검사 

하드웨어 등이 정상인지 검사

Step 3) Failover 클러스터 구성
이름 : S2DCluster, 3개의 노드를 하나로 묶고 IP는 172.16.0.40

S2DCluster.Contoso.com 을 입력하여 새로 만든 클러스터와 연결한다.

 

** 37번째 줄 잘린 내용 : -Name S2DCluster.Contoso.com | Get-PhysicalDisk)}

Step 4) storage space direct를 사용하도록 설정


Step 5) storage pool 생성

이름은 S2DStoragePool


Step 6) virtual disk 생성(pool을 나눈다)


Step 7) file server Cluster생성

 

 

** 잘린 내용 : Contoso\Administrator"}

Step 8) File 공유

 

Stop-Computer -ComputerName SEA-SVR3 -Force

: 위 명령어를 입력해 세 번째 노드를 중지시켜본다.

결과

※ 3대를 하나로 묶었기 때문에 1대가 죽어도 계속해서 파일 share 서비스 이용이 가능하다!

즉, Storage Spaces Direct 기능이 성공적으로 동작한다는 것을 확인할 수 있었다.

'Study > Cloud' 카테고리의 다른 글

AZ104 (Azure AD&Accounts)  (0) 2022.08.06
AZ800 (Hybrid File Server)  (0) 2022.08.03
AZ800 (File Server & Storage Management)  (0) 2022.08.02
AZ-800 (관리)  (0) 2022.07.29
AZ-800 (GPO)  (0) 2022.07.27

File System

: 저장 장치에서 파일의 저장 및 검색을 구현하는 기능 제공

Windows Server File System

유형 : FAT, NTFS, ReFS

  • FAT(<=4GB) : 보안X, USB등이 해당
  • NTFS(<=8PB) : 보안O, 압축O, 서버 OS의 Boot Volume, Data Volume 등이 해당 
  • ReFS(<=35PB) : 보안O, 압축X, VM의 data volume 등이 해당(boot volume X)

FSRM(File Server Resource Manager)

: 파일 서버에 저장된 데이터를 관리 및 분류


- 폴더 할당량 지정 (최대 몇 mb, 등)
- 특정 파일 형태 저장 안되게 지정 (동영상 저장 안되게..)

이미지 파일을 저장하지 못하게 설정
이미지를 끌어오려고 했지만 access denied 된다.
이런 식으로 용량 제한도 둘 수 있다.

** Fsutil을 file createnew와 함께 사용하여 임의 크기의 파일을 생성할 수 있음

아직 100MB까지 차지 않아서 생성이 가능


Storage Spaces

: 윈도우즈 서버 및 윈도우즈 10에 내장된 스토리지 가상화 기능

: 저장소 공간 드라이브 오류로부터 데이터를 보호할 수 있는 기능

이미지 출처 https://docs.microsoft.com/ko-kr/windows-server/storage/storage-spaces/storage-spaces-states
이미지 출처 https://techgenix.com/windows-10-storage-spaces/

• Storage Pool = (물리적) 디스크 모음

• Storage Space = (가상) 디스크 모음

• Volume = 크기, 드라이브의 문자, 파일 시스템

 

장점 
• 확장 가능하고 안정적이며 저렴한 스토리지를 구현하고 쉽게 관리할 수 있다
• 동일한 풀에서 서로 다른 유형의 스토리지(예: SATA, SAS, USB 및 SCSI)를 사용할 수 있다
• 특정 드라이브를 hot spare로 지정하고 hot spare를 사용하여 고장 난 풀을 자동으로 복구할 수 있다
• MMC(Microsoft Management Console) 또는 윈도우즈 PowerShell을 사용하여 로컬 또는 원격으로 관리할 수 있다

 

Resiliency type Number of data copies maintained
데이터 복제 수
Workload recommendations
권장 작업
Mirror  2 copies (two-way mirror) 
3 copies (three-way mirror)
= 실제 디스크 집합에 2~3개의 데이터 복사본을 저장
= 단일 디스크 오류를 방지하기 위해선 최소 2개의 실제 디스크 필요
대부분의 배포에 사용. 
일반적 용도의 파일 공유 또는 VHD(가상 하드 디스크) 라이브러리에 적합
Parity 2 disks (single parity)
3 disks (dual parity)
= 실제 디스크에 데이터 및 패리티 정보 저장
= 단일 디스크 오류를 방지하기 위해선 최소 3개의 실제 디스크 필요
보관이나 백업과 같은 순차적 작업에 사용
Simple 1 disk (중복 없음) 복원력이 필요하지 않거나 대체 복원 메커니즘을 제공하는 작업

** Simple 유형은 물리적 디스크가 고장나면 (백업되어 있지 않는 이상) 바로 고장

Provisioning type Features Workload recommendations
Thin JIT(just-in-time)를 기반으로 스토리지를 쉽게 할당 초기 스토리지 용량 절약 필요시
ex) 사용자 파일이 포함된 공유 폴더
Fixed(Thick) 볼륨을 생성할 때 스토리지 용량 미리 할당 보장된 예약 용량이 필요한 경우
ex) 높은 디스크 I/O가 필요한 데이터베이스

 

 

실습 ) 저장소 풀 생성 후 새 Disk provisioning 하기
순서 : 저장소 풀 생성 > 가상 디스크 생성 > 볼륨 생성

저장소 풀 생성. 이름은 SP1


가상 디스크 생성. 이름은 Three-Mirror

** 단일 볼륨을 호스트하는 미러된 가상 디스크를 생성


3방향 미러링된 디스크를 기반으로 볼륨을 생성
볼륨 정보. T 드라이브에 할당했다.


관리자 컴퓨터에서 sea-svr3으로 접속
파일 탐색기에서 볼륨을 관리. T 드라이브로 들어가서 폴더 및 파일 생성 가능


디스크 구성을 되돌린다.


Deduplication

: 데이터 무결성을 유지하면서 데이터 내에서 중복을 식별하고 제거하는 기능

많은 사람들이 같은 파일을 중복해서 올렸을 경우, 이 기능을 설정해놔야 불필요한 용량 차지를 막을 수 있고 스토리지 관리자가 중복된 데이터와 관련된 비용을 줄일 수 있다.

 

파일 서버의 M 드라이브에 중복되는 내용의 파일이 많다.
deduplication을 실행하면 점점 Used는 줄어들고 Free Disk 용량이 늘어남을 확인할 수 있다.


iSCSI(Internet Small Computer Systems Interface)

이미지 출처 https://www.educba.com/what-is-iscsi/

: 데이터 스토리지 서비스 연결을 위한 TCP/IP 기반 스토리지 네트워킹 표준
(기본적으로 iSCSI는 TCP 포트 3260을 사용)

구성요소
• iSCSI targets : 윈도우즈 Server. 파일 및 스토리지 서비스 역할 제공
• iSCSI initiators : 클라이언트. 접근하는 주체. target의 디스크를 자신의 로컬 디스크처럼 사용할 수 있음
• iSCSI Qualified Name (IQN) : 대상을 지정하고 찾는 고유 식별자
• Internet Storage Name Service (iSNS)

 

 

실습 ) iSCSI 스토리지 구성

iSCSI를 설치하고 SEA-SVR3에 대상을 구성할 예정
디스크 2에 ReFS로 포맷된 새 볼륨을 생성.&nbsp;디스크 3도 똑같이 볼륨을 생성해준다.

 

그리고 아래 명령어를 통해 iSCSI 트래픽을 허용하는 고급 보안 규칙을 사용하여 Windows Defender 방화벽을 구성한다.

New-NetFirewallRule -DisplayName "iSCSITargetIn" -Profile "Any" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 3260

New-NetFirewallRule -DisplayName "iSCSITargetOut" -Profile "Any" -Direction Outbound -Action Allow -Protocol TCP -LocalPort 3260

 

볼륨에 할당된 드라이브 확인

 

새 iSCSI 기능 추가
중간에 initiator 선택

 

 

SEA-DC1(이니시에이터)에서 iSCSI 대상에 연결하고 구성

** 대상 연결 시 iSCSI target인 SEA-SVR3.contoso.com 입력

 

SEA-ADM1에서 iSCSI 디스크 구성을 확인

Offline으로 되어 있다.

따라서 iSCSI initiator인 SEA-DC1으로 다시 돌아가 아래 명령어를 입력하여 Online으로 바뀌도록 설정해준다.

Initialize-Disk -Number 1

New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter E

Format-Volume -DriveLetter E -FileSystem ReFS

 

Initialize-Disk -Number 2

New-Partition -DiskNumber 2 -UseMaximumSize -DriveLetter D

Format-Volume -DriveLetter D -FileSystem ReFS

 

다시 SEA-ADM1에서 iSCSI 디스크 구성을 확인

 

마지막으로 디스크 구성을 원상태로 복구시켜본다.

iSCSI target인 SEA-SVR3에서 아래 명령어를 통해 디스크를 복구시킬 수 있다.

for ($num = 1;$num -le 4; $num++) {Clear-Disk -Number $num -RemoveData -RemoveOEM -ErrorAction SilentlyContinue}

for ($num = 1;$num -le 4; $num++) {Set-Disk -Number $num -IsOffline $true}

 

'Study > Cloud' 카테고리의 다른 글

AZ800 (Hybrid File Server)  (0) 2022.08.03
AZ800 (Storage Spaces Direct)  (0) 2022.08.03
AZ-800 (관리)  (0) 2022.07.29
AZ-800 (GPO)  (0) 2022.07.27
AZ-800 (AD)  (0) 2022.07.26

+ Recent posts