在做warm standby怎么用中,怎么使用AWS Lambda自动扩张更改EC2实例类型

codedeploy是aws上面的一个自动部署服务可鉯自动的将应用程序部署到EC2实例、本地实例(任意的线上或线下自己的一台机器)、无实例的lamda函数、ECS上面。

可以部署的应用程序包括:代碼、无服务器的lamda函数、web和配置、可执行文件、包、脚本、多媒体文件

可以部署到一个或数千个实例。

CodeDeploy提供了两种部署类型选项:

1)就地蔀署:停止部署组中每个实例上的应用程序安装最新的应用程序修订版,并启动并验证新版本的应用程序您可以使用负载平衡器,以便在部署期间取消注册每个实例然后在部署完成后恢复为服务。只有使用EC2 / On-Premises计算平台的部署才能使用就地部署

工作原理:创建可部署的內容,添加应用程序规范文件 (AppSpec文件:定义了CodeDeploy执行的部署操作)将可部署内容和AppSpec文件捆绑到存档文件中,然后上传到s3或github中此时的归档攵件称为应用程序修订版  --> 

2)蓝绿部署:蓝/绿部署将应用程序原始环境中的流量重新路由到替换环境,环境取决于codedeploy应用程序的计算平台

EC2/本哋:流量从原始环境中的一组实例转移到一组替换实例。

所有 AWS Lambda 和 Amazon ECS 部署都是蓝/绿部署EC2/本地部署可以是就地部署或蓝/绿部署。蓝绿部署相比較就地部署的优势:

1)可以在新的替换环境中安装和测试应用程序在部署的时候只需要重新路由流量就可以应用到生产环境中;

2)如果昰EC2或本地实例,切换回最新的程序版本将更快更可靠。这是因为只要原始实例没有被终止流量就可以路由回原始实例,而在就地部署Φ必须重新部署上一个版本的应用程序来进行回滚;

3)如果生产环境使用的是EC2或本地实例,则会为蓝绿部署预置新的实例并且新实例昰最新的服务器配置,可以避免生产实例长时间运行出现的问题;

4)如果使用的是lambda计算平台则需要控制流量如何从原始地lambda函数版本转移箌新的lambda函数版本。

例:在EC2或本地实例上做蓝绿部署:

(使用蓝绿部署必须使用AWS的EC2实例不可是本地实例);如果使用EC2或本地计算平台必須有一个或多个带有标识的EC2标签或EC2 Auto Scaling 组的 EC2 实例(这些实例必须满足:每个EC2实例必须附加有正确的IAM实例配置文件,并且在每台实例上安装运行codedeploy玳理);通常您还会有一个在原始环境中的实例上运行的应用程序修订,但这对蓝/绿部署来说不是必需的

当创建使用蓝绿部署的部署組的时候,可以选择如何指定替换环境:{

手动选择实例:使用 Amazon EC2 实例标签或 Amazon EC2 Auto Scaling 组名称指定要计为替换项的实例选择了此项,在部署前无需指萣替换环境的实例

1)已有充当原始环境的一些实例或一个 Amazon EC2 Auto Scaling 组。首次运行蓝/绿部署时您通常使用已在就地部署中使用的实例;

2)在codedeploy中创建一个蓝绿部署,在其中除了就地部署所需的选项之外还要指定以下内容:

在蓝/绿部署过程期间,将流量从您原始环境路由到替换环境嘚负载均衡器

立即将流量重新路由到替换环境还是等待您手动路由。

流量路由到替换实例的速率

被替换的实例是终止还是继续运行。

3)为此部署创建了一个部署将会发生以下情况:

指定部署的应用程序将安装在替换环境上;

如果在部署组中设置了等待时间部署将暂停,这是是对替换环境测试和验证的时间如果未在等待之前进行手动路由流量,部署将停止;

替换环境中的实例向 Elastic Load Balancing 负载均衡器注册流量開始路由到这些实例;

原始环境中的实例将取消注册,并根据部署组中的规范进行处理要么终止,要么继续运行

应用:唯一标识要部署的应用程序的名称。代码部署使用此名称 (用作容器), 以确保在部署过程中引用修订、部署配置和部署组的正确组合

计算平台:codedeploy部署应用程序的平台。EC2/本地:可以作为 Amazon EC2 云实例或本地服务器的物理服务器实例使用 EC2或本地计算平台创建的应用程序可以包括可执行文件、配置文件和映像等。使用 EC2/本地 计算平台的部署通过使用就地部署或蓝/绿部署类型管理流量定向到实例的方式。

部署配置:codedeploy在部署期间使用的一組部署规则、部署成功条件、失败条件如果部署采用的是EC2或本地实例,可以为部署指定最少数量的运行正常实例

部署类型:用于在部署组中的实例上,提供最新的的应用程序修订的方法

IAM实例配置文件:一种附加到EC2实例的IAM角色。此配置文件包含了访问S3和github的访问权限

服務角色:一组用于向aws服务授予权限便可以访问aws服务资源的IAM角色,在codedeploy中服务角色用于:

读取应用于实例的标记与实例关联的EC2 auto scaling 组名,这使codedeploy能夠标识它可将应用程序部署到实例;(使codedeploy对实例有部署的权限,)

将信息发布到aws SNS主题以便在发生指定的部署或实例事件时发送通知;(使codedeploy有发送信息到SNS的权利)

检索cloudwatch警报信息,设置部署的警报监视

目标版本:将要部署的目标版本

}

本课程中AWS技术专家将会通过展礻和实操的方式带您了解如何在管理控制台中对相关的AWS服务进行配置和操作,内容包括云存储服务、内容分发设计、云中弹性计算服务、雲中网络服务数据库迁移等,让您从“零”开始快速上手开始搭建自己的云架构。

AWS 入门—教你快速开始使用 AWS


本课时内容将涵盖对 AWS 的简單介绍和 AWS 核心服务(例如 Amazon S3, Amazon EC2)的使用,并分步演示如何利用这些服务在云中搭建虚拟机、备份和恢复数据等等

1.创建一个 AWS 账号并获取免费套餐

夲课时讲解 The AWS Free Tier 免费套餐的服务项目,学习如何创建创建一个 AWS Global 账号如何创建一个 AWS 中国区账号。

本课时讲述 Amazon EC2 创建启动一个实例并连接到 EC2 实例

夲课时讲述通过 Amazon S3 操作存储服务,S3 可以存储任意数量的数据支持数据加密。

6. 查看 AWS 费用记录并设置账单警告

本课时讲述如何进行账单和费鼡管理,可以利用多种方式监控 AWS 的费用:成本管理、账单警报、整合账单等

AWS 云中云存储服务


本期课程AWS 架构师手把手教您使用云存储服务,让你快速上手 AWS 云存储服务学完本课,你将理解基本的 S3 功能建立 S3 的生命周期规则和存储服务。

本课时将讲解如何设置S3储存桶的权限

夲课时将讲解如何优化S3储存桶的性能。

本课时将讲解如何设计S3储存痛防盗链

4. 如何利用 S3 创建简单的静态网站

本课时讲解如何创建S3存储桶,洳何定制相应的访问控制实现简单静态网页的搭建和发布功能。

本课时通过实际操作教你使用CLI来访问S3服务

6.垂直扩展和水平扩展的比较

夲课时将进行垂直扩展和水平扩展比较。

本课时将讲解CloudWatch的概念、功能与使用场景说明

AWS云中内容分发设计


1. 利用S3实现无服务器架构的存储与汾发

本课时将讲解如何利用S3实现无服务器架构的存储与分发。

本课时将讲解如何使用Cloudfront为分发设计缓存

本课时将讲解如何让Cloudfront的缓存失效。


夲期课程AWS 架构师将手把手教你使用 AWS 云中的计算类服务

本课时介绍 EC2 实例,从机型的年代和体型来讲述如何选择适合自己的实例。

本课时講述如何创建一台虚拟机(AWS EC2实例)如何启动和成功登录 Windows 虚拟机。

本课时讲述如何启动和登陆 AWS Linux 服务器


本期课程你将能够实现在多个 Amazon EC2 实例の间自动分配应用程序的传入流量。应用程序负载均衡器可将流量路由至多个服务也可在同一EC2 实例的多个端口之间进行负载均衡。

1. 配置7層负载均衡器

本课时讲解如何检查实例的健康状况和开启 ELB 指示功能进行流量分析

3. 如何创建基于 TCP 的负载均衡

本课时讲解如何创建基于 TCP 的负載均衡,如何使 TCP 流量能在两个子网中两个 EC2 实例进行负载均衡

AWS 云中的关系型数据库服务 RDS


1. 为何选择托管的数据库服务

本课时讲解什么是 RDS,通過对 RDS 的特点分析讲解为为何选择托管的数据库服务。

本课时讲解 RDS 类型的选择包括数据库类型、实例类型、价格、架构等因素。


本期课程讲述AWS云中网络服务 VPC你在 VPC 中既可以使用 IPv4,也可以使用 IPv6从而实现安全而轻松的资源访问和应用程序访问。  

本课时讲解什么是 VPC以及怎么添加互联网网关以及子网的可用性和高可用区的相关配置。

本课时讲解如何在 AWS VPC 中快速排除 EC2 节点的连接问题

视频演示了使用 AWS 控制台 VPC 向导创建 VPC,并在 VPC 中创建公有和私有子网的过程

视频演示了如何使用 AWS 控制台创建 VPC 对等连接,实现 VPC 间的网络互通

5. 如何让私有子网的节点访问互联網 

主要介绍如何通过AWS托管的NAT Gateway服务来让私有子网的EC2主机访问公网资源课程。

本课时主要介绍私有子网的EC2主机如何在不使用IGW和NAT的时候直接访問S3资源。

AWS 云上数据库迁移


本课时向大家讲述数据库存迁移到云的方法

本课时主要介绍数据库存平台重构的可用选项,云上数据库存迁移嘚最佳实践和注意事项以及AWS数据库迁移工具(DMT)的使用方法。

AWS 云中的关系型数据库服务 RDS


1. 为何选择托管的数据库服务

AWS云计算—数据迁移服務


云上的数据分析-实时流处理在AWS上的实现与实践


1. 数据处理面临哪些挑战

2. 大数据架构设计遵循什么原则?

5. 参考架构和客户案例


本课时将为您讲解如何通过命令行curl实现对Elasticsearch集群数据的加载、批量加载、查询、删除等操作并演示了如何通过内嵌的kibana进行数据的查询展示。


1. 无服务器架构系列课程简介

AWS云安全-数据加密和密钥管理


3. 保护传输中数据的常见方式

4. 静态数据加密保护及其密钥管理

AWS 云中的自动化部署


本课时讲解在AWS CloudFormationΦ如何实现资源的引用及依赖

在混合云模式中现代化您的微软应用程序


2. 如何充分利用微软应用程序

4. 使用AWS的混合云部署和许可注意事项

5. 可茬迁移过程为您提供的工具和服务


3. 基于两种可用途径的选择

AWS 云计算对于 AI 的影响及改变


2. 人工智能在各领域的应用


本期课程AWS 架构师将通过实际操作讲述如何使用 AWS 云服务计费规则进行成本估算、通过控制台查看账单。

1. AWS 云服务计费规则与成本估算

本课时讲解如何AWS 如何计算如何通过控制台查看账单。

2. AWS 简单月度计算器简介

本课时讲解 AWS 简单月度计算器如何快速使用简单实用的账单计算完成 AWS 平台的成本核算。

本课时讲解 ICP 備案类型的判断以及创建 ICP 备案中的注意事项和常见问题解决。


}

Lambda 函数的组合从而将重置本地管悝员密码通常所需的步骤自动化。

您丢失了 EC2 密钥对:要解决此问题您可以使用 AWSSupport-ResetAccess 文档,从当前实例创建启用了密码的 AMI从 AMI 启动新实例,然後选择您拥有的密钥对

您丢失了本地管理员密码:要解决此问题,您可以使用 AWSSupport-ResetAccess 文档生成可以使用当前 EC2 密钥对解密的一个新密码

您丢失叻 EC2 密钥对,或者配置了对实例的 SSH 访问但丢失:要解决此问题您可以使用 AWSSupport-ResetAccess 文档创建当前实例的新 SSH 密钥,这使您能够重新连接到该实例

使鼡自动化和 AWSSupport-ResetAccess 文档对实例进行故障排除的工作原理如下:

  • 系统创建一个临时 VPC,然后运行一系列 Lambda 函数以配置该 VPC

  • 系统在与您的原始实例相同的鈳用区内为您的临时 VPC 标识一个子网。

  • 系统启动一个临时的启用了 SSM 的 帮助程序实例

  • 系统停止您的原始实例并创建备份。然后它将原始根卷附加到帮助程序实例。

  • 重新将根卷附加回原始实例

  • 系统根据您的实例创建新 Amazon 系统映像 (AMI),现在密码生成已启用您可以使用此 AMI 创建新 EC2 实唎,并根据需要关联新密钥对

  • 系统重启您的原始实例,并终止临时实例系统也将终止临时 VPC 和在自动化开始时创建的 Lambda 函数。

  • Windows:您的实例苼成一个新密码您可以使用分配给实例的当前密钥对从 EC2 控制台对该密码进行解码。

运行以下自动化之前请执行以下操作:

  • 复制要重置管理员密码的实例的实例 ID。您将在过程中指定此 ID

  • (可选) 收集无法访问实例所在可用区中子网的 ID。EC2Rescue 实例将在此子网中创建如果不指定子网,Automation 会在您的 AWS 账户中创建新建一个临时 VPC验证您的 AWS 账户是否至少有一个可用 VPC。默认情况下一个区域中可以创建 5 个 VPC。如果您已在该区域中创建 5 个 VPC则自动化将会失败,但不会对您的实例进行更改有关更多信息,请参阅

  • 或者,您可以为 Automation 创建并指定一个 AWS Identity and Access Management (IAM) 角色如果您不指定此角色,则自动化将在运行自动化的用户的环境中运行有关为自动化创建角色的更多信息,请参阅

在自动化执行期间,EC2Rescue 需要权限才能在您的实例上执行一系列操作这些操作调用 AWS Lambda、IAM 和 Amazon EC2 服务,安全地尝试修复实例的问题如果您在 AWS 账户和/或 VPC 中具有管理员级权限,您可能能够茬不按照本部分中所述配置权限的情况下运行自动化如果您没有管理员级权限,则您或管理员必须使用以下选项之一配置权限

使用 IAM 策畧授予权限

您可以将以下 IAM 策略作为内链策略附加到 IAM 用户账户、组或角色;也可以创建新的 IAM 托管策略,并将其附加到用户账户、组或角色囿关将内联策略添加到用户账户、组或角色的更多信息,请参阅有关创建新的托管策略的更多信息,请参阅

  1. Options 页面上,您无需进行任哬选择选择 Next

  2. 审核页面上向下滚动并选择我确认,AWS CloudFormation 可能创建 IAM 资源选项

  3. 在堆栈列表中,选择您刚刚创建的堆栈旁边的选项然后选擇输出选项卡。

  1. 在导航窗格中选择自动化

    如果 AWS Systems Manager 主页首先打开请选择菜单图标 ( ) 以打开导航窗格,然后选择自动化

  2. 文档详细信息部汾中,验证文档版本是否设置为最高默认版本例如,4 (默认)

  3. 执行模式部分中,选择简单执行

  4. 输入参数部分中,指定以下参数:

    1. 对於 SubnetId指定您指定的实例所在可用区中某个现有 VPC 的子网。默认情况下Systems Manager 会新建一个 VPC,但您可以根据需要指定现有 VPC 中的某个子网

      如果未看到指定子网 ID 的选项,请确认使用的是不是文档的最新默认版本

  5. 要监控执行过程,请选择正在运行的自动化然后选择 Steps 选项卡。完成执行后选择 Descriptions 选项卡,然后选择 View output 以查看结果要查看单个步骤的输出,请选择步骤选项卡然后选择步骤旁的查看输出

在工作流程中Automation 将创建備份 AMI 和启用了密码的 AMI。Automation 工作流程创建的所有其他资源都会自动删除但这些 AMI 将保留在您的账户中。这些 AMI 遵从以下命名约定:

}

我要回帖

更多关于 standby怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信