azure cloud

gosu·2024년 1월 15일
1
post-thumbnail
post-custom-banner

강사 소개

  • 원철연 강사님
  • 예제로 배우는 Vue.js
  • C# XML & LINQ 완벽가이드
  • 초보자를 위한 C# and Database 완벽가이드
  • https://fromyou.tistory.com/

자격증 추천

  • az104
  • az204

azure

  • 기본적인 흐름
  1. 권한 확인
  2. 리소스 그룹 만들기
  3. 디스크 만들기

Microsoft Entra ID

  • Microsoft Entra ID는 사용자 아이덴티티와 액세스를 관리하는 클라우드 서비스입니다. 이전에는 Azure Active Directory로 불렸습니다. 이 서비스를 통해 사용자 인증, 애플리케이션 접근 관리, 보안 강화 등이 가능합니다.

구독 - 리소스 공급자

  • 각 사용 권한에 대한 명세가 있다.
  • 권한이 없을 때마다 풀어줘야한다.

리소스 그룹

  • 만들기

디스크

  • 만들기

  • 디스크를 만들면, 리소스 그룹 내에 리소스가 생성된 것을 확인할 수 있다.

azure cli(power shell)

리소스 그룹 생성

$location='eastasia'
$rgName='edu-destinationcy93-rg'
New-AzResourceGroup -Name $rgName -Location $location
PS /home/labuser93> $location='eastasia'            
PS /home/labuser93> $rgName='edu-destinationcy93-rg'
PS /home/labuser93> New-AzResourceGroup -Name $rgName -Location $location

ResourceGroupName : edu-destinationcy93-rg
Location          : eastasia
ProvisioningState : Succeeded
Tags              : 
ResourceId        : /subscriptions/f5bc93f2-df0a-4b1a-ab9e-2b0203fc7d26/resourceGroups/edu-destinationcy93-rg

디스크 생성

$location='eastasia'
$rgName='edu-destinationcy93-rg'
$diskConfig = New-AzDiskConfig `
-Location $location `
-CreateOption Empty `
-DiskSizeGB 32 `
-Sku Standard_LRS
$diskName = 'edu-ps-disk-93'
New-AzDisk `
-ResourceGroupName $rgName `
-DiskName $diskName `
-Disk $diskConfig
PS /home/labuser93> $location='eastasia'            
PS /home/labuser93> $rgName='edu-destinationcy93-rg'
PS /home/labuser93> $diskConfig = New-AzDiskConfig `
>> -Location $location `
>> -CreateOption Empty `
>> -DiskSizeGB 32 `
>> -Sku Standard_LRS
PS /home/labuser93> $diskName = 'edu-ps-disk-93'
PS /home/labuser93> New-AzDisk `
>> -ResourceGroupName $rgName `
>> -DiskName $diskName `
>> -Disk $diskConfig

ResourceGroupName            : edu-destinationcy93-rg
ManagedBy                    : 
ManagedByExtended            : {}
Sku                          : Microsoft.Azure.Management.Compute.Models.DiskSku

azure cli(bash)

  • bash로 변경

az account list -o table

  • 계정 리스트 보기
$ az account list -o table
Name                     CloudName    SubscriptionId                        TenantId                              State    IsDefault
-----------------------  -----------  ------------------------------------  ------------------------------------  -------  -----------
서울대학교 ChatGPT 과정  AzureCloud   f5bc93f2-df0a-4b1a-ab9e-2b0203fc7d26  c3b5a8fe-e46d-4078-9bd0-5eb0bb801edb  Enabled  True

az resource list -o table

  • 계정 리소스 그룹 확인
$ az resource list -o table
Name                                                  ResourceGroup                      Location          Type                                                Status
----------------------------------------------------  ---------------------------------  ----------------  --------------------------------------------------  --------
cs110032003416f2f58                                   cloud-shell-storage-southeastasia  southeastasia     Microsoft.Storage/storageAccounts
cs110032003416f2f66                                   cloud-shell-storage-southeastasia  southeastasia     Microsoft.Storage/storageAccounts
cs110032003416f2f6a                                   cloud-shell-storage-southeastasia  southeastasia     Microsoft.Storage/storageAccounts

az group delete --name edu-destinationcy93-rg --no-wait --yes ✏️

  • azgroup 삭제
  • 비동기로 삭제해주는 명령어이다
  • 원래 삭제하는거 하나하나 해야하는데, 한 방에 삭제해서 편하다

ARM Template ✅

  • ARM(Azure Resource Manager) 템플릿은 Azure의 리소스를 정의하고 배포하기 위한 JSON 파일로, 클라우드 리소스의 구성 및 관리를 자동화하는 데 사용됩니다.
  • 인프라를 정의하는 개념인 IaC의 한 형태
  • Azure Portal에서 VM, Storage를 생성하기 위해 클릭할 필요 없이 key-value 쌍으로 이어진 json 형태의 ARM template 이용 리소스를 정의하고 Azure Resource Manager가 리소스를 생성하도록 함

ARM Template를 이용 디스크, 리소스 그룹 생성 (리소스 그룹 복제하기)

  1. Azure Portal을 이용하여 리소스 그룹과 리소스 생성
  2. 생성한 리소스로부터 Template 다운로드(parameters.json, template.json)
  3. Azure Portal에서 사용자 지정 탬플릿 배포(Deploy a custom template) 실행
  4. parameters.json, template.json 업로드, 수정 후 배포

1. json 받기

  • 리소스 그룹 - 배포 - Deployment name - 템플릿 - 다운로드 - 압축 풀기

2. 사용자 지정 템플릿 배포

  • '편집기에서 사용자 고유의 템플릿을 빌드합니다.' - 파일 로드 - template.json
  • sourceResourceId 삭제, hyperVGeneration 삭제
"sourceResourceId": {
            "type": "String"
        },
"hyperVGeneration": {
            "defaultValue": "V1",
            "type": "String"
        },

  • 매개변수 편집- 파일 로드 - parameter.json
  • diskName value 수정
"diskName": {
            "value": "eduarmdiskjh02"
        },
  • 다음과 같이 똑같이 디스크 복제되어 생성된 것을 확인할 수 있다.

스토리지 계정

  • 만들기 - LRS(로컬 중복 스토리지) - 다음: 고급

  • 보안 - 개별 컨테이너에 대한 익명 액세스 허용 ✅ (클릭해줘야 생성 후 수정 가능하다) - 검토 - 만들기
  • 마찬가지로 템플릿 다운로드 ㄱㄱ

azure powershell

1. json 업로드

  • bash쉘로 변경 후 parameter.json, template.json 둘 다 업로드 하자.

  • template.json
    • "parameters" 내용 삭제
    • "storageAccounts_name" 추가
    • 아래와 같이 빈 값이 되게끔 나오면 된다.
{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "storageAccounts_name":{
            "type":"String",
            "metadata":{
                "description":"My first storage account"
            }
        },
        "location": {
            "type": "String",
            "metadata": {
                "description": "Location for all resources."
            }
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2022-05-01",
            "name": "[parameters('storageAccounts_name')]",
            "location": "[parameters('location')]",
            "dependsOn": [],
            "tags": {},
            "sku": {
                "name": "Standard_LRS",
                "tier": "Standard"

            },
            "kind": "StorageV2",
            
        }
    ],
    "outputs": {}
}
  • parameters.json
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "storageAccounts_name": {
            "value": "uniquestorage123xyz"
        },
        "location": {
            "value": "eastus"
        }
    }
}

2. 리소스 그룹 생성

az group create -l koreacentral -n usingjh01-rg
$ az group create -l koreacentral -n usingjh01-rg
{
  "id": "/subscriptions/f5bc93f2-df0a-4b1a-ab9e-2b0203fc7d26/resourceGroups/usingjh01-rg",
  "location": "koreacentral",
  "managedBy": null,
  "name": "usingjh01-rg",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

3. az 그룹 배포

  • 실행 명령어
az deployment group create --name armdeployjh01 --resource-group usingjh01-rg --template-file template.json --parameters parameters.json
  • 기댓값
PS /home/labuser93> az deployment group create --name armdeployjh01 --resource-group usingjh01-rg --template-file template.json --parameters parameters.json
{
  "id": "/subscriptions/f5bc93f2-df0a-4b1a-ab9e-2b0203fc7d26/resourceGroups/usingjh01-rg/providers/Microsoft.Resources/deployments/armdeployjh01",
  "location": null,
  "name": "armdeployjh01",
  "properties": {
    "correlationId": "23b25601-9c0e-40b2-b9b0-7f7dbbc17667",
    ...
    
}

azure 스토리지 👍

  • 테이블 데이터 뿐만 아니라 다양한 데이터를 대용량으로 저장 가능
    • 정형 데이터
    • 반정형 데이터
    • 비정형 데이터
  • 이 셋 다 저장 가능한 장소이다.

다음에서 배울 수 있는 것

  1. 파일(이미지) 공유 후 주소로 공유
  2. 윈도우 가상머신에서 스토리지 공유 (윈도우 뿐만 아니라 맥, 리눅스에서도 가능)

컨테이너 ✅

  • 컨테이너 추가 - imgfolder

<Error>
<Code>ResourceNotFound</Code>
<Message>The specified resource does not exist. RequestId:9c07a97d-101e-0110-8083-47a1e4000000 Time:2024-01-15T07:23:43.3226425Z</Message>
</Error>
  • 권한이 없어서 이미지에 엑세스할 수 없다. 그러므로 엑세스 수준을 컨테이너로 바꿔보자.

  • 다음과 같이 이미지 잘 나오는 것을 볼 수 있다.
  • 이럼 이미지 업로드할 때 S3같은거 안써도 되는 거 아닌가?

파일 공유 ✅

  • 만들기 - 백업 사용 체크 해제 (이거 때문에 파일 삭제도 안되고 리소스 그룹 삭제도 안될 염려가 있다.)

  • 다음과 같이 잘 만들어졌다.

가상 머신 ✅

  • 윈도우 10으로 가상머신 만들어보자

  • VM 삭제 시 공용 IP 및 NIC 삭제 체크

  • 진단 : 사용 안함

  • jhvm01.rdp 파일을 더블클릭하여 접속 가능하다. (완전히 동일한 윈도우 환경임)

가상머신 스토리지 연결 ✅

  • 스토리지 - 연결 - 스크립트

  • 가상머신의 power shell ise에 스크립트를 붙여넣기 하자

  • 다음과 같이 스토리지 공유할 수 있는 디스크가 추가된 것을 볼 수 있다.

  • 스토리지에 first share.txt 파일을 만들어 저장해보았다.

  • 스토리지 - 찾아보기(탐색기)에서 파일이 추가된 것을 볼 수 있다.

profile
개발자 블로그 ^0^
post-custom-banner

0개의 댓글