[Share] 如何在 Azure 云服务器上使用负载均衡器搭建 EDI 高可用环境?

知行 EDI 系统的单个示例已经能轻松地满足大多数企业的自动化传输需求,但是对于数据日处理高达十万次的大型企业,知行 EDI 平台可以被集成到更复杂的系统中。本文中,我们将介绍在 Azure 门户如何使用公共负载均衡器对 VM 进行负责均衡。负载均衡器可以将传入请求分布到多个虚机,从而提高更高级别的可用性和伸缩性。

在开始之前,请提前注册一个微软 Azure 云账号,注册地址:https://portal.azure.com/。注册完成后,登录到 Azure 门户网站,准备开始创建负载均衡器啦。

创建负载均衡器

1. 在屏幕左上方,选择“创建资源” > “网络” > “负载均衡器”。

edi

edi

2. 在“创建负载均衡器”页的“基本”选项卡中输入或选择以下信息,接受其余的默认设置,然后选择“查看 + 创建”:

edi

  • 这里的“区域”,可根据实际需求选择。

3. 在“查看 + 创建”选项卡中,选择“创建”。

edi

创建负载均衡资源

这部分我们将为后端地址池和运行状况探测配置负载均衡器设置,并指定均衡器规则。

创建后端池

若要向 VM 分发流量,后端地址池需包含连接到负载均衡器的虚拟 NIC 的 IP 地址。 创建后端地址池 myBackendPool 以包含用于对 Internet 流量进行负载均衡的虚拟机。

(1)在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。

(2)在“设置”下,依次选择“后端池”、“添加”。

(3)在“添加后端池”页上,键入 myBackendPool 作为后端池的名称,然后选择“添加”。

edi

创建运行状况探测器

若要允许负载均衡器监视应用的状态,请使用运行状况探测器。 运行状况探测器基于其对运行状况检查的响应,在负载均衡器中动态添加或删除 VM。 创建运行状况探测 myHealthProbe 以监视 VM 的运行状况。

(1)在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。

(2)在“设置”下,依次选择“运行状况探测”、“添加”。

edi

(3)选择“确定”。

创建负载均衡规则

负载均衡器规则用于定义将流量分配给 VM 的方式。 定义传入流量的前端 IP 配置和后端 IP 池以接收流量,同时定义所需的源端口和目标端口。 创建负载均衡器规则 myLoadBalancerRuleWeb,以侦听前端 FrontendLoadBalancer 中的端口 80,并将经过负载均衡的网络流量发送到也使用端口 80 的后端地址池 myBackEndPool。

(1)在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。

(2)在“设置”下,依次选择“负载均衡规则”、“添加”。

(3)请使用以下值配置负载均衡规则:

edi

(4)将剩余的字段保留默认设置,然后选择“确定”。

创建后端服务器

在这里,我们将创建一个虚拟网络,为负载均衡器的后端池创建两台虚拟机,以便对负载均衡器进行测试。

创建虚机网络

1. 在屏幕的左上方选择“创建资源”>“网络”>“虚拟网络”,或者在搜索框中搜索“虚拟网络”。

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

edi

3. 选择“IP 地址”选项卡 ,或选择页面底部的“下一步: IP 地址”按钮。

4. 在“IP 地址” 选项卡上,输入以下信息:

edi

5. 在“子网名称” 下,选择词语“默认” 。

6. 在“编辑子网”中输入以下信息:

edi

7. 选择“保存”。

8. 选择“查看 + 创建” 选项卡,或选择“查看 + 创建” 按钮。

9. 选择“创建” 。

创建虚拟机

公共 IP SKU 和负载均衡器 SKU 必须匹配。 对于标准负载均衡器,请使用后端池中具有标准 IP 地址的 VM。 在这里,我们将在两个不同的区域(区域 1、区域 2)中创建具有标准公共 IP 地址的两个 VM(myVM1、myVM2 ),这些 VM 将稍后添加到前面创建的负载均衡器后端池。

1. 在门户左上角,选择“创建资源” > “计算” > “Windows Server 2019 Datacenter”。

2. 在“创建虚拟机”中,在“基本信息”选项卡中键入或选择以下值:

  • 订阅 > 资源组:选择“myResourceGroupSLB”。
  • 实例详细信息 > 虚拟机名称:键入 myVM1。
  • 在“实例详细信息” > “区域”中,选择“西欧”,这里可根据实际需求选择区域。
  • 在“实例详细信息” > “可用性选项”中,选择“可用性区域”。
  • 在“实例详细信息” > “可用性区域”中,选择“1”。
  • 管理员帐户 > 输入用户名、密码和确认密码信息 。
  • 选择“网络” 选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。

3. 在“网络”选项卡中,确保选中以下项 :

  • 虚拟网络:myVnet
  • 子网:myBackendSubnet
  • 在“公共 IP”中选择“新建”,然后在“创建公共 IP 地址”窗口中,为“SKU”选择“标准”,为“可用性区域”选择“区域冗余”,然后选择“确定”。如果创建了基本负载均衡器,请选择“基本”。Microsoft 建议将标准 SKU 用于生产工作负荷。
  • 若要创建新的网络安全组(简称 NSG,一种防火墙),请在“网络安全组”下选择“高级”。

    a. 在“配置网络安全组”字段中,选择“新建”。

    b. 键入 myNetworkSecurityGroup,然后选择“确定”。

  • 若要使 VM 成为负载均衡器后端池的一部分,请完成以下步骤: a. 在“负载均衡”中,对于“将此虚拟机置于现有负载均衡解决方案之后?”,请选择“是” 。

    b. 在“负载均衡设置”中,为“负载均衡选项”选择“Azure 负载均衡器”。

    c. 对于“选择负载均衡器”,请选择“myLoadBalancer”。

    d. 选择“管理”选项卡,或者选择“下一步” > “管理”。

  • 在“管理”选项卡的“监视”下,将“启动诊断”设置为“关闭” 。

  • 选择“查看 + 创建” 。

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

4. 按照第 2 到第 6 步,创建myVM2,“名称”为myVM2,“可用性区域”选择2,其他设置与 myVM1 相同。

创建 NSG 规则

在这里,将创建一个网络安全组规则,以允许使用 HTTP 进行入站连接。

1. 在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择位于“myResourceGroupSLB”资源组中的“myNetworkSecurityGroup”。

2. 在“设置”下,依次选择“入站安全规则”、“添加”。

3. 为名为 myHTTPRule 的入站安全规则输入以下值,以允许来自端口 80 的入站 HTTP 连接:

  • 源:服务标记
  • 源服务标记:Internet
  • 目标端口范围:80
  • 协议:TCP
  • 操作:Allow
  • 优先级:100
  • 名称:myHTTPRule
  • 说明:“允许 HTTP”

4. 选择 添加 。

5. 如果需要,请使用以下不同值对入站 RDP 规则重复上述步骤:

  • 目标端口范围:键入“3389” 。
  • 优先级:键入“200” 。
  • Name:键入 MyRDPRule。
  • 说明:键入“允许 RDP” 。

安装知行 EDI 系统

以上创建完成后,可以在 VM1 和 VM2 上安装 知行 EDI 系统,这里以 VM1 举例。

本地使用 SSH 或 Xshell 连接到 VM1 虚拟机,从这里可以看到 VM1 的IP地址是:XXX.XXX.XXX.XXX,SSH 端口是 22,用户名和密码是在创建 VM1 的时候设置。

edi

登录到 VM1 虚拟机,也可以用其他方式登录。

edi

接下来,准备安装知行 EDI 系统,首先需要安装JDK,这里就不做详细的描述了,但需要注意的是 VM1 和 VM2 上安装的 EDI 系统访问的端口必须保持一致,这里使用默认端口8080。注意需要在 myVM1-nsg 的入站规则添加8080端口,以便外界访问:

edi

以上步骤对于 VM2 是一样的。

安装 EDI 系统之后,在 About 页面激活30天试用 license,这里需要注意激活 license arcesb.lic 文件会默认存放在与 data 平级的目录下,需要将其剪切到运行 EDI 系统的当前用户的目录下:~/.ArcESB/arcesb.lic,~ 表示当前用户目录。

创建存储账户

安装 EDI 系统后,需要创建存储账户,用来共享 EDI 系统上所有的端口配置、发送/接收的文件以及交易的日志。

在屏幕左上方选择“创建资源”>“存储账户”

edi

*注意必须创建为之前的资源组下的存储账户,设置存储账户名称,这里是:arcesb。

edi

edi

edi

点击“下一步”,选择“创建”。创建成功后,需要建立一个共享目录,这里是/mnt/arcesb,用于共享数据,存放data目录。

edi

edi

执行以上命令,password 可以在这里获取:

edi

如果Permission denied,检查下这里防火墙设置,如下:

edi

edi

然后,我们需要在存储账户安装Azure CLI,可参考如下链接:

https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli-apt?view=azure-cli-latest

将 AzureFileDiagnostics.sh 文件放置在 /home/AzureUser,执行如下命令:

edi

edi

edi

这样,/mnt/arcesb共享路径设置好了,测试往共享目录创建一个test.txt文件,成功了。 接下来,我们需要修改下ArcESB安装目录下的/ArcESB/webapp/arcesb.xml文件中的data folder路径,参考如下(这里还需要设置日志存放数据库的配置信息,下面会详细介绍):

edi

到这里存储账户就设置成功了,将会把ArcESB的data目录都存放在/mnt/arcesb下:

edi

查看下VM1中的共享目录:

edi

创建数据库

接下来我们会创建数据库,存放所有交易日志:

在屏幕左上方选择“所有服务”>“数据库”>“AzureSQL”,创建。

edi

*注意必须创建为之前的资源组下的数据库,设置数据库名称,这里是:arcesb。

edi

需要新建服务器,这里命名为arcesb,即服务器管理员登录名为:arcesb, 服务器名称会自动变为arcesb.database.windows.net 密码自行设置,比如password。

edi

其他直接点击下一步,并创建。

edi

在这里需要下载驱动程序,将下载的 mssql-jdbc-8.2.2.jre8.jar 数据库驱动放置在 /ArcESB/lib 目录:

edi

edi

用本地的SQLServer客户端可以登录到数据库,登录信息host可以在这里查看,用户名和密码是在创建数据库的时候设置的。

edi

edi

另外,这里记得修改webapp/arcesb.xml中的APP_DB连接信息,参考如下:

edi

最后,我们一起查看下所有已创建的资源。

edi

访问虚机上的 EDI 系统:http://外网IP:8080/。

了解更多EDI,请您电话 150-0298-3180 / 177-8250-8152 或邮件 edi@kasoftware.cn 联系我们,获取 30 天全功能 免费试用 版本EDI软件。
标签: , , , , , ,
文章分类 share 知识分享, 动态