태그를 사용하여 리소스 구성
리소스를 살펴보고 이전보다 더 체계적으로 구성된 리소스 그룹으로 이동했습니다. 그러나 리소스에 여러 가지 용도가 있는 경우 어떻게 해야 할까요? 이러한 리소스를 보다 잘 검색하고, 필터링하고, 구성하려면 어떻게 해야 할까요? 태그는 Azure 리소스의 구성을 개선하는 데 유용하게 사용할 수 있습니다.
태그란 무엇일까요?
태그는 리소스 및 리소스 그룹에 적용할 수 있는 텍스트 데이터의 이름/값 쌍입니다. 태그를 사용하여 리소스에 대한 사용자 지정 세부 정보를 연결할 수 있습니다. 리소스에는 표준 Azure 속성 외에도 다음과 같은 속성이 있습니다.
- 부서(예: 재무, 마케팅 등)
- 환경(프로덕션, 테스트, 개발)
- 비용 센터
- 수명 주기 및 자동화(예: 가상 머신의 종료 및 시작)
한 리소스에 최대 50개의 태그를 지정할 수 있습니다. 이름이 128자로 제한되는 스토리지 계정을 제외한 나머지 모든 종류의 리소스는 이름 값이 512자로 제한됩니다. 태그 값은 모든 유형의 리소스가 256자로 제한됩니다. 태그는 부모 리소스에서 상속되지 않습니다. 리소스 유형은 일부 태그를 지원하지 않으므로 태그가 클래식 리소스에 적용되지 않을 수 있습니다.
태그는 Azure Portal, Azure CLI, Azure PowerShell, Resource Manager 템플릿 및 REST API를 통해 추가하고 조작할 수 있습니다. 예를 들어, Azure CLI를 사용하여 가상 네트워크에 리소스 태그를 추가하려면 다음 명령을 사용하면 됩니다.
az resource tag --tags Department=Finance \
--resource-group msftlearn-core-infrastructure-rg \
--name msftlearn-vnet1 \
--resource-type "Microsoft.Network/virtualNetworks"
Azure Policy를 사용하여 정의하는 정책 조건에 따라 조직에서 만드는 리소스에 대한 태그를 자동으로 추가하거나 적용할 수 있습니다. 예를 들어 조직의 사용자가 특정 리소스 그룹에서 가상 네트워크를 만들 때 부서 태그에 대한 값을 입력해야 할 수 있습니다.
리소스에 태그 적용
만든 리소스에 태그를 적용해 보겠습니다. 앞에서 msftlearn-core-infrastructure-rg라는 리소스 그룹을 만들고, 그 안에 msftlearn-vnet1 및 msftlearn-vnet2라는 두 개의 가상 네트워크를 만들었습니다. 가상 네트워크 이름이 비교적 평범하므로 다른 부서의 서비스에 가상 네트워크를 연결하겠습니다.
Azure Portal을 열고 리소스 그룹 이름 msftlearn-core-infrastructure-rg로 이동합니다.
리소스 그룹의 개요 창에 두 가상 네트워크가 나열되어야 합니다. 기본 보기는 태그 열을 표시하지 않으니 목록 보기에 열을 추가하겠습니다. 도구 모음에서 보기 관리를 선택한 다음 열 편집을 선택합니다. 열 편집 창에서 열 추가를 선택하고 필드를 선택하여 드롭다운 목록을 표시합니다. 속성 태그를 선택하여 목록 보기의 열에 추가합니다. 저장을 선택하여 변경 내용을 추가합니다.
이제 태그 열이 표시되지만, 아직 태그를 추가하지 않았기 때문에 비어 있을 것입니다. 여기서 직접 태그를 추가하겠습니다.
리소스의 태그 창에서 이 기능을 지원하는 리소스에 태그를 추가할 수도 있습니다. msftlearn-vnet1 리소스에 대해 줄임표(
...
)를 선택한 다음 태그 편집을 선택하여 태그 편집 창을 표시합니다. 이 창에서 선택한 리소스에 대한 특정 태그를 만들 수 있습니다.이 가상 네트워크에 몇 가지 태그를 추가해 보겠습니다. 이 창의 두 필드는 이전에 사용된 모든 태그를 기억합니다. 하나를 선택하거나 새 태그를 만들 수 있습니다. 이름 상자에 부서를 입력하고, 값 상자에 재무를 입력합니다. 저장을 선택하여 변경 내용을 저장합니다.
msftlearn-vnet2 가상 네트워크에 대해 동일한 단계를 수행합니다. 이 가상 네트워크에 대해 마케팅 값을 사용하여 리소스에 부서 태그를 추가합니다.
각 리소스에 태그가 적용된 것이 보일 것입니다.
리소스를 빠르게 분류하기 위해 리소스에 태그를 대량으로 추가할 수 있습니다. 목록에서 각 가상 네트워크의 왼쪽에 있는 확인란을 선택하고 도구 모음에서 태그 할당을 선택합니다. 표시되지 않을 경우 이 옵션은
...
메뉴 내에 포함되어 있을 수 있습니다. 여러 리소스를 선택하면 선택한 모든 항목에 태그를 추가할 수 있으며 이렇게 하면 여러 리소스에 동일한 태그를 적용하기가 쉬워집니다.Environment
:Training
태그를 선택한 리소스에 추가합니다. 대화 상자를 보면 각 가상 네트워크에 태그가 적용되는 것을 볼 수 있습니다. 저장을 선택합니다.이제 리소스 목록에는 여러 값으로 채워진 태그 열이 표시됩니다. 창 너비가 제한되어 있으면 태그 텍스트가 잘려서 표시될 수 있습니다. 열 제목을 마우스로 가리키고 세로 줄을 사용하여 열의 크기를 조정합니다. 맨 오른쪽에 줄임표가 있는 경우 추가 열을 사용할 수 있지만 표시되지 않음을 나타냅니다.
필터 추가를 선택합니다. 필터 필드에서 환경을 선택합니다. 값에 학습을 선택하고 다른 모든 확인란이 비어 있는지 확인한 후 적용을 선택합니다. 환경 태그를 학습으로 설정하여 해당 리소스에 태그를 지정했기 때문에 두 개의 가상 네트워크만 표시됩니다.
재무 또는 마케팅 값으로 부서 태그의 필터를 추가하여 리소스 목록을 추가로 필터링할 수 있습니다.
구성에 태그 사용
앞의 연습은 태그를 사용하여 리소스를 구성할 수 있는 경우와 방법에 관한 예제의 극히 일부일 뿐입니다. 유연성이 우수하기 때문에 다양한 방법으로 태그를 활용할 수 있습니다.
태그를 사용하여 청구 데이터를 그룹화할 수 있습니다. 예를 들어 다양한 구성에 여러 VM을 실행하는 경우 태그를 사용하여 비용 센터별로 사용량을 그룹화할 수 있습니다. 또한 프로덕션 환경에서 실행 중인 VM에 대한 청구 사용량과 같이 런타임 환경별로 비용을 분류하는 데 태그를 사용할 수도 있습니다. 청구 데이터를 내보내거나 청구 API를 통해 청구 데이터에 액세스할 때 태그가 데이터의 일부로 포함되므로 비용 관점에서 데이터를 좀 더 자세히 분할하는 데 사용할 수 있습니다.
구독에서 특정 태그 이름이나 값으로 모든 리소스를 검색할 수 있습니다. 태그를 사용하면 서로 다른 리소스 그룹에서 관련 리소스도 검색할 수 있습니다. 이 방법은 청구 또는 관리에 대한 리소스를 구성해야 하는 경우에 유용할 수 있습니다.
리소스에 태그를 지정하면 영향을 받는 리소스를 추적하는 모니터링에도 도움이 됩니다. 모니터링 시스템은 경고가 포함된 태그 데이터를 사용하여 누가 영향을 받는지 정확하게 파악할 수 있습니다. 위의 예제에서는 msftlearn-vnet1 리소스에 재무 값으로 부서 태그를 적용했습니다. msftlearn-vnet1에 대한 경고가 발생하고 경고에 태그가 포함되어 있으면 경고를 트리거한 조건이 재무 부서에 영향을 준다는 것을 알 수 있습니다. 이 컨텍스트 정보는 문제가 발생하는 조건을 파악하는 데 중요한 역할을합니다.
태그는 자동화에도 많이 사용됩니다. 근무 외 시간에 개발 환경의 가상 머신 종료 및 시작을 자동화하여 비용을 절감하려면 태그를 사용하여 자동화를 지원하면 됩니다. 가상 머신에 shutdown:6PM 및 startup:7AM 태그를 추가하고, 이러한 태그를 찾아 태그 값에 따라 리소스를 종료 또는 시작하는 자동화 작업을 만듭니다. Azure Automation Runbook 갤러리에는 이 결과를 달성하기 위해 비슷한 방식으로 태그를 사용하는 여러 솔루션이 있습니다.