GitHub
ホストランナーの Azure プライベート ネットワークについて
Azure VNET で GitHub ホステッド ランナーを使用するには、まず、Azure リソースを構成します。 次に、GitHub にプライベート ネットワーク構成を作成します。
次の手順では、両方のステップを実行できます。
Azure VNET での GitHub ホステッド ランナーの使用に関する一般的な問題のトラブルシューティングの詳細については、「組織内の GitHub ホスト ランナーの Azure プライベート ネットワーク構成のトラブルシューティング」を参照してください。
自分の Azure リソースの構成する
スクリプトを使用して、Azure リソースの構成を自動化します。
前提条件
-
サブスクリプション投稿者ロールとネットワーク投稿者ロールを持つ Azure アカウントを使用します。 これらのロールを使用すると、
GitHub.Network
リソースプロバイダーを登録し、サブネットを委任できます。 詳細については、Microsoft Learn の「Azure 組み込みロール」を参照してください。 -
サブネットを適切なユーザーに正しく関連付けるには、仮想ネットワークが作成されるのと同じサブスクリプションに Azure
NetworkSettings
リソースを作成する必要があります。 -
リソースの可用性/データ所在地を確保するには、同じ Azure リージョンにリソースを作成する必要があります。
-
次
.bicep
ファイルを保存します。 そのファイルにactions-nsg-deployment.bicep
という名前を付けます。提供する
.bicep
ファイルには、Azure VNET で GitHub がホストするランナーを使用するための最小限のルールセットが含まれています。 特定のユース ケースにルールを追加する必要がある場合があります。データ所在地付き GitHub Enterprise Cloud を使う場合は、
AllowOutBoundGitHub
セクションに、GHE.com のエグレス IP 範囲も含める必要があります。 「GHE.com のネットワークの詳細」を参照してください。注: 以下のファイルを使う代わりに、GitHub Actions がランナーと通信できるようにするために、セルフホステッド ランナーと GitHub の間の通信に必要な同じファイアウォール ドメインを許可することもできます。 詳しくは、「自己ホスト ランナーの概要」を参照してください。 適切なサブネット IP アドレスの範囲を決定するには、予想される最大ジョブコンカレンシーに 30% のバッファーを追加することをお勧めします。 たとえば、ネットワーク構成のランナーが最大ジョブコンカレンシー 300 に設定されている場合は、少なくとも 390 のランナーを収容できるサブネット IP アドレスの範囲を使用することをお勧めします。 このバッファーがあると、ジョブのコンカレンシーを満たすために VM のニーズが予期せず増加してもネットワークが対応できます。
Bicep @description('NSG for outbound rules') param location string param nsgName string = 'actions_NSG' resource actions_NSG 'Microsoft.Network/networkSecurityGroups@2017-06-01' = { name: nsgName location: location properties: { securityRules: [ { name: 'AllowVnetOutBoundOverwrite' properties: { protocol: 'TCP' sourcePortRange: '*' destinationPortRange: '443' sourceAddressPrefix: '*' destinationAddressPrefix: 'VirtualNetwork' access: 'Allow' priority: 200 direction: 'Outbound' destinationAddressPrefixes: [] } } { name: 'AllowOutBoundActions' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 210 direction: 'Outbound' destinationAddressPrefixes: [ '4.175.114.51/32' '20.102.35.120/32' '4.175.114.43/32' '20.72.125.48/32' '20.19.5.100/32' '20.7.92.46/32' '20.232.252.48/32' '52.186.44.51/32' '20.22.98.201/32' '20.246.184.240/32' '20.96.133.71/32' '20.253.2.203/32' '20.102.39.220/32' '20.81.127.181/32' '52.148.30.208/32' '20.14.42.190/32' '20.85.159.192/32' '52.224.205.173/32' '20.118.176.156/32' '20.236.207.188/32' '20.242.161.191/32' '20.166.216.139/32' '20.253.126.26/32' '52.152.245.137/32' '40.118.236.116/32' '20.185.75.138/32' '20.96.226.211/32' '52.167.78.33/32' '20.105.13.142/32' '20.253.95.3/32' '20.221.96.90/32' '51.138.235.85/32' '52.186.47.208/32' '20.7.220.66/32' '20.75.4.210/32' '20.120.75.171/32' '20.98.183.48/32' '20.84.200.15/32' '20.14.235.135/32' '20.10.226.54/32' '20.22.166.15/32' '20.65.21.88/32' '20.102.36.236/32' '20.124.56.57/32' '20.94.100.174/32' '20.102.166.33/32' '20.31.193.160/32' '20.232.77.7/32' '20.102.38.122/32' '20.102.39.57/32' '20.85.108.33/32' '40.88.240.168/32' '20.69.187.19/32' '20.246.192.124/32' '20.4.161.108/32' '20.22.22.84/32' '20.1.250.47/32' '20.237.33.78/32' '20.242.179.206/32' '40.88.239.133/32' '20.121.247.125/32' '20.106.107.180/32' '20.22.118.40/32' '20.15.240.48/32' '20.84.218.150/32' ] } } { name: 'AllowOutBoundGitHub' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 220 direction: 'Outbound' destinationAddressPrefixes: [ '140.82.112.0/20' '143.55.64.0/20' '185.199.108.0/22' '192.30.252.0/22' '20.175.192.146/32' '20.175.192.147/32' '20.175.192.149/32' '20.175.192.150/32' '20.199.39.227/32' '20.199.39.228/32' '20.199.39.231/32' '20.199.39.232/32' '20.200.245.241/32' '20.200.245.245/32' '20.200.245.246/32' '20.200.245.247/32' '20.200.245.248/32' '20.201.28.144/32' '20.201.28.148/32' '20.201.28.149/32' '20.201.28.151/32' '20.201.28.152/32' '20.205.243.160/32' '20.205.243.164/32' '20.205.243.165/32' '20.205.243.166/32' '20.205.243.168/32' '20.207.73.82/32' '20.207.73.83/32' '20.207.73.85/32' '20.207.73.86/32' '20.207.73.88/32' '20.233.83.145/32' '20.233.83.146/32' '20.233.83.147/32' '20.233.83.149/32' '20.233.83.150/32' '20.248.137.48/32' '20.248.137.49/32' '20.248.137.50/32' '20.248.137.52/32' '20.248.137.55/32' '20.26.156.215/32' '20.26.156.216/32' '20.27.177.113/32' '20.27.177.114/32' '20.27.177.116/32' '20.27.177.117/32' '20.27.177.118/32' '20.29.134.17/32' '20.29.134.18/32' '20.29.134.19/32' '20.29.134.23/32' '20.29.134.24/32' '20.87.245.0/32' '20.87.245.1/32' '20.87.245.4/32' '20.87.245.6/32' '20.87.245.7/32' '4.208.26.196/32' '4.208.26.197/32' '4.208.26.198/32' '4.208.26.199/32' '4.208.26.200/32' ] } } { name: 'AllowStorageOutbound' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' destinationAddressPrefix: 'Storage' access: 'Allow' priority: 230 direction: 'Outbound' destinationAddressPrefixes: [] } } ] } }
@description('NSG for outbound rules') param location string param nsgName string = 'actions_NSG' resource actions_NSG 'Microsoft.Network/networkSecurityGroups@2017-06-01' = { name: nsgName location: location properties: { securityRules: [ { name: 'AllowVnetOutBoundOverwrite' properties: { protocol: 'TCP' sourcePortRange: '*' destinationPortRange: '443' sourceAddressPrefix: '*' destinationAddressPrefix: 'VirtualNetwork' access: 'Allow' priority: 200 direction: 'Outbound' destinationAddressPrefixes: [] } } { name: 'AllowOutBoundActions' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 210 direction: 'Outbound' destinationAddressPrefixes: [ '4.175.114.51/32' '20.102.35.120/32' '4.175.114.43/32' '20.72.125.48/32' '20.19.5.100/32' '20.7.92.46/32' '20.232.252.48/32' '52.186.44.51/32' '20.22.98.201/32' '20.246.184.240/32' '20.96.133.71/32' '20.253.2.203/32' '20.102.39.220/32' '20.81.127.181/32' '52.148.30.208/32' '20.14.42.190/32' '20.85.159.192/32' '52.224.205.173/32' '20.118.176.156/32' '20.236.207.188/32' '20.242.161.191/32' '20.166.216.139/32' '20.253.126.26/32' '52.152.245.137/32' '40.118.236.116/32' '20.185.75.138/32' '20.96.226.211/32' '52.167.78.33/32' '20.105.13.142/32' '20.253.95.3/32' '20.221.96.90/32' '51.138.235.85/32' '52.186.47.208/32' '20.7.220.66/32' '20.75.4.210/32' '20.120.75.171/32' '20.98.183.48/32' '20.84.200.15/32' '20.14.235.135/32' '20.10.226.54/32' '20.22.166.15/32' '20.65.21.88/32' '20.102.36.236/32' '20.124.56.57/32' '20.94.100.174/32' '20.102.166.33/32' '20.31.193.160/32' '20.232.77.7/32' '20.102.38.122/32' '20.102.39.57/32' '20.85.108.33/32' '40.88.240.168/32' '20.69.187.19/32' '20.246.192.124/32' '20.4.161.108/32' '20.22.22.84/32' '20.1.250.47/32' '20.237.33.78/32' '20.242.179.206/32' '40.88.239.133/32' '20.121.247.125/32' '20.106.107.180/32' '20.22.118.40/32' '20.15.240.48/32' '20.84.218.150/32' ] } } { name: 'AllowOutBoundGitHub' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 220 direction: 'Outbound' destinationAddressPrefixes: [ '140.82.112.0/20' '143.55.64.0/20' '185.199.108.0/22' '192.30.252.0/22' '20.175.192.146/32' '20.175.192.147/32' '20.175.192.149/32' '20.175.192.150/32' '20.199.39.227/32' '20.199.39.228/32' '20.199.39.231/32' '20.199.39.232/32' '20.200.245.241/32' '20.200.245.245/32' '20.200.245.246/32' '20.200.245.247/32' '20.200.245.248/32' '20.201.28.144/32' '20.201.28.148/32' '20.201.28.149/32' '20.201.28.151/32' '20.201.28.152/32' '20.205.243.160/32' '20.205.243.164/32' '20.205.243.165/32' '20.205.243.166/32' '20.205.243.168/32' '20.207.73.82/32' '20.207.73.83/32' '20.207.73.85/32' '20.207.73.86/32' '20.207.73.88/32' '20.233.83.145/32' '20.233.83.146/32' '20.233.83.147/32' '20.233.83.149/32' '20.233.83.150/32' '20.248.137.48/32' '20.248.137.49/32' '20.248.137.50/32' '20.248.137.52/32' '20.248.137.55/32' '20.26.156.215/32' '20.26.156.216/32' '20.27.177.113/32' '20.27.177.114/32' '20.27.177.116/32' '20.27.177.117/32' '20.27.177.118/32' '20.29.134.17/32' '20.29.134.18/32' '20.29.134.19/32' '20.29.134.23/32' '20.29.134.24/32' '20.87.245.0/32' '20.87.245.1/32' '20.87.245.4/32' '20.87.245.6/32' '20.87.245.7/32' '4.208.26.196/32' '4.208.26.197/32' '4.208.26.198/32' '4.208.26.199/32' '4.208.26.200/32' ] } } { name: 'AllowStorageOutbound' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' destinationAddressPrefix: 'Storage' access: 'Allow' priority: 230 direction: 'Outbound' destinationAddressPrefixes: [] } } ] } }
1. Organization の databaseId
を入手する
次の GraphQL クエリを使用して、Organization databaseId
を取得できます。 次の手順では、DATABASE_ID
環境変数の値として Organization databaseId
を使用します。 GraphQL の操作の詳細については、「GraphQLでの呼び出しの作成」をご覧ください。
クエリ変数 | 説明 |
---|---|
login | 組織アカウントのログイン。これで組織、https://github.com/organizations/ORGANIZATION_LOGIN の URL を調べることで識別できます。 |
query(
$login: String!
){
organization (login: $login)
{
login
databaseId
}
}
'
Variables
{
"login": "ORGANIZATION_LOGIN"
}
または、次 cURL のコマンドを使用して databaseId
を見つけられます。
curl -H "Authorization: Bearer BEARER_TOKEN" -X POST \ -d '{ "query": "query($login: String!) { organization (login: $login) { login databaseId } }" , "variables": { "login": "ORGANIZATION_LOGIN" } }' \ https://api.github.com/graphql
curl -H "Authorization: Bearer BEARER_TOKEN" -X POST \
-d '{ "query": "query($login: String!) { organization (login: $login) { login databaseId } }" ,
"variables": {
"login": "ORGANIZATION_LOGIN"
}
}' \
https://api.github.com/graphql
2. スクリプトを使用して Azure リソースを構成する
次のスクリプトを使用して、Azure プライベート ネットワーク のサブネットを設定します。 このスクリプトでは、同じリソース グループ内にすべてのリソースが作成されます。
スクリプトを使用するには、プレースホルダー環境変数の値に実際の値を入力し、bash シェルまたはLinux 用 Windows サブシステムからスクリプトを実行します。
Note
actions-nsg-deployment.bicep
ファイルを保存した同じディレクトリの次のスクリプトのを実行します。YOUR_AZURE_LOCATION
環境変数を設定するときは、リージョンの名前を使用します。 この値は、リージョンの表示名とは異なります。 名前と表示名のリストを表示するには、az account list-locations -o table
を使用します。- ネットワーク設定リソースを作成すると、指定したサブネットにサービス関連付けリンクが適用されます。 このリンクにより、GitHub Actions サービスで使用中にサブネットが誤って削除されるのを防ぐことができます。
- このスクリプトをカスタマイズして、既存のサブネットのネットワークリソースを使用する場合、サブネットが GitHub Actions サービスに委任される前に、サブネットに接続されている既存のネットワーク インターフェイス (NIC) が削除されていることを確認する必要があります。 それ以外の場合は、サービスはサービスの関連付けリンクをサブネットに適用できません。
#!/bin/bash # This script creates the following resources in the specified subscription: # - Resource group # - Network Security Group rules # - Virtual network (vnet) and subnet # - Network Settings with specified subnet and GitHub Organization database ID # # It also registers the `GitHub.Network` resource provider with the subscription, # delegates the created subnet to the Actions service via the `GitHub.Network/NetworkSettings` # resource type, and applies the NSG rules to the created subnet. # stop on failure set -e #set environment export AZURE_LOCATION=YOUR_AZURE_LOCATION export SUBSCRIPTION_ID=YOUR_SUBSCRIPTION_ID export RESOURCE_GROUP_NAME=YOUR_RESOURCE_GROUP_NAME export VNET_NAME=YOUR_VNET_NAME export SUBNET_NAME=YOUR_SUBNET_NAME export NSG_NAME=YOUR_NSG_NAME export NETWORK_SETTINGS_RESOURCE_NAME=YOUR_NETWORK_SETTINGS_RESOURCE_NAME export DATABASE_ID=YOUR_DATABASE_ID # These are the default values. You can adjust your address and subnet prefixes. export ADDRESS_PREFIX=10.0.0.0/16 export SUBNET_PREFIX=10.0.0.0/24 echo echo login to Azure . az login --output none echo echo set account context $SUBSCRIPTION_ID . az account set --subscription $SUBSCRIPTION_ID echo echo Register resource provider GitHub.Network . az provider register --namespace GitHub.Network echo echo Create resource group $RESOURCE_GROUP_NAME at $AZURE_LOCATION . az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION echo echo Create NSG rules deployed with 'actions-nsg-deployment.bicep' file . az deployment group create --resource-group $RESOURCE_GROUP_NAME --template-file ./actions-nsg-deployment.bicep --parameters location=$AZURE_LOCATION nsgName=$NSG_NAME echo echo Create vnet $VNET_NAME and subnet $SUBNET_NAME . az network vnet create --resource-group $RESOURCE_GROUP_NAME --name $VNET_NAME --address-prefix $ADDRESS_PREFIX --subnet-name $SUBNET_NAME --subnet-prefixes $SUBNET_PREFIX echo echo Delegate subnet to GitHub.Network/networkSettings and apply NSG rules . az network vnet subnet update --resource-group $RESOURCE_GROUP_NAME --name $SUBNET_NAME --vnet-name $VNET_NAME --delegations GitHub.Network/networkSettings --network-security-group $NSG_NAME echo echo Create network settings resource $NETWORK_SETTINGS_RESOURCE_NAME . az resource create --resource-group $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type GitHub.Network/networkSettings --properties "{ \"location\": \"$AZURE_LOCATION\", \"properties\" : { \"subnetId\": \"/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME\", \"businessId\": \"$DATABASE_ID\" }}" --is-full-object --output table --query "{GitHubId:tags.GitHubId, name:name}" --api-version 2024-04-02 echo echo To clean up and delete resources run the following command: echo az group delete --resource-group $RESOURCE_GROUP_NAME
#!/bin/bash
# This script creates the following resources in the specified subscription:
# - Resource group
# - Network Security Group rules
# - Virtual network (vnet) and subnet
# - Network Settings with specified subnet and GitHub Organization database ID
#
# It also registers the `GitHub.Network` resource provider with the subscription,
# delegates the created subnet to the Actions service via the `GitHub.Network/NetworkSettings`
# resource type, and applies the NSG rules to the created subnet.
# stop on failure
set -e
#set environment
export AZURE_LOCATION=YOUR_AZURE_LOCATION
export SUBSCRIPTION_ID=YOUR_SUBSCRIPTION_ID
export RESOURCE_GROUP_NAME=YOUR_RESOURCE_GROUP_NAME
export VNET_NAME=YOUR_VNET_NAME
export SUBNET_NAME=YOUR_SUBNET_NAME
export NSG_NAME=YOUR_NSG_NAME
export NETWORK_SETTINGS_RESOURCE_NAME=YOUR_NETWORK_SETTINGS_RESOURCE_NAME
export DATABASE_ID=YOUR_DATABASE_ID
# These are the default values. You can adjust your address and subnet prefixes.
export ADDRESS_PREFIX=10.0.0.0/16
export SUBNET_PREFIX=10.0.0.0/24
echo
echo login to Azure
. az login --output none
echo
echo set account context $SUBSCRIPTION_ID
. az account set --subscription $SUBSCRIPTION_ID
echo
echo Register resource provider GitHub.Network
. az provider register --namespace GitHub.Network
echo
echo Create resource group $RESOURCE_GROUP_NAME at $AZURE_LOCATION
. az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION
echo
echo Create NSG rules deployed with 'actions-nsg-deployment.bicep' file
. az deployment group create --resource-group $RESOURCE_GROUP_NAME --template-file ./actions-nsg-deployment.bicep --parameters location=$AZURE_LOCATION nsgName=$NSG_NAME
echo
echo Create vnet $VNET_NAME and subnet $SUBNET_NAME
. az network vnet create --resource-group $RESOURCE_GROUP_NAME --name $VNET_NAME --address-prefix $ADDRESS_PREFIX --subnet-name $SUBNET_NAME --subnet-prefixes $SUBNET_PREFIX
echo
echo Delegate subnet to GitHub.Network/networkSettings and apply NSG rules
. az network vnet subnet update --resource-group $RESOURCE_GROUP_NAME --name $SUBNET_NAME --vnet-name $VNET_NAME --delegations GitHub.Network/networkSettings --network-security-group $NSG_NAME
echo
echo Create network settings resource $NETWORK_SETTINGS_RESOURCE_NAME
. az resource create --resource-group $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type GitHub.Network/networkSettings --properties "{ \"location\": \"$AZURE_LOCATION\", \"properties\" : { \"subnetId\": \"/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME\", \"businessId\": \"$DATABASE_ID\" }}" --is-full-object --output table --query "{GitHubId:tags.GitHubId, name:name}" --api-version 2024-04-02
echo
echo To clean up and delete resources run the following command:
echo az group delete --resource-group $RESOURCE_GROUP_NAME
このスクリプトは、作成されたリソースの完全なペイロードを返します。 作成されたリソースのペイロードで返される GitHubId
ハッシュ値は、GitHub でネットワーク構成を構成するときに、次の手順で使用するネットワーク設定リソース ID です。
GitHub
で組織のネットワーク構成を作成する
Azure リソースを構成した後、Organization レベルでネットワーク構成を作成することで、プライベート ネットワークに Azure Virtual Network (VNET) を使用できます。 その後、そのネットワーク構成をランナー グループに関連付けることができます。 ランナー グループについて詳しくは、「より大きなランナーへのアクセスの制御」をご覧ください。
ネットワーク構成がランナー グループに関連付けられると、そのグループ内のすべてのランナーが、基になる構成に接続されている Azure VNET にアクセスできるようになります。
前提条件
GitHub にネットワーク構成を追加する_前に_、Azure リソースが構成されていることを確認します。 詳細については、「を参照してください。詳細については、「組織内の GitHub ホスト ランナーのプライベート ネットワークの構成」を参照してください。
1. Organization の新しいネットワーク構成を追加する
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- 左側のサイドバーで、 [Hosted compute networking](ホストされたコンピューティング ネットワーク) をクリックします。
- [New network configuration](新しいネットワーク構成) ドロップダウンをクリックします。 次に、[Azure private network](Azure プライベート ネットワーク) をクリックします。
- ネットワーク構成に名前をつけます。
- [Add Azure Virtual Network](Azure Virtual Networkの追加) をクリックします。
- ポップアップ ウィンドウで、プライベート ネットワーク用に Azure リソースを構成したときに取得したネットワーク設定リソース ID を入力します。
- [Add Azure Virtual Network](Azure Virtual Networkの追加) をクリックします。
2. Organization のランナー グループを作成する
注: 組織内のリポジトリからランナー グループにアクセスできるようにするには、それらのリポジトリが組織レベルでそのランナー グループにアクセスできる必要があります。 詳しくは、「より大きなランナーへのアクセスの制御」を参照してください。
- Organization の新しいランナー グループを作成します。 ランナー グループを作成する方法について詳しくは、「より大きなランナーへのアクセスの制御」をご覧ください。
- リポジトリ アクセス のポリシーを選択するには、[リポジトリ アクセス] ドロップダウン メニューを選択し、ポリシーをクリックします。 特定のリポジトリのリスト、または組織内のすべてのリポジトリにアクセスできるようにランナー グループを構成できます。
- ランナー グループを構成するときに、Network configurations のドロップダウン メニューを使用して、Azure VNET 用に作成したネットワーク構成を選択します。
- グループを作成し、ポリシーを適用するには、[Create group](グループの作成) をクリックします。
3. GitHub
でホストされているランナーを Organization のランナー グループに追加する
注: GitHub でホストされているランナーをランナー グループに追加するときは、前の手順で作成した ランナー グループを選択します。
- GitHub でホストされているランナーをランナー グループに追加します。 詳しくは、「より大きなランナーを管理する」を参照してください。
4. 必要に応じて、ネットワーク構成を管理する
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- 左側のサイドバーで、 [Hosted compute networking](ホストされたコンピューティング ネットワーク) をクリックします。
- ネットワーク構成を編集するには、ネットワーク構成の右側にある をクリックします。 その後、[Edit configuration](構成の編集) をクリックします。
- ネットワーク構成を無効にするには、ネットワーク構成の右側にある をクリックします。 次に、[Disable](無効) をクリックします。
- ネットワーク構成を削除するには、ネットワーク構成の右側にある をクリックします。 その後、[削除] をクリックします。
サブネットの削除
ネットワーク設定リソースを作成すると、指定したサブネットにサービス関連付けリンクが適用されます。 このリンクにより、GitHub Actions サービスで使用中にサブネットが誤って削除されるのを防ぐことができます。
サブネットを削除するには、まずサービスのアソシエーション リンクを削除する必要があります。 ネットワーク設定リソースが削除されると、サービスのアソシエーション リンクは自動で安全に削除されます。
ネットワーク設定リソースを削除するには、それを使用するネットワーク構成を最初に削除する必要があります。
-
GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
-
組織の隣の [設定] をクリックします。
-
左側のサイドバーで、 [Hosted compute networking](ホストされたコンピューティング ネットワーク) をクリックします。
-
削除するサブネットを使用しているネットワーク構成を開きます。
-
ネットワーク構成を使用してランナー グループの一覧を確認します。
-
右上隅にある "" ボタンをクリックします。 そして、[構成の削除] をクリックします。
-
ネットワーク設定リソースを削除し、サービスのアソシエーション リンクを削除するには、Azure CLI で次のコマンドを使用して自分で入力します。 詳細については、ドキュメント『Azure コマンド ライン インターフェイス (CLI)』を参照してください。
Bash az account set --subscription $SUBSCRIPTION_ID az resource delete -g $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type 'GitHub.Network/networkSettings' --api-version '2023-11-01-preview'
az account set --subscription $SUBSCRIPTION_ID az resource delete -g $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type 'GitHub.Network/networkSettings' --api-version '2023-11-01-preview'
-
Azure でサブネットを削除します。 詳細については、Microsoft Learn の「サブネットの削除」を参照してください。