• 一台ECS服务器,部署多(两)应用,且应用配置不同域名


    场景

    产品环境服务器有两台,前后端各分配一台服务器。现在在不增加机器的情况下,需要增加部署一套服务给台北地区服务。

    现有的前端部署方案。

    产品环境部署方案详解

    实现

    配置NAT步骤

    • ECS配置多网卡,以及网卡绑定私有IP。参考
    • 创建NAT网关。
    • 创建两个EIP。
    • 配置DNAT。2 3 4步可以参考

    配置好DNAT,将ECS 实例的两个内网ip和公网ip连接之后,这样,就可以用两个公网ip访问这台实例了。

    题外话,关于费用

    电话咨询阿里云客服,阿里云NAT费用3121/年。
    EIP的费用按流量计是:设备工时费0.02¥/时, 流量0.8¥/GB。暂时这种方案,前期使用较少,流量较少,而且用流量包,先用着看看费用增长情况。
    EIP包年的费用:5M -> 1000多¥/年, 10M -> 8000多¥/年, 50M -> 3.8万¥/年
    参考一下,一台ECS实例:5M半年下来费用1.3万。

    Docker container 绑定不同ip。

    从代码中拷贝出来的一段

    docker run --name $CONTAINER_NAME -v $(pwd)/web-desktop:/usr/share/nginx/html:ro -d -p $PRIVATE_IP:80:8081 -p $PRIVATE_IP:9000:9000 customize-nginx
    

    $PRIVATE_IP可以指定主机以哪一个IP与container连接。

    关于Mac电脑怎么新增加一个ip,参考

    一些t絮i絮p叨s叨

    jenkins config

    jenkins不同环境部署是通过slave方式部署的。生产环境因为是一台机器部署两套应用,比较特殊。前面已经介绍了一台ECS实例通过NAT配置两个公网IP(这是一种很常见的方式,官网上的应用场景和这里很类似,官网有提到:“实例高利用率如果您的服务器托管多个应用,您可以在弹性网卡上分配多个辅助私网IP地址,提升实例的利用率,每个应用对外呈现一个独立的服务IP地址。”)
    以下列的tips只是针对产品环境的。

    • slave 节点host ip配置:产品环境的部署通过两个slave节点执行,两个slave节点分别配置为产品环境ECS实例的不同公网ip。
    • slave 节点credentials配置:需要用不同的credentials进行ssh连接。虽然两节点看似连接两个环境ip,实际上是一台ECS实例,如果都用root用户进行ssh远程控制台登陆,配置的环境变量就没法区分。
    • slave 节点remote root directory配置也需要配置为不同的。
    • 节点环境变量配置
  • 相关阅读:
    Spring源码:Spring IoC容器加载过程(1)
    Spring源码:Spring IoC容器加载过程(2)
    logback日志异步打印
    Spring Boot学到的内容
    JavaScript——数组的indexOf()方法在IE8中的兼容性问题
    聊聊字符串拼接的哪一些事儿
    C# LINQ学习笔记五:LINQ to XML
    聊聊多线程那一些事儿(task)之 三 异步取消和异步方法
    C# 中的IComparable和IComparer
    .net core 简单定时程序
  • 原文地址:https://www.cnblogs.com/holiday2000/p/10251436.html
Copyright © 2020-2023  润新知