DevOps 도구와 Azure Machine Learning 통합
기계 학습 프로젝트에서 데이터 과학 팀과 함께 작업하고 있다고 상상해 보십시오. 팀은 Azure DevOps 또는 GitHub를 사용하여 작업을 계획하고, 코드 리포지토리를 저장하고, 워크플로를 자동화하도록 선택할 수 있습니다.
두 도구 집합에는 일반적으로 두 가지 역할이 있습니다.
- 관리자: DevOps 환경을 설정하고 도구를 관리합니다.
- 최종 사용자: 개발에 공동 작업하여 프로젝트에 기여합니다. 도구에 연결하지만 DevOps 환경의 구성에 대한 액세스가 제한됩니다.
관리자는 Azure Machine Learning을 Azure DevOps 또는 GitHub와 연결할 책임이 있습니다. Azure Machine Learning과의 통합을 설정하는 방법을 이해하려면 관리자가 Azure DevOps 및 GitHub를 Azure Machine Learning과 안전하게 연결하는 방법을 살펴보겠습니다.
Azure DevOps 설정
Azure DevOps를 Azure Machine Learning과 연결하려면 먼저 조직과 프로젝트를 만들어야 합니다. 조직을 사용하여 프로젝트를 그룹화하고 관리합니다.
먼저 Microsoft 또는 GitHub 계정으로 Azure DevOps 에 로그인합니다.
로그인한 후에는 조직을 만들 수 있습니다.
조직 내에서 여러 프로젝트를 만들 수 있습니다.
각 프로젝트에 대해 Boards, Repos 및 Pipelines 와 같은 도구에 액세스하여 프로젝트에 DevOps 원칙을 적용할 수 있습니다.
Azure Machine Learning에 Azure DevOps 연결
Azure DevOps에서 Azure Machine Learning 작업 영역에 안전하게 액세스하려면 서비스 연결을 만들어야 합니다.
서비스 연결을 만들 때 다른 서비스에 연결하기 위해 Azure DevOps를 인증하는 방법을 정의합니다. Azure Machine Learning을 사용하는 경우 Azure DevOps에서 서비스 주체를 만들 수 있도록 하는 것이 좋습니다.
서비스 주체는 Microsoft Entra ID에서 계정으로 생성됩니다. Azure DevOps는 팀 구성원의 자격 증명을 사용하여 Azure Machine Learning에 연결하는 대신 서비스 주체의 자격 증명을 사용합니다.
Azure DevOps 프로젝트를 만들 때 기존 Azure Machine Learning 작업 영역에 연결할 수 있습니다.
- 프로젝트 내에서 프로젝트 설정으로 이동합니다.
- 서비스 연결을 선택하고 새 연결을 만듭니다.
- Azure Resource Manager를 선택합니다.
- 자동 서비스 주체를 사용하여 인증하도록 선택합니다.
- 범위 수준을 Machine Learning 작업 영역 으로 설정하고 액세스할 수 있는 기존 Azure Machine Learning 작업 영역에 연결합니다.
- 모든 파이프라인에 액세스 권한을 부여합니다.
- 서비스 연결에 이름을 지정합니다. Azure Machine Learning 작업 영역을 관리하기 위해 Azure DevOps를 인증해야 할 때마다 이 이름을 사용합니다.
서비스 연결이 만들어지면 새로 만든 서비스 주체가 Azure Machine Learning 작업 영역에 대한 기여자 액세스 권한이 있음을 알 수 있습니다.
GitHub 설정
Azure Machine Learning과 GitHub를 연결하려면 먼저 GitHub 리포지토리를 만들어야 합니다.
먼저 GitHub에 로그인합니다.
GitHub에 로그인한 후 개인으로서 리포지토리를 소유할지 또는 GitHub 조직에서 소유해야 하는지 여부를 선택할 수 있습니다.
팁 (조언)
GitHub 조직을 사용하여 리포지토리를 관리하는 방법에 대해 자세히 알아봅니다.
Azure Machine Learning을 사용하여 GitHub 연결
GitHub를 사용하여 기계 학습 워크플로를 자동화하려면 GitHub를 인증하여 Azure Machine Learning에 연결할 수 있습니다. 보안 연결을 설정하려면 다음을 수행해야 합니다.
- Azure에서 서비스 주체를 만듭니다.
- 리포지토리의 비밀에 서비스 주체의 자격 증명을 추가합니다.
서비스 주체를 만들려면 Azure CLI를 사용할 수 있습니다. CLI를 사용하려면 한 가지 옵션은 Azure Cloud Shell에서 명령을 제출하는 것입니다.
다음 명령을 사용하여 Azure Machine Learning 작업 영역에 대한 기여자 액세스 권한을 부여할 서비스 github-aml-sp
주체를 만들 수 있습니다.
az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
--sdk-auth
서비스 주체가 만들어지면 GitHub이 Azure 리소스 그룹에 연결하는 데 필요한 자격 증명이 포함된 JSON 텍스트가 출력으로 반환됩니다. JSON 텍스트를 복사하고 다음 단계를 위해 저장합니다.
GitHub에 이러한 자격 증명을 저장하려면 다음을 수행합니다.
- 리포지토리의 설정으로 이동합니다.
- 비밀 페이지로 이동합니다.
- 작업을 선택합니다.
- 새 리포지토리 비밀을 추가합니다.
AZURE_CREDENTIALS
를 이름으로 입력합니다.- 출력 JSON에 자격 증명을 붙여넣고 비밀을 추가합니다.
GitHub에 비밀을 추가하면, Azure Machine Learning 작업 영역과의 작업을 위해 GitHub를 인증할 필요가 있을 때마다, 이를 인증하기 위한 비밀 AZURE_CREDENTIALS
을 사용할 수 있습니다.
팁 (조언)
Azure Machine Learning과 GitHub 통합에 대한 학습을 계속하고 Azure Machine Learning에서 GitHub Actions를 사용하는 방법을 알아보세요. 이 튜토리얼에서는 비밀 키를 사용하여 AZURE_CREDENTIALS
Azure에 연결합니다.