ラボ環境を検証する

ラボの準備として、環境を正しく設定することが重要です。 このページでは、すべての前提条件が満たされていることを確かめるセットアップ プロセスについて説明します。

Azure DevOps 組織を作成する手順 (これを行う必要があるのは 1 回だけです)

: 個人の Microsoft アカウントのセットアップとアクティブな Azure サブスクリプションがそのアカウントにリンクされている場合、手順 3 から開始します。

  1. プライベート ブラウザー セッションを使用し、https://account.microsoft.com で新しい 個人 Microsoft アカウント (MSA) を取得します。

  2. 同じブラウザー セッションを使用して、https://azure.microsoft.com/free で無料の Azure サブスクリプションにサインアップします。

  3. ブラウザーを開き、https://portal.azure.com の Azure portal に移動し、Azure portal 画面の上部で Azure DevOps を検索します。 表示されたページで、[Azure DevOps 組織] をクリックします。

  4. 次に、My Azure DevOps Organizations というラベルの付いたリンクをクリックするか、https://aex.dev.azure.com に直接移動します。

  5. We need a few more details ページで、 [続行] を選びます。

  6. 左側のドロップダウン ボックスで、Microsoft アカウントの代わりに [既定のディレクトリ] を選びます。

  7. プロンプト ( We need a few more details ) が表示されたら、名前、メールアドレス、場所を入力して、 [続行] をクリックします。

  8. [既定のディレクトリ] を選択した状態で https://aex.dev.azure.com に戻り、青いボタン [新しい組織の作成] をクリックします。

  9. [続行] をクリックして利用規約に同意します。

  10. プロンプト ( Almost done ) が表示されたら、Azure DevOps 組織の名前を既定のままにし (グローバルに一意の名前である必要があります)、一覧から最寄りのホスティング場所を選びます。

  11. 新しく作成した組織が Azure DevOps で開いたら、左下隅にある [組織設定] を選びます。

  12. [組織設定] 画面で、[課金情報] を選びます (この画面を開くには数秒かかります)。

  13. [課金の設定] を選び、画面の右側で [Azure サブスクリプション][保存] の順に選んでサブスクリプションを組織にリンクします。

  14. 画面の上部にリンクされた Azure サブスクリプション ID が表示されたら、MS Hosted CI/CD有料並列ジョブの数を 0 から 1 に変更します。 次に、下部にある [保存] を選びます。

  15. 新しい設定がバックエンドに反映されるように、CI/CD 機能を使用する前に少なくとも 3 時間待ちます。 それができなかった場合、 “ホストされた並列処理は購入も許可もされていません” というメッセージが依然として表示されます。

Azure DevOps プロジェクトを作成して構成する手順 (これを行う必要があるのは 1 回だけです)

: これらの手順を続ける前に、Azure DevOps 組織を作成する手順を完了していることを確認してください。

すべてのラボ手順に従うには、新しい Azure DevOps プロジェクトの設定、eShopOnWeb アプリケーションに基づくリポジトリの作成、Azure サブスクリプションへのサービス接続の作成を行う必要があります。

チーム プロジェクトを作成する

最初に、複数のラボで使用される eShopOnWeb Azure DevOps プロジェクトを作成します。

  1. ブラウザーを開き、Azure DevOps 組織に移動します。

  2. [新しいプロジェクト] オプションを選び、次の設定を使用します。
    • 名前: eShopOnWeb
    • 可視性: プライベート
    • 詳細設定: バージョン コントロール: Git
    • 詳細設定: 作業項目プロセス: スクラム
  3. [作成] を選択します

    プロジェクトの作成

eShopOnWeb Git リポジトリをインポートする

次に、eShopOnWeb を Git リポジトリにインポートします。

  1. ブラウザーを開き、Azure DevOps 組織に移動します。

  2. 前に作成した eShopOnWeb プロジェクトを開きます。

  3. [Repos] > [ファイル] を選び、[リポジトリをインポートする][インポート] の順に選びます。

  4. [Git リポジトリをインポートする] ウィンドウで、URL https://github.com/MicrosoftLearning/eShopOnWeb を貼り付けて、[インポート] を選びます。

    インポートリポジトリ

  5. リポジトリは次のように編成されています。

    • .ado フォルダーには、Azure DevOps の YAML パイプラインが含まれています。
    • .devcontainer フォルダーには、コンテナーを使って開発するためのセットアップが含まれています (VS Code でローカルに、または GitHub Codespaces で)。
    • .azure フォルダーには、Bicep & ARM インフラストラクチャがコード テンプレートとして含まれています。
    • .github フォルダーには、YAML GitHub ワークフローの定義が含まれています。
    • src フォルダーには、ラボ シナリオで使用される .NET 6 Web サイトが含まれています。
  6. Web ブラウザーのウィンドウは開いたままにしておきます。

Azure リソースにアクセスするためのサービス プリンシパルとサービス接続を作成する

次に、Azure CLI を使用してサービス プリンシパルを作成し、Azure DevOps にサービス接続を作成します。これにより、Azure サブスクリプションにリソースをデプロイしてアクセスできるようになります。

  1. Web ブラウザーを起動し、Azure portal (https://portal.azure.com) に移動します。このコースのラボで使用する Azure サブスクリプションの所有者ロールを持っており、このサブスクリプションに関連付けられている Microsoft Entra テナントの全体管理者のロールを持っているユーザー アカウントを使用してサインインします。

  2. Azure portal で、ページ上部の検索テキスト ボックスのすぐ右側にある Cloud Shell アイコンをクリックします。

  3. Bash または PowerShell の選択を求めるメッセージが表示されたら、[Bash] を選択します。

    [!NOTE] Cloud Shell を初めて起動し、”ストレージがマウントされていません” というメッセージが表示された場合は、このラボで使用しているサブスクリプションを選択し、[ストレージの作成] を選択します。

  4. Bash プロンプトの [Cloud Shell] ペインで、次のコマンドを実行して、Azure サブスクリプション ID とサブスクリプション名の属性の値を取得します。

    subscriptionName=$(az account show --query name --output tsv)
    subscriptionId=$(az account show --query id --output tsv)
    echo $subscriptionName
    echo $subscriptionId
    

    [!NOTE] 両方の値をテキスト ファイルにコピーします。 これらは、このコースのラボで必要になります。

  5. [Cloud Shell] ペインのBash プロンプトから、次のコマンドを実行してサービス プリンシパルを作成します。

    az ad sp create-for-rbac --name sp-eshoponweb-azdo --role contributor --scopes /subscriptions/$subscriptionId
    

    [!NOTE] このコマンドは JSON 出力を生成します。 出力をテキスト ファイルにコピーします。 それはすぐに必要になります。

    [!NOTE] JSON 出力に含まれているセキュリティ プリンシパル名、その ID、テナント ID の値を記録します。 これらは、このコースのラボで必要になります。

  6. Azure DevOps ポータルが表示されている Web ブラウザー ウィンドウに戻り、eShopOnWeb プロジェクトを開いて、ポータルの左下隅にある [プロジェクトの設定] を選択します。

  7. [パイプライン] で [サービス接続] を選択し、[サービス接続の作成] ボタンを選択します。

    新しいサービス接続の作成ボタンのスクリーンショット。

  8. [新しいサービス接続] ブレードで、 [Azure Resource Manager][次へ] を選択します (必要に応じて下にスクロールします)。

  9. [サービス プリンシパル (手動)] を選択し、[次へ] を選択します。

  10. 前の手順で収集した情報を使って、空のフィールドに入力します。

    • サブスクリプション ID と名前。
    • サービス プリンシパル ID (clientId/AppId)、サービス プリンシパル キー (パスワード)、テナント ID。
    • [サービス接続名] に「azure subs」と入力します。 この名前は、Azure サブスクリプションにアクセスするために、YAML パイプラインで、サービス接続を参照するために使用されます。

    Azure サービス接続の作成のスクリーンショット。

  11. [すべてのパイプラインにアクセス許可を付与] をオンにしないでください。 確認して保存する を選択します。

    [!NOTE] 運用環境では、[すべてのパイプラインにアクセス許可を付与] オプションは推奨されません。 このラボでは、パイプラインの構成を簡略化するためにのみ使用されます。

これで、ラボを続けるために必要な前提条件の手順が完了しました。