Azure ACI定義のTerraformスクリプトの一部として、コンテナにマウントする前に、いくつかのファイルをアップロードするazurerm_storage_shareを作成しています。
私の知る限り、作成された共有にアクセスする正しい方法は、SMBを使用することです。これにより、SSHまたはWinRMのみをサポートするすべてのTerraformプロビジョナー(local-execを除く)が除外されます。
したがって、これを行うための最も効率的で保守可能な方法は、az storage uploadなどのAzure-cliコマンドを実行するスクリプトをlocal-execすることだと思います...?このようにして、TFは最善を尽くし(オーケストレーション)、azに構成プロビジョニングを実行させます。
はい、その通りです。 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でこのスクリプトを実行できます。