当前位置: 首页 > 知识库问答 >
问题:

Azure ARM:使用访问密钥从存储帐户创建Linux VM

唐茂实
2023-03-14

是否可以使用ARM模板在Azure中创建虚拟机(Ubuntu Linux),我将在其中存储。存储帐户中的vhd文件,并且在单独的Azure资源组(客户端)中部署时,将使用访问密钥访问存储帐户以部署VM。

我使用下面的命令将VHD复制到我的RG中的存储帐户。

az storage blob copy ​ start ​ --destination-blob​ $destinationVHDFileName
--destination-container​ $storageContainerName ​ --account-name​ $storageAccountName
--account-key​ $storageAccountKey ​ --source-uri​ $sas 

共有1个答案

唐宏壮
2023-03-14

如果要使用自己的vhd文件创建Vm,可以使用VHD文件创建Azure托管映像,然后使用映像创建VM。有关更多详细信息,请参阅此处和此处

举个例子

  1. 创建Azure托管映像
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "images_testimage_name": {
            "defaultValue": "testimage1",
            "type": "String"
        },
       "blobUri": {
            "defaultValue": "<your vhd file url>",
            "type": "String"
        },
       "location": {
            "defaultValue": "",
            "type": "String"
        }

    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Compute/images",
            "apiVersion": "2019-07-01",
            "name": "[parameters('images_testimage_name')]",
            "location": "[parameters('location')]",
            "properties": {
                "storageProfile": {
                    "osDisk": {
                        "osType": "Linux",
                        "osState": "Generalized",
                        "diskSizeGB": 30,
                        "blobUri": "[parameters('blobUri')]",
                        "caching": "ReadWrite",
                        "storageAccountType": "Premium_LRS"
                    },
                    "dataDisks": [],
                    "zoneResilient": true
                },
                "hyperVGeneration": "V1"
            }
        }
    ]
}
{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
},
    "variables": {},
    "resources": [
     ... other resource
        {
            "name": "[parameters('virtualMachineName')]",
            "type": "Microsoft.Compute/virtualMachines",
            "apiVersion": "2020-06-01",
            "location": "[parameters('location')]",
            
            "properties": {
                "hardwareProfile": {
                    "vmSize": "[parameters('virtualMachineSize')]"
                },
                "storageProfile": {
                    "osDisk": {
                        "createOption": "fromImage",
                        "managedDisk": {
                            "storageAccountType": "Premium_LRS"
                        }
                    },
                    "imageReference": {
                        "id": "<the resource id of the image you create in step1>"
                    }
                },
                ... other configurations
            }
        }
    ]
}
 类似资料:
  • 问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并代表你打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利。 不过,我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答yes了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?

  • 我正在使用JGit访问远程Git回购,我需要为此使用SSH。JGit使用JSch提供安全访问。但是,我不确定如何设置JGit的密钥文件和知道主机文件。我所尝试的如下。 创建SshSessionFactory的自定义配置,通过子类化JSchConfigSessionFactory使用: 在我访问远程Git回购的类中,执行了以下操作: 我不知道如何将这个JSch对象与JGit关联,以便它能够成功地连接

  • 我需要在JavaScript中访问Azure密钥库中的一些秘密值。它是普通的JavaScript,没有NPM和节点。有没有直接从JavaScript获取值的选项?或者我需要编写一个单独的API来检索密钥库。这与保护某些ID无关,我想知道是否有任何可能的选项从客户端获取密钥库值。 我希望这是在简单的JavaScript。

  • 我没有找到任何关于在前端端实现逻辑来管理Azure密钥库的可能性的信息。同时,我创建了一个Node JS服务器项目使用ENV来管理Azure Key Vault,它工作成功,但我想在我的Angular应用程序中得到同样的效果。

  • 请帮助解决此问题。 我有两个Azure blob存储帐户store age1和storage2,如何编写一个Azure函数,一旦将任何文件上传到存储帐户,该函数就会触发。

  • 我已经创建了Azure VM,并在其中安装了我的Java应用程序,然后连接到WASB存储。 我添加了以下jars和core-site.xml来从Java应用程序访问WASB存储。 Azure-存储 Hadoop-Azure core-site.xml 如何使用加密密钥访问WASB存储。上面的配置有样例吗? 注意:-我将Azure VM直接连接到WASB存储,而不使用HDInsight集群。