Azure CLI を使用して、Azure Deployment Environments でデベロッパー センターを作成して構成する
このクイックスタートでは、Azure Deployment Environments でデベロッパー センターを作成して構成する方法について説明します。
通常、プラットフォーム エンジニアリング チームはデベロッパー センターを設置し、デベロッパー センターに外部カタログをアタッチし、プロジェクトを作成し、開発チームへのアクセスを提供します。 その後、開発チームは、環境定義を使用して環境を作成し、個々のリソースに接続してアプリケーションをデプロイすることができます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- サブスクリプション内のリソースを作成および管理するためのアクセス許可を使用した Azure ロールベースのアクセス制御 (共同作成者や所有者など)。
- Azure CLI devcenter 拡張機能をインストールします。
- リポジトリへのアクセス権を持つ GitHub アカウントと個人用アクセス トークン。
デベロッパー センターを作成する
Azure Deployment Environments でデベロッパー センターを作成して構成するには、次の手順を実行します。
Azure CLI にサインインします。
az login
Azure CLI devcenter 拡張機能をインストールします。
az extension add --name devcenter --upgrade
既定のサブスクリプションを、デベロッパー センターを作成するサブスクリプションとして構成します。
az account set --subscription <subscriptionName>
デベロッパー センターを作成する既定の場所を構成します。 必ず Azure Deployment Environments に使用可能なリージョンを選択してください。
az configure --defaults location=eastus
デベロッパー センターを作成するリソース グループを作成します。
az group create -n <resourceGroupName>
既定のリソース グループを、作成したリソース グループとして構成します。
az config set defaults.group=<resourceGroupName>
デベロッパー センターを作成します。
az devcenter admin devcenter create -n <devcenterName>
数分後、出力が作成されたことが示されます。
{ "devCenterUri": "https://...", "id": "/subscriptions/.../<devcenterName>", "location": "eastus", "name": "<devcenter name>", "provisioningState": "Succeeded", "resourceGroup": "<resourceGroupName>", "systemData": { "createdAt": "...", "createdBy": "...", ... }, "type": "microsoft.devcenter/devcenters" }
Note
コマンド、受け入れ可能な引数、および例の詳細を表示するには、--help
を使用します。 たとえば、az devcenter admin devcenter create --help
を使用すると、デベロッパー センターの作成に関する詳細情報が表示されます。
Azure Key Vault に個人用アクセス トークンを追加する
GitHub リポジトリへのアクセス権を Azure に付与するために使用される GitHub 個人用アクセス トークン (PAT) を格納するには、Azure Key Vault が必要です。
キー コンテナーの作成:
# Change the name to something Globally unique az keyvault create -n <keyvaultName>
Note
次のエラーが表示される場合があります:
Code: VaultAlreadyExists Message: The vault name 'kv-devcenter-unique' is already in use. Vault names are globally unique so it is possible that the name is already taken.
グローバルに一意のキー コンテナー名を使用する必要があります。GitHub PAT をシークレットとして Key Vault に追加します。
az keyvault secret set --vault-name <keyvaultName> --name GHPAT --value <personalAccessToken>
デベロッパー センターに ID をアタッチする
デベロッパー センターを作成した後で、デベロッパー センターに ID をアタッチします。 システム割り当てマネージド ID またはユーザー割り当てマネージド ID をアタッチできます。 2 種類の ID について説明します。
このクイックスタートでは、デベロッパー センター用にシステム割り当てマネージド ID を構成します。
システム割り当てマネージド ID をアタッチする
システム割り当てマネージド ID をデベロッパー センターにアタッチするには:
az devcenter admin devcenter update -n <devcenterName> --identity-type SystemAssigned
キー コンテナー シークレットへのアクセス権をシステム割り当てマネージド ID に付与する
この ID で、リポジトリにアクセスするための GitHub PAT を含むキー コンテナー シークレットにアクセスできることを確認します。 Key Vault は、Azure ロールベースのアクセス制御とコンテナー アクセス ポリシーという 2 つのアクセス方法をサポートしています。 このクイックスタートでは、コンテナー アクセス ポリシーを使用します。
デベロッパー センターの ID のオブジェクト ID を取得します。
OID=$(az ad sp list --display-name <devcenterName> --query [].id -o tsv) echo $OID
Key Vault ポリシーを追加して、デベロッパー センターで Key Vault からシークレットを取得できるようにします。
az keyvault set-policy -n <keyvaultName> --secret-permissions get --object-id $OID
デベロッパー センターにカタログを追加する
Azure Deployment Environments は、Azure DevOps リポジトリと GitHub リポジトリのアタッチをサポートしています。 リポジトリには、キュレーションされた一連の IaC テンプレートを格納できます。 リポジトリをカタログとしてデベロッパー センターにアタッチすると、開発チームは、テンプレートにアクセスできるようになると同時に、一貫した環境をすばやく作成できるようになります。
このクイックスタートでは、Azure Deployment Environments チームが作成および保守するサンプルを含む GitHub リポジトリをアタッチします。
デベロッパー センターにカタログを追加するには、まずある程度の情報を収集する必要があります。
GitHub リポジトリの情報を収集する
カタログを追加するには、GitHub リポジトリの URL、ブランチ、環境定義が格納されているフォルダーを指定する必要があります。 この情報は、デベロッパー センターにカタログを追加するプロセスを始める前に集めておくことができます。
このサンプル カタログは、リポジトリとして使用できます。 次の手順でリポジトリのフォークを作成します。
ヒント
Azure DevOps リポジトリをアタッチする場合は、Azure DevOps リポジトリのクローン URL の取得に関する記事の手順に従います。
デベロッパー センターにカタログを追加する
シークレット識別子を取得します。
SECRETID=$(az keyvault secret show --vault-name <keyvaultName> --name GHPAT --query id -o tsv) echo $SECRETID
カタログを追加します。
# Sample catalog example REPO_URL="https://github.com/Azure/deployment-environments.git" az devcenter admin catalog create --git-hub path="/Environments" branch="main" secret-identifier=$SECRETID uri=$REPO_URL -n <catalogName> -d <devcenterName>
カタログが正常に追加され、同期されていることを確認します。
az devcenter admin catalog list -d <devcenterName> -o table
環境の種類を作成する
環境の種類を使用すると、開発チームがデプロイできるさまざまな種類の環境を定義するのに役立ちます。 環境の種類ごとに異なる設定を適用できます。
環境の種類を作成します。
az devcenter admin environment-type create -d <devcenterName> -n <environmentTypeName>
その環境の種類が作成されたことを確認します。
az devcenter admin environment-type list -d <devcenterName> -o table
次のステップ
このクイックスタートでは、デベロッパー センターを作成し、これを ID、カタログ、環境の種類で構成しました。 プロジェクトを作成して構成する方法については、次のクイックスタートに進んでください。