教程:使用Azure私有终端连接到存储帐户

Azure专用终结点是Azure中专用链接的基础构件。 它使Azure资源(如虚拟机(VM)能够与专用链接资源(如Azure 存储)进行私密安全地通信。

学习教程期间所创建资源的示意图。

在本教程中,你将了解如何执行以下操作:

  • 创建虚拟网络和 Bastion 主机。
  • 创建存储帐户,并禁用公共访问。
  • 创建存储帐户的专用终结点。
  • 创建虚拟机。
  • 测试到存储帐户专用终结点的连接。

先决条件

  • Azure订阅。 如果没有Azure订阅,请在开始前创建试用订阅

登录到 Azure

登录到 Azure 门户

创建资源组

资源组是Azure资源的逻辑容器。 此过程为本教程中使用的所有资源创建资源组。

  1. 在门户中,搜索并选择“资源组”。

  2. “资源组 ”页上,选择“ + 创建”。

  3. “基本信息 ”选项卡上,输入或选择以下信息:

    设置 价值
    项目详细信息
    订阅 选择订阅。
    资源组 输入 test-rg
    资源详细信息
    区域 选择“中国东部 2”。
  4. 选择“查看 + 创建”,然后选择“创建”。

创建虚拟网络

下面的过程创建虚拟网络及资源子网。

  1. 在门户中,搜索并选择“虚拟网络”。

  2. 在“虚拟网络”页面上,选择“+ 创建”。

  3. 在“创建虚拟网络”的“基本信息”选项卡上,输入或选择以下信息

    设置 价值
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg
    实例详细信息
    名称 输入“vnet-1”。
    区域 选择“中国东部 2”。
  4. 选择下一步,转到安全性选项卡。

  5. 选择下一步,转到IP 地址选项卡。

  6. 在“子网”的地址空间框中,选择“默认”子网。

  7. 编辑子网中,输入或选择以下信息:

    设置 价值
    子网详细信息
    子网模板 保留默认值“默认”。
    名称 输入subnet-1
    起始地址 保留默认值“10.0.0.0”。
    子网大小 保留默认值“/24 (256 个地址)”。
  8. 选择“保存”

  9. 选择屏幕底部的“查看 + 创建”,然后在验证通过时选择“创建”。

部署Azure Bastion

Azure Bastion 使用您的浏览器,通过虚拟网络中的专用 IP 地址,以安全外壳协议(SSH)或远程桌面协议(RDP)连接到虚拟机(VM)。 虚拟机不需要公共 IP 地址、客户端软件或特殊配置。 有关Azure Bastion的详细信息,请参阅 Azure Bastion

注意

每小时定价从部署 Bastion 的时刻开始计算,无论出站数据的使用情况如何。 有关详细信息,请参阅 定价SKU。 如果要将 Bastion 部署为教程或测试的一部分,建议在使用完此资源后将其删除。

  1. 在门户顶部的搜索框中,输入“堡垒”。 在搜索结果中选择 Bastions

  2. 选择+ 新建

  3. “创建 Bastion”“基本”选项卡中,输入或选择以下信息:

    设置 价值
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg
    实例详细信息
    名称 输入 堡垒
    区域 选择“中国东部 2”。
    选择基本
    配置虚拟网络
    虚拟网络 选择“vnet-1”。
  4. 选择“查看 + 创建”

  5. 选择 创建

创建存储帐户

为本文中的步骤创建Azure 存储帐户。 如果已有存储帐户,可以改为使用它。

  1. 在门户顶部的搜索框中,输入“存储帐户”。 在搜索结果中选择“存储帐户”。

  2. 选择+ 新建

  3. 在“创建存储帐户”的“基本信息”选项卡中,输入或选择以下信息:

    设置 价值
    项目详细信息
    订阅 选择Azure订阅。
    资源组 选择 test-rg
    实例详细信息
    存储帐户名称 输入 storage1。 如果该名称不可用,请输入一个唯一的名称。
    位置 选择“(亚太)中国北部 3”。
    性能 保留默认值“标准”。
    冗余 选择“本地冗余存储(LRS)”。
  4. 选择“审核”。

  5. 选择 创建

禁用存储帐户的公共访问

在创建专用终结点之前,建议禁用对存储帐户的公共访问。 使用以下步骤禁用对存储帐户的公共访问。

  1. 在门户顶部的搜索框中,输入“存储帐户”。 在搜索结果中选择“存储帐户”。

  2. 选择 storage1 或现有存储帐户的名称。

  3. 在“安全性 + 网络”中,选择“网络”。

  4. 在“公用网络访问”的“防火墙和虚拟网络”选项卡中,选择“已禁用”。

  5. 选择“保存”

创建专用终结点

  1. 在门户顶部的搜索框中,输入“专用端点”。 选择 专用终结点

  2. 在“专用终结点”中选择+ 创建

  3. “创建专用终结点”“基本信息”选项卡中,输入或选择以下信息。

    设置 价值
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg
    实例详细信息
    名称 输入 private-endpoint
    网络接口名称 保留默认值 private-endpoint-nic
    区域 选择“中国东部 2”。
  4. 选择 “下一步:资源”。

  5. “资源 ”窗格中,输入或选择以下信息。

    设置 价值
    连接方法 将默认设置保持为 连接到我租户中的 Azure 资源。
    订阅 选择订阅。
    资源类型 选择“Microsoft.Storage/storageAccounts”。
    资源 选择 storage-1 或您的存储帐户。
    目标子资源 选择 Blob

    注意

    如果以后选择在此帐户上启用分层命名空间,则需要为 Blobdfs 子资源创建专用终结点。 面向Data Lake Storage(dfs)终结点的操作可以重定向到 Blob 终结点,某些操作(例如管理 ACL、创建目录和删除目录)需要 DFS 专用终结点。 为这两个子资源创建专用终结点可确保所有操作都成功完成。 有关详细信息,请参阅对 Azure 存储使用专用端点

  6. 选择 Next: 虚拟网络

  7. 虚拟网络 中,输入或选择以下信息。

    设置 价值
    网络
    虚拟网络 选择 vnet-1 (test-rg)
    子网 选择 subnet-1
    私有终结点的网络策略 选择“编辑”,为专用终结点应用网络策略。
    “编辑子网网络策略”中,在此子网中所有专用终结点的网络策略设置下拉菜单中,选中网络安全组路由表旁边的复选框。
    选择“保存”

    有关详细信息,请参阅 管理专用终结点的网络策略
    设置 价值
    专用 IP 配置 选择“动态分配 IP 地址”。
  8. 选择 “下一步:DNS”。

  9. 在“DNS”中保留默认值。 选择 “下一步:标记”,然后选择 “下一步:查看 + 创建”。

  10. 选择 创建

创建测试虚拟机

以下过程会在虚拟网络中创建一个名为 vm-1 的测试虚拟机 (VM)。

  1. 在门户中,搜索并选择“虚拟机”。

  2. 在“虚拟机”中,选择“+ 创建”。

  3. 在“创建虚拟机”的“基本信息”选项卡上,输入或选择以下信息:

    设置 价值
    项目详细信息
    订阅 选择订阅。
    资源组 选择 test-rg
    实例详细信息
    虚拟机名称 输入“vm-1”。
    区域 选择“中国东部 2”。
    可用性选项 选择“无需基础结构冗余”。
    安全类型 保留默认值 “标准”。
    图像 选择 Windows Server 2022 Datacenter - x64 Gen2
    VM 架构 保留默认值 x64
    大小 请选择尺寸。
    管理员帐户
    身份验证类型 选择密码
    用户名 输入“azureuser”。
    密码 输入密码。
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 选择 “无”。
  4. 选择页面顶部的“网络”选项卡。

  5. 在“网络”选项卡中,输入或选择以下信息:

    设置 价值
    网络接口
    虚拟网络 选择“vnet-1”。
    子网 选择“subnet-1 (10.0.0.0/24)”。
    公共 IP 选择 “无”。
    NIC 网络安全组 选择 “高级”。
    配置网络安全组 选择“新建”。
    在“名称”中输入“nsg-1”。
    将其余选项保留为默认设置,然后选择确定
  6. 将其余设置保留为默认值,然后选择“查看 + 创建”。

  7. 检查设置,然后选择“创建”。

    注意

    虚拟网络中具有堡垒主机的虚拟机不需要公共 IP 地址。 Bastion 提供公共 IP,虚拟机使用专用 IP 在网络中进行通信。 可以从堡垒托管的虚拟网络的任何虚拟机中删除公共 IP。 ** 有关详细信息,请参阅 解除 Azure VM 的公共 IP 地址关联

    注意

    Azure为未分配公共 IP 地址的 VM 提供默认的出站访问 IP,或者位于内部基本Azure负载均衡器的后端池中。 默认出站访问 IP 机制会提供不可配置的出站 IP 地址。

    发生以下事件之一时,将禁用默认出站访问 IP:

    • 将公共 IP 地址分配给 VM。
    • 虚拟机被放置在标准负载均衡器的后端池里,不论是否有出站规则。
    • Azure NAT 网关 资源分配给 VM 的子网。

    在灵活业务流程模式下通过使用虚拟机规模集创建的 VM 没有默认的出站访问权限。

    有关 Azure 中的出站连接的详细信息,请参阅 Azure 中的默认出站访问 以及 使用源网络地址转换(SNAT)进行出站连接

存储访问密钥

后续步骤需要存储访问密钥。 转到之前创建的存储帐户,并复制包含访问密钥的连接字符串。

  1. 在门户顶部的搜索框中,输入“存储帐户”。 在搜索结果中选择“存储帐户”。

  2. 选择在前面步骤中创建的存储帐户或现有的存储帐户。

  3. 在存储帐户的“安全性 + 网络”部分,选择“访问密钥”。

  4. 选择显示,然后在连接字符串中为key1选择复制。

添加 blob 容器

  1. 在门户顶部的搜索框中,输入“存储帐户”。 在搜索结果中选择“存储帐户”。

  2. 选择你在之前的步骤中创建的存储帐户。

  3. 在“数据存储”部分中,选择“容器”。

  4. 选择“+ 容器”按钮来新建容器。

  5. 在“名称”中输入“container”,然后在“公共访问级别”下选择“专用 (非匿名访问)”。

  6. 选择 创建

测试到专用终结点的连接

在本部分中,将使用在前面的步骤中创建的虚拟机通过 Azure 存储资源管理器0 连接到专用终结点中的存储帐户。

  1. 在门户顶部的搜索框中,输入 虚拟机。 在搜索结果中,选择“虚拟机”。

  2. 选择 vm-1

  3. 在“连接”中,选择“Bastion”

  4. 输入在创建虚拟机期间输入的用户名和密码。

  5. 选择 连接

  6. 连接后,在服务器上打开 Windows PowerShell。

  7. 输入 nslookup <storage-account-name>.blob.core.chinacloudapi.cn。 将 <storage-account-name> 替换为你在前面步骤中创建的存储帐户的名称。 以下示例显示命令输出。

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    storage1.privatelink.blob.core.chinacloudapi.cn
    Address:  10.0.0.10
    Aliases:  mystorageaccount.blob.core.chinacloudapi.cn
    

    将为存储帐户名称返回专用 IP 地址 10.0.0.10。 此地址位于前面创建的 vnet-1 虚拟网络的 subnet-1 子网中。

  8. 在虚拟机上安装 Microsoft Azure 存储资源管理器

  9. 安装 Azure 存储资源管理器Finish>。 保持选中此复选框以打开应用程序。

  10. 选择“电源插头”符号以在左侧工具栏打开“选择资源”对话框。

  11. Select Resource 中,选择 Storage 帐户或服务将连接添加到在前面步骤中创建的存储帐户Azure 存储资源管理器

  12. 在“选择连接方法”屏幕中,依次选择“连接字符串”、“下一步”。

  13. Connection String 下的框中,粘贴前面步骤中复制的存储帐户中的连接字符串。 存储帐户名称将自动填充在“显示名称”下的框中。

  14. 选择“下一步”。

  15. 在“摘要”中验证设置是否正确。

  16. 选择连接

  17. 从“资源管理器”菜单中的“存储帐户”中选择您的存储帐户。

  18. 展开该存储帐户,然后展开“Blob 容器”。

  19. 此时会显示之前创建的 container

  20. 关闭到 vm-1 的连接。

清理资源

使用创建的资源之后,可以删除资源组及其所有资源:

  1. 在Azure门户中,搜索并选择Resource 组

  2. 在“资源组”页上,选择“test-rg”资源组。

  3. 在“test-rg”页上,选择“删除资源组”。

  4. 在“输入资源组名称以确认删除”中输入“test-rg”,然后选择“删除”

后续步骤

在本教程中,你已了解如何创建:

  • 虚拟网络和堡垒主机。

  • 虚拟机。

  • 存储帐户和容器。

了解如何通过Azure专用终结点连接到Azure Cosmos DB帐户: