web-dev-qa-db-ja.com

TerraformアップロードAzureファイル共有

Azure ACI定義のTerraformスクリプトの一部として、コンテナにマウントする前に、いくつかのファイルをアップロードするazurerm_storage_shareを作成しています。

私の知る限り、作成された共有にアクセスする正しい方法は、SMBを使用することです。これにより、SSHまたはWinRMのみをサポートするすべてのTerraformプロビジョナー(local-execを除く)が除外されます。

したがって、これを行うための最も効率的で保守可能な方法は、az storage uploadなどのAzure-cliコマンドを実行するスクリプトをlocal-execすることだと思います...?このようにして、TFは最善を尽くし(オーケストレーション)、azに構成プロビジョニングを実行させます。

2
Seffyroff

はい、その通りです。 Terrafromは、Azureファイル共有に直接アクセスしてファイルをアップロードできませんでした。

私の知識に基づいて、ファイルをLinux VM and install Azure Cli 2. に保存し、ファイルをAzureにアップロードするスクリプトを作成することができます。以下のようなファイル共有:

#!/bin/bash
# A simple Azure Storage example script

export Azure_STORAGE_ACCOUNT=<storage_account_name>
export Azure_STORAGE_ACCESS_KEY=<storage_account_key>

az storage file upload --share-name myshare --source ~/temp/samplefile.txt

これについての詳細はこれを参照してください リンク

次に、このVMにSSHで接続し、Terraformでこのスクリプトを実行できます。

1
Shui shengbao