Cloud Shellのストレージを東日本リージョンにする
はじめに
Azure Cloud Shellはデフォルトで作成すると、日本のリージョンでは作られません。
これではポリシーなどで国内リージョンに制限されている場合などは困ります。
そのため、データ保存用のストレージを日本にする方法を記事にしました。
概要
- ストレージは日本国内に指定できますが、処理用のインスタンスは日本以外のリージョンで実行されます。
- 既に他のリージョンにストレージをマウントしていた場合、ユーザー設定のリセットで指定し直すことができます。
参考
新規作成
まずは右上のCloud Shellのアイコンをクリックします。
作業の開始で ストレージアカウントをマウントする を選択し、サブスクリプションを選択します。
新規で作成する場合は ストレージアカウントの作成を希望する を選択します。
各種リソースは東日本リージョンで作成します。
設定に問題が無ければデプロイします。
実行リージョンを確認
ストレージ作成リージョンは東日本を選択しましたが、Cloud Shellが動いているインスタンスはどこのリージョンかを確認します。
以下のコマンドで、IPを確認します。
curl http://ifconfig.me/
得られたIPから住所を検索します。以下のサイトを使いました。
ストレージは東日本を指定しましたが、インスタンスはシンガポールで実行しているようです。
マウント済みの状態から変更
既に作成済みの状態から変更したい場合、[設定]-[ユーザー設定のリセット]で一度リセットします。
再度、Cloud Shellを起動すると指定することができます。
既存のストレージアカウントをマウントする際は、既存のストレージアカウントの選択 から指定します。
ストレージアカウントの選択で対象を指定します。
※画像では先ほど作ったものを指定しています。
リソースを作成するARMテンプレート
必要なリソースはダイアログから自動作成されますが、作っておきダイアログで指定することもできます。
必要な最低限のリソースを作るARMテンプレートは以下になります。ポリシーに合うように必要に応じてより細かく設定してください。
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"rgName": {
"type": "string"
},
"rgLocation": {
"type": "string",
"defaultValue": "[deployment().location]"
}
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2022-09-01",
"name": "[parameters('rgName')]",
"location": "[parameters('rgLocation')]",
"properties": {}
}
]
}
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccounts_name": {
"type": "String"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-04-01",
"name": "[parameters('storageAccounts_name')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"minimumTlsVersion": "TLS1_2",
"encryption": {
"services": {
"file": {
"keyType": "Account",
"enabled": true
}
}
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/fileServices",
"apiVersion": "2023-04-01",
"name": "[concat(parameters('storageAccounts_name'), '/default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccounts_name'))]"
],
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"properties": {
"shareDeleteRetentionPolicy": {
"enabled": true,
"days": 7
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/fileServices/shares",
"apiVersion": "2023-04-01",
"name": "[concat(parameters('storageAccounts_name'), '/default/shares')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/fileServices', parameters('storageAccounts_name'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccounts_name'))]"
]
}
]
}
AzureポータルからARMテンプレートでデプロイする方法は、以前の記事を参考にしてください。
おわりに
今回はAzure Cloud Shellの保存ストレージのリージョンを指定・変更する方法を記事にしました。
ストレージはリージョンを指定できますが、インスタンスのリージョンは現在は日本では使えないので、国内リージョンのみ可などのポリシーがあるところでは使いづらいかもしれません。
この記事がどなたかのお役に立てれば幸いです。
Discussion