初めて Cloud Shell を起動すると、ストレージ オプションを選択するようにダイアログが表示されます。 Cloud Shell を使用するたびに使用できるファイルを保存したい場合は、新規に作成するか、既存のストレージ リソースを選択する必要があります。 Cloud Shell では Microsoft Azure Files 共有を使用してセッション間でファイルを維持します。
- 新しいストレージ リソースを作成するには、「永続ストレージを使用して Azure Cloud Shell を使い始める」を参照してください。
- 既存のストレージ リソースを使用するには、既存のストレージを使った Azure Cloud Shell の概要に関する記事を参照してください。
Cloud Shell のストレージのしくみ
Cloud Shell は、次の両方の方法を使用してファイルを永続化します。
-
$HOMEディレクトリの内容を格納するディスク イメージを作成します。 ディスク イメージはhttps://storageaccountname.file.core.windows.net/filesharename/.cloudconsole/acc_user.imgに保存されます。 Cloud Shell によって、このディスク イメージ上の変更が自動的に同期されます。 - ファイル共有を
$HOMEディレクトリにclouddriveとしてマウントします。/home/<User>/clouddriveパスはstorageaccountname.file.core.windows.net/filesharenameにマッピングされます。
注記
SSH キーなど、$HOME ディレクトリ内のすべてのファイルが、マウントされたファイル共有に格納されたユーザー ディスク イメージに永続化されます。 ベスト プラクティスを使用して、$HOME ディレクトリおよびマウントされたファイル共有の情報をセキュリティで保護してください。
サポートされるストレージ リージョン
Cloud Shellは、複数の主要リージョンでセッション マシンを運用しています。 永続ファイルは、以下の表に示されているように、プライマリリージョンまたはサポートされたセカンダリリージョンにあるストレージアカウントに保存することができます。
セッションは通常、ストレージアカウントに関連付けられた主要なリージョンで動作します。 二次ストレージ リージョンを使用する場合、またはエフェメラル セッションを使用する場合、Cloud Shell は最も近い主要リージョンを選択します。 配置は利用可能な容量によって異なるため、特定の地域が保証されているわけではありません。
ファイルはストレージアカウントのリージョン内で静止状態のままですが、セッションが実行される主なリージョンで処理されます。 例えば、カナダ東部に保存されたファイルはカナダでは静止状態のままですが、セッションが米国のプライマリリージョンで実行されている場合は米国で処理されます。
ストレージアカウントのプライマリージョンを選んでください。保存データを別のリージョンに保存する必要がある場合を除きます。 セカンダリストレージ領域を使うと、ファイルアクセスやCloud Shellの起動が遅くなることがあります。
現在のCloud Shellマシンの地域を調べるには、Bashでecho "$ACC_LOCATION"を実行し、PowerShellで$env:ACC_LOCATIONを実行してください。
プライマリ リージョン
| Area | 地域 |
|---|---|
| アメリカ合衆国 | イーストUS 2、サウスセントラルUS、ウエストセントラルUS、ウエストUS 2 |
| ヨーロッパ | フランス中央、ドイツ西中部、スウェーデン中央、西ヨーロッパ |
| アジア太平洋 | オーストラリア東部、オーストラリア南東部、中央インド、東アジア、南インド、東南アジア |
| Azure Government | アメリカ合衆国アリゾナ州政府、アメリカ合衆国バージニア州政府 |
二次記憶領域
| Area | 地域 |
|---|---|
| 南北アメリカ | ブラジル南部、カナダ中部、カナダ東部、米国中部、米国東部、メキシコ中部、米国中北部、米国西部、米国西部 3 |
| ヨーロッパ | 北ヨーロッパ、ノルウェー東部、スペイン中部、スイス北部、イギリス南部、イギリス西部 |
| アジア太平洋 | オーストラリア中央、日本東部、日本西部、Jio インド西部、韓国中央部、韓国南部、西インド |
| 中東およびアフリカ | カタール中央部、南アフリカ北部、アラブ首長国連邦北部 |
| Azure Government | US Gov テキサス |
ストレージ アクセスの保護
セキュリティのために、各ユーザーが自分のストレージ アカウントを作成する必要があります。 Azure ロールベースのアクセス制御 (RBAC) では、ユーザーはストレージ アカウント レベルで共同作成者以上のアクセス権を持つ必要があります。
Cloud Shell では、指定されたサブスクリプション内のストレージ アカウントで Azure ファイル共有が使用されます。 アクセス許可が継承されるため、サブスクリプションで十分なアクセス権を持つユーザーは、サブスクリプションに含まれるストレージ アカウントとファイル共有にアクセスできます。
ユーザーは、ストレージ アカウントまたはサブスクリプション レベルでアクセス許可を設定することによって、各自のファイルへのアクセスをロックダウンする必要があります。
Cloud Shell のストレージ アカウントには、Cloud Shell のユーザーがホーム ディレクトリで作成したファイルが格納され、これにはアクセス トークンや資格情報などの機密情報が含まれる場合があります。
Azure リソース ポリシーによるリソース作成の制限
Cloud Shell で作成されたストレージ アカウントは ms-resource-usage:azure-cloud-shell でタグ付けされます。
ユーザーが Cloud Shell でストレージ アカウントを作成するのを禁止する必要がある場合は、この特定のタグによって適用される Azure リソース ポリシーを作成します。
Cloud Shell ストレージの管理
新しい clouddrive のマウント
前に Cloud Shell でエフェメラル セッションの使用を選んだ場合は、Cloud Shell で [設定]>[ユーザー設定のリセット] を選んで、ユーザー設定をリセットする必要があります。 手順に従って、既存のストレージ アカウントまたは新しいストレージ アカウントをマウントします。
注記
新しい共有をマウントすると、あなたの $HOME ディレクトリ用に新しいユーザー イメージが作成されます。 前回の $HOME イメージは、前の共有フォルダーに保持されます。
clouddrive のマウント解除
Cloud Shell ファイル共有はいつでもマウント解除できます。 Cloud Shell ではマウントされたファイル共有を使う必要があるため、次回のセッション時に、Cloud Shell により別のファイル共有を作成してマウントするように求められます。
-
clouddrive unmountを実行。 - プロンプトを確認して確定します。
マウントされていないファイル共有は、手動で削除するまで存在し続けます。 マウントを解除すると、Cloud Shell では後続のセッションでこのファイル共有を検索しなくなります。 詳細については、clouddrive unmount -h を実行します。
Command
clouddrive unmount: Unmount an Azure file share from Cloud Shell.
Unmount enables unmounting and disassociating a file share from Cloud Shell.
All current sessions will be terminated. Machine state and non-persisted files will be lost.
You will be prompted to create and mount a new file share on your next session.
Your previously mounted file share will continue to exist.
Note: This command does not unmount storage if the session is Ephemeral.
Arguments
None
警告
このコマンドを実行してもリソースは削除されませんが、Cloud Shell にマップされているリソース グループ、ストレージ アカウント、またはファイル共有を手動で削除すると、お使いの $HOME ディレクトリのディスク イメージと、お使いのファイル共有内のすべてのファイルは削除されます。 この削除操作は元に戻すことができません。
PowerShell コマンドを使う
現在のファイル共有リソースに関する情報を取得する
PowerShell の Get-CloudDrive コマンドを使用して、ファイル共有をバッキングするリソースに関する情報を取得します。
PS /home/user> Get-CloudDrive
FileShareName : cs-user-microsoft-com-xxxxxxxxxxxxxxx
FileSharePath : //cs7xxxxxxxxxxxxxxx.file.core.windows.net/cs-user-microsoft-com-xxxxxxxxxxxxxxx
MountPoint : /home/user/clouddrive
Name : cs7xxxxxxxxxxxxxxx
ResourceGroupName : cloud-shell-storage-southcentralus
StorageAccountName : cs7xxxxxxxxxxxxxxx
SubscriptionId : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
ファイル共有のマウント解除
Dismount-CloudDrive コマンドレットを使用すると、Cloud Shell のファイル共有をいつでもマウント解除できます。
clouddrive をマウント解除すると、現在のセッションが終了します。
Dismount-CloudDrive
Do you want to continue
Dismounting clouddrive will terminate your current session. You will be prompted to create and
mount a new file share on your next session
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):