<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AWS知识点 &#8211; 顶云AWS爱好者</title>
	<atom:link href="https://www.iloveaws.cn/category/aws%e7%9f%a5%e8%af%86%e7%82%b9/feed" rel="self" type="application/rss+xml" />
	<link>https://www.iloveaws.cn</link>
	<description>AWS中文视频在线课程 - 打造您的云端技能 获取AWS认证 成为AWS专家</description>
	<lastBuildDate>Thu, 31 Oct 2024 09:44:03 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.iloveaws.cn/wp-content/uploads/2019/06/cropped-uugai.com_1560993984449-32x32.png</url>
	<title>AWS知识点 &#8211; 顶云AWS爱好者</title>
	<link>https://www.iloveaws.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>深入理解AI基础模型：迁移学习与微调</title>
		<link>https://www.iloveaws.cn/7739.html</link>
					<comments>https://www.iloveaws.cn/7739.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Thu, 31 Oct 2024 09:41:44 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=7739</guid>

					<description><![CDATA[深入理解AI基础模型：迁移学习与微调 在 &#8230;]]></description>
										<content:encoded><![CDATA[
<p id="bh-GSNNqYdi4d03DSYGMUvfc">深入理解AI基础模型：迁移学习与微调</p>



<p id="bh-9_GU5SsgfxYPjtRDlXKJO">在人工智能的世界中,<strong>迁移学习</strong>是一种强大的方法。它利用已有模型的知识来适应新的任务,类似于一个学生用他已有的知识去理解新的科目。这种方法的优势在于可以减少训练数据的需求,降低计算资源的消耗,并加快模型收敛的速度。</p>



<p id="bh-ykkDXyIlONTSv9bE8lwjZ"><strong>微调</strong>是迁移学习的进一步应用,专注于对模型进行特定任务的调整。就像为学生提供专门的辅导,帮助他在某个领域中更加出色。微调使模型在特定任务中表现得更精准。</p>



<p id="bh-BOqFnmG7dkPRvlYnfkkI-">在<strong>指令式微调</strong>中,我们有两种会话方式：<strong>单轮会话</strong>和<strong>多轮会话</strong>。单轮会话是一种一问一答的形式,每次对话相互独立,适合简单的查询场景。而多轮会话则保持上下文的连贯性,支持追问和补充,适合更复杂的交互场景。</p>



<p id="bh-dBKM_e0srYs-uvMjij31a">数据在AI训练中扮演着重要角色。<strong>标记样本</strong>是指带有正确答案的数据,用于微调模型。比如,输入&#8221;患者出现发热、咳嗽症状&#8221;时,标记的输出可能是&#8221;建议进行发烧检测,并及时就医&#8221;。这些数据质量高,但制作成本也高,适用于有监督学习。</p>



<p id="bh-zKFRpFGIUUEtH05eNiJBb">相对而言,<strong>未标记样本</strong>是没有标注答案的原始数据,如大量文本文档、网页内容和对话记录。这些数据获取成本低、数量庞大,适用于无监督学习,通过这些数据,预训练模型可以提升其基础能力。</p>



<p id="bh-O8DN2BC1hmX5l7LdAzF1t">结合这些概念,AI模型能够通过不同的训练和调整方式,更好地理解和处理各种任务和对话。在现代AI应用中,了解并善用这些技术,将大大提高模型的效率和效果。</p>



<p id="bh-veTKDwfoNbu7SWm3nbiry"><strong>迁移学习（Transfer Learning）</strong></p>



<ul class="wp-block-list" id="bh-kkYkWyFOPZhDo2nxVqlus">
<li>定义：将一个领域学到的知识迁移到另一个相关领域</li>



<li>优势：
<ul class="wp-block-list">
<li>减少训练数据需求</li>



<li>降低计算资源消耗</li>



<li>加快模型收敛速度</li>
</ul>
</li>
</ul>



<p id="bh-dEolL5kGpVfWTA69LmQyA"><strong>单轮和多轮会话</strong></p>



<ul class="wp-block-list" id="bh-7yOSgyb4-X4AQyQUtZKJK">
<li>单轮会话：
<ul class="wp-block-list">
<li>一问一答的形式</li>



<li>每次对话相互独立</li>



<li>适合简单查询场景</li>
</ul>
</li>



<li>多轮会话：
<ul class="wp-block-list">
<li>保持上下文连贯性</li>



<li>支持追问和补充</li>



<li>适合复杂交互场景</li>
</ul>
</li>
</ul>



<p></p>



<p></p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="431" src="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3-1024x431.png" alt="" class="wp-image-7740" srcset="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3-1024x431.png 1024w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3-460x194.png 460w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3-768x323.png 768w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3-120x51.png 120w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3-310x130.png 310w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-3.png 1511w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p></p>



<p id="bh-yarHEoBry1j4x8mgEQB0N"><strong>标记样本和未标记样本</strong></p>



<p id="bh-2snKVZY3gRM_U6WQvyrVA">标记样本（Labeled Samples）</p>



<ul class="wp-block-list" id="bh-Apv2zfcvHZO6vxKisj2Ao">
<li>定义：已经人工标注了正确答案或期望输出的训练数据</li>



<li>示例：
<ul class="wp-block-list">
<li>输入：&#8221;患者出现发热、咳嗽症状&#8221;</li>



<li>标记：&#8221;建议进行发烧检测,并及时就医&#8221;</li>
</ul>
</li>



<li>特点：
<ul class="wp-block-list">
<li>数据质量高</li>



<li>制作成本高</li>



<li>适用于有监督学习</li>
</ul>
</li>
</ul>



<p id="bh-d-yU9FxEzgwSaqh2WSGaN">未标记样本（Unlabeled Samples）</p>



<ul class="wp-block-list" id="bh-qjcDSShqWAKgqUjFzev1e">
<li>定义：没有人工标注答案的原始数据</li>



<li>示例：
<ul class="wp-block-list">
<li>大量的文本文档</li>



<li>网页内容</li>



<li>对话记录</li>
</ul>
</li>



<li>特点：
<ul class="wp-block-list">
<li>获取成本低</li>



<li>数量庞大</li>



<li>适用于无监督学习</li>
</ul>
</li>
</ul>



<p></p>



<p></p>



<p></p>



<figure class="wp-block-image size-full"><img decoding="async" width="960" height="818" src="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-4.png" alt="" class="wp-image-7741" srcset="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-4.png 960w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-4-460x392.png 460w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-4-768x654.png 768w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-4-120x102.png 120w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-4-310x264.png 310w" sizes="(max-width: 960px) 100vw, 960px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/7739.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>模型微调和持续预训练的区别</title>
		<link>https://www.iloveaws.cn/7731.html</link>
					<comments>https://www.iloveaws.cn/7731.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Thu, 31 Oct 2024 07:01:09 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=7731</guid>

					<description><![CDATA[基本概念对比 持续预训练（Continu &#8230;]]></description>
										<content:encoded><![CDATA[
<p id="bh-3un5AbjKreI__VQL0o5Wb"></p>



<h3 class="wp-block-heading" id="bh-6NDKKs7tzlDAvymhwdWZq">基本概念对比</h3>



<p id="bh-rp-E2TipHlHaQaykEPcM_">持续预训练（Continuous Pre-training）：</p>



<ul class="wp-block-list" id="bh-HRsKV3Sm4OfNqRw9Z4OnT">
<li>定义：在原始预训练模型基础上，使用新数据继续进行大规模预训练</li>



<li>目的：扩展和更新模型的基础知识</li>



<li>数据类型：主要使用未标记数据</li>



<li>训练方式：自监督学习</li>
</ul>



<p id="bh-ekOMD7SAJ8AfN6DAlcosS">模型微调（Fine-tuning）：</p>



<ul class="wp-block-list" id="bh-712kBvWJpxr7l-baNJS1v">
<li>定义：针对特定任务或领域，对预训练模型进行小规模定向训练</li>



<li>目的：提升模型在特定任务上的表现</li>



<li>数据类型：主要使用标记数据</li>



<li>训练方式：有监督学习</li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="834" src="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1024x834.png" alt="" class="wp-image-7732" srcset="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1024x834.png 1024w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-460x375.png 460w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-768x625.png 768w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1536x1251.png 1536w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2048x1668.png 2048w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-120x98.png 120w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-310x252.png 310w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" id="bh-KaH4vEVnLGM_SfUjRfp3w">具体用例对比</h3>



<p id="bh-2QXtb0f6KdvHXe1z1zPql">持续预训练用例：</p>



<p id="bh-Y_h2rvS5mXki4fpxKu1UM">`案例1：更新知识库</p>



<ul class="wp-block-list" id="bh-OyITWoE7l66edyU5U4qbt">
<li>场景：医疗领域新研究文献更新</li>



<li>做法：使用最新医学文献进行持续预训练</li>



<li>效果：模型掌握最新医学发展</li>
</ul>



<p id="bh-P0oQIHWl2hHN_EafZACjN">案例2：新领域适应</p>



<ul class="wp-block-list" id="bh-A5_QaeozyO2S8DmBdGxlC">
<li>场景：进入新的市场或行业</li>



<li>做法：使用该行业的专业文档进行预训练</li>



<li>效果：模型理解行业特定术语和知识</li>
</ul>



<p id="bh-Q7PQRbYGvTumwrU1IjjjM">案例3：语言扩展</p>



<ul class="wp-block-list" id="bh-QXbV-vMU2mXnzlVZAQ_PP">
<li>场景：增加新的语言支持</li>



<li>做法：使用目标语言的大量文本进行预训练</li>



<li>效果：模型获得新语言能力</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="736" src="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-1024x736.png" alt="" class="wp-image-7733" srcset="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-1024x736.png 1024w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-460x331.png 460w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-768x552.png 768w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-1536x1105.png 1536w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-2048x1473.png 2048w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-120x86.png 120w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-1-310x223.png 310w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p id="bh-m8LF874wmY9qjarcMadBw">模型微调用例：</p>



<p id="bh-qkCmd5Id4vmDEdmgkZ9pD">`案例1：客服机器人</p>



<ul class="wp-block-list" id="bh-ig6H02xmxBVVw4dAkuNAc">
<li>场景：企业特定产品支持</li>



<li>数据：问题-答案对</li>



<li>效果：准确回答产品相关问题</li>
</ul>



<p id="bh-3elYPF3cYB-xMgw5qP9aB">案例2：法律助手</p>



<ul class="wp-block-list" id="bh-DHONhRKzbhIJr9yZ0Z4GY">
<li>场景：特定法律文书生成</li>



<li>数据：文书模板和示例</li>



<li>效果：生成规范的法律文档</li>
</ul>



<p id="bh-ukLEQmugyqWMEor1kLLA_">案例3：代码补全</p>



<ul class="wp-block-list" id="bh-2TJ8PvE-96xEkgZNlsL79">
<li>场景：特定编程语言补全</li>



<li>数据：代码片段对</li>



<li>效果：提供准确的代码建议`</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="846" src="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-1024x846.png" alt="" class="wp-image-7734" srcset="https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-1024x846.png 1024w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-460x380.png 460w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-768x634.png 768w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-1536x1269.png 1536w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-2048x1692.png 2048w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-120x99.png 120w, https://www.iloveaws.cn/wp-content/uploads/2024/10/image-2-310x256.png 310w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading" id="bh-6OW1oNGIM4zt2nOUIrFnm">核心区别</h3>



<p id="bh-G78GUnpC8gGpsK3ZGAn-W">训练规模：</p>



<ul class="wp-block-list" id="bh-F4zXtwKmnwKMKXXEYDBZh">
<li>持续预训练：大规模训练</li>



<li>模型微调：小规模定向训练</li>
</ul>



<p id="bh-6cN0SkGaqdLTF_83Rw9OG">数据要求：</p>



<ul class="wp-block-list" id="bh-t2j-wn060NHfwmluONr1Q">
<li>持续预训练：大量未标记数据</li>



<li>模型微调：少量高质量标记数据</li>
</ul>



<p id="bh-epiK1qEM2Y6gECI_Ik_NG">学习目标：</p>



<ul class="wp-block-list" id="bh-_qgo7LyfRGLEW_M0l_1lS">
<li>持续预训练：通用能力提升</li>



<li>模型微调：特定任务优化</li>
</ul>



<h3 class="wp-block-heading" id="bh-1b1GSSyD7cv3u8rUruZ_g">选择建议</h3>



<p id="bh-eh50DnW7GCpDtm9-7oKvN">何时选择持续预训练：</p>



<ul class="wp-block-list" id="bh-TUL3eeGqDS4NzkOQZwqfO">
<li>有大量新领域数据需要学习</li>



<li>需要更新模型的基础知识</li>



<li>要扩展模型的语言能力</li>



<li>有充足的计算资源</li>
</ul>



<p id="bh-bcJik7PTsfA2oChBbrKyZ">何时选择模型微调：</p>



<ul class="wp-block-list" id="bh-barmbnUGiK6dQy-zMa-Ix">
<li>有明确的任务目标</li>



<li>有高质量的标记数据</li>



<li>需要快速适应特定场景</li>



<li>计算资源有限</li>
</ul>



<h3 class="wp-block-heading" id="bh-VyIUUt5ZKxQ9VuA4nW-Ku">最佳实践流程：</h3>



<ol class="wp-block-list" id="bh-DtTzSvw2zeGxoisN_3x6z">
<li>先进行持续预训练扩展基础能力</li>



<li>再进行模型微调优化具体任务</li>



<li>定期评估效果并调整策略</li>



<li>持续收集反馈进行优化</li>
</ol>



<p id="bh-qWPg3OFSfh0ZjJnqr2CkU">这种理解和区分对于在AWS Bedrock上开发AI应用非常重要，能帮助我们根据实际需求选择合适的训练策略。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/7731.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CloudFront的高可用之【源】故障转移</title>
		<link>https://www.iloveaws.cn/458.html</link>
					<comments>https://www.iloveaws.cn/458.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Mon, 11 Nov 2019 02:18:24 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[CloudFront]]></category>
		<category><![CDATA[CloudFront故障转移]]></category>
		<category><![CDATA[CloudFront源站]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=458</guid>

					<description><![CDATA[我们在使用CloudFront的案例中，为了保障CloudFront的高可用，一般会配置多个源站，当其中一个源站出现故障时，回源需要切换到正常的源站从而不会影响到业务，其实在2018年11月20日，CloudFront推出了一个功能为源故障转移，不需要借助其他系统就可以实现源站的故障转移。
]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left has-small-font-size">文&nbsp;|&nbsp;沉默恶魔（转载请注明出处）<br>微信号：chenmoemo<br>关注公众号：AWS爱好者</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="538" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-14-1024x538.jpg" alt="" class="wp-image-459" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-14-1024x538.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-14-300x158.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-14-768x403.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-14.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><em>如果您想加入「AWS爱好者」微信群和其他同学交流，请加微信:chenmoemo，后拉入「AWS爱好者」微信群。</em></p>



<p><br>我们在使用CloudFront的案例中，为了保障CloudFront的高可用，一般会配置多个源站，当其中一个源站出现故障时，回源需要切换到正常的源站从而不会影响到业务，其实在2018年11月20日，<strong>CloudFront推出了一个功能为源故障转移，不需要借助其他系统就可以实现源站的故障转移。</strong></p>



<p>利用 CloudFront 的源故障转移功能，您可以为您的分配设置两个源 &#8211;&nbsp;<strong>主要源和辅助源。</strong>这样，<strong>当 CloudFront 检测到您的主要源不可用时，您的内容将从您的辅助源提供。</strong>实现方式为在CloudFront创建一个/源组/，您将在其中为 CloudFront 指定主源以及 CloudFront 将在主源返回特定 HTTP 状态代码故障响应时自动切换到的次要源。</p>



<p>源组中的两个源可以是以下源的任意组合：AWS 源（如 Amazon S3 存储桶或 Amazon EC2 实例）或自定义源（如您自己的 HTTP Web 服务器）。在创建源组时，将 CloudFront 配置为在主源返回您配置的特定状态代码时故障转移到 GET、HEAD 和 OPTIONS HTTP 方法的次要源。</p>



<p>CloudFront 将所有传入请求路由至主源，仅在尝试路由至主源时返回为故障转移或超时配置的状态代码的情况下，CloudFront 才将请求发送到次要源。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="536" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-15-1024x536.jpg" alt="" class="wp-image-460" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-15-1024x536.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-15-300x157.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-15-768x402.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-15.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>实现源故障转移功能创建源组操作非常简单，在CloudFront分配中：</p>



<ol class="wp-block-list"><li>创建源组</li><li>添加主/备源</li><li>选择故障转移条件</li></ol>



<p>就搞定啦，如图：</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="466" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-16-1024x466.jpg" alt="" class="wp-image-461" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-16-1024x466.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-16-300x136.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-16-768x349.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-16.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="607" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-17-1024x607.jpg" alt="" class="wp-image-462" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-17-1024x607.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-17-300x178.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-17-768x455.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-17.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/458.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS Limit Monitor部署实战，AWS limits智能管家</title>
		<link>https://www.iloveaws.cn/439.html</link>
					<comments>https://www.iloveaws.cn/439.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Wed, 06 Nov 2019 05:34:33 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[aws limit]]></category>
		<category><![CDATA[AWS LIMIT MONITOR]]></category>
		<category><![CDATA[limits管理]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=439</guid>

					<description><![CDATA[今天我们实战，对AWS Limit Monitor进行自动化部署。
]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left has-small-font-size">文&nbsp;|&nbsp;沉默恶魔（转载请注明出处）<br>微信号：chenmoemo<br>关注公众号：AWS爱好者</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="543" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-1024x543.jpg" alt="" class="wp-image-440" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-1024x543.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-300x159.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-768x407.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><em>如果您想加入「AWS爱好者」微信群和其他同学交流，请加微信:chenmoemo，后拉入「AWS爱好者」微信群。</em></p>



<p>我们上篇文章——&lt;&lt;AWS Limit Monitor，主动跟踪资源使用情况，接近limits时推送通知提醒&gt;&gt;讨论了AWS Limit Monitor，该解决方案自动配置必要的服务，以便在您使用AWS的过程中，主动跟踪资源使用情况当使用的资源接近limits限制时发送通知，帮助您避免有启动资源需求时才发现limits到上限造成无法启动资源从而影响线上业务的情况。</p>



<p>今天我们实战，对AWS Limit Monitor进行自动化部署。</p>



<p class="has-medium-font-size"><strong>AWS Limit Monitor部署</strong></p>



<p>首先，在部署 AWS Limit Monitor前，请仔细查看上篇关于 AWS Limit Monitor理论内容，包括 AWS Limit Monitor架构说明等，这会有助于顺利完成部署工作。</p>



<p><em>/本次部署演示不包括部署secondary账户和slack推送内容，如有实际需求，针对对应配置项进行配置即可。</em><em>/</em></p>



<p><strong>启动堆栈，开始部署</strong></p>



<p>下面提供的 AWS CloudFormation 模版自动部署AWS Limit Monitor到您的账户中。</p>



<p><em>/Note：</em><em>注意，部署会产生aws资源使用费用，具体费用数额请查看本方案使用各个服务的具体费用。</em><em>如果是测试目的，部署完成后请将所有相应资源删除以免产生不必要的费用。</em><em>/</em></p>



<p>1、登陆aws管理控制台后，复制下面链接后在浏览器中打开，启动AWS Limit Monitor AWS CloudFormation template</p>



<pre class="wp-block-code"><code>https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=LimitMonitor&amp;templateURL=https:%2F%2Fs3.amazonaws.com%2Fsolutions-reference%2Flimit-monitor%2Flatest%2Flimit-monitor.template</code></pre>



<p>也可以通过下面链接下载模板用于你自己的环境。</p>



<pre class="wp-block-code"><code>https://s3.amazonaws.com/solutions-reference/limit-monitor/latest/limit-monitor.template</code></pre>



<p>2、默认情况下，模板在US East (N. Virginia) Region启动。<br></p>



<p>3、在创建堆栈页面，确认下正确的模板 URL 显示在 Amazon S3 URL 文本框中，然后选择&#8221;下一步&#8221;。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="534" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-1-1024x534.jpg" alt="" class="wp-image-442" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-1-1024x534.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-1-300x156.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-1-768x400.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-1.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>4、可以修改堆栈名称，我们这里就用默认的。</p>



<p>5、参数设置部分，如有需要可进行自行调整，参数配置说明：</p>



<ul class="wp-block-list"><li>Account List，limit 监控的账号ID列表，用引号和逗号分隔，如果您需要部署secondary账户limit监控的话就要将账号ID配置到这里。我将这里留空，留空表示只监控当前主账户的limit。</li><li>Email Notification Level，配置出发通知的事件级别，这里留默认“WARN”, “ERROR”，表示达到这两个级别时出发通知。</li><li>Email Address，这是必选项，表示接收 Amazon SNS 通知的有效电子邮件地址。</li><li>后面三个选项是关于slack的配置，我们不进行配置，留空。</li></ul>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="576" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-2-1024x576.jpg" alt="" class="wp-image-443" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-2-1024x576.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-2-300x169.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-2-768x432.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-2.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>6、审核LimitMonitor页面，</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="613" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-3-1024x613.jpg" alt="" class="wp-image-444" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-3-1024x613.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-3-300x179.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-3-768x459.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-3.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>注意页面最下方，勾选两个复选框以提供给CloudFormation相应权限。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="458" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-4-1024x458.jpg" alt="" class="wp-image-445" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-4-1024x458.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-4-300x134.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-4-768x343.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-4.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>7、点击创建堆栈，开始部署，可以在AWS CloudFormation控制台查看部署状态，整个部署过程大约5分钟左右，您将能看到f *CREATE_COMPLETE*。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="580" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-5-1024x580.jpg" alt="" class="wp-image-446" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-5-1024x580.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-5-300x170.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-5-768x435.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-5.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>创建完成：</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="590" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-6-1024x590.jpg" alt="" class="wp-image-447" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-6-1024x590.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-6-300x173.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-6-768x442.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-6.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>查看下事件日志无异常后，我们进行下一步。</p>



<p>8、此时，在您部署时填写的邮箱中，应该能够收到一封订阅确认邮件，点击订阅url链接启动Amazon SNS notifications。注意，只有完成这一步当LimitMonitor有报警的时候才能收到订阅通知。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="960" height="552" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-7.jpg" alt="" class="wp-image-448" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-7.jpg 960w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-7-300x173.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-7-768x442.jpg 768w" sizes="auto, (max-width: 960px) 100vw, 960px" /></figure>



<p>至此， AWS Limit Monitor就部署完成了，我们接下来确认下AWS Limit Monitor各个组件是否成功部署。</p>



<p class="has-medium-font-size"><strong>部署结果确认</strong></p>



<p>1、首先我们打开lambda控制台，我们看到相应的函数已经成功部署。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="323" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-8-1024x323.jpg" alt="" class="wp-image-449" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-8-1024x323.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-8-300x95.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-8-768x242.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-8.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>点击具体的函数后，可以看到对应函数具体的结构和信息。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="578" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-9-1024x578.jpg" alt="" class="wp-image-450" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-9-1024x578.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-9-300x169.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-9-768x434.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-9.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>2、进入CloudWatch控制台，CloudWatch规则已经成功创建。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="353" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-10-1024x353.jpg" alt="" class="wp-image-451" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-10-1024x353.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-10-300x103.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-10-768x265.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-10.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>3、进入SNS控制台，看到主题已经创建好，要确认已完成订阅，才能收到推送消息。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="480" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-11-1024x480.jpg" alt="" class="wp-image-452" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-11-1024x480.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-11-300x141.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-11-768x360.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-11.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>4、进入SQS控制台，可以看到时间队列和死信队列已经创建完成。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="179" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-12-1024x179.jpg" alt="" class="wp-image-453" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-12-1024x179.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-12-300x53.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-12-768x134.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-12.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>5、进入DynamoDB控制台，看到表已经创建成功。所有AWS成功创建。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="338" src="http://resource.iloveaws.cn/wp-content/uploads/2019/11/640-13-1024x338.jpg" alt="" class="wp-image-454" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/11/640-13-1024x338.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-13-300x99.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-13-768x253.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/11/640-13.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>AWS Limit Monitor提供一些自定义配置，帮助客户细微调整以满足实际业务需求。<br></p>



<p class="has-medium-font-size"><strong>AWS Limit Monitor自定义配置</strong></p>



<p><strong>1、调整lambda运行间隔</strong></p>



<p>默认情况下，AWS Lambda函数每24小时运行一次以刷新AWS Trusted Advisor服务限制检查。但是，您可以通过更改AWS CloudFormation模板中的映射来更改Lambda函数的调用频率。注意：如果调整为12小时内，那么事件到达Amazon DynamoDB可能会有延迟。</p>



<p>要更改时间间隔，请在AWS CloudFormation模板中修改以下映射：</p>



<ul class="wp-block-list"><li></li></ul>



<pre class="wp-block-preformatted"><code>RefreshRate:&gt;    </code>
<code>CronSchedule:&gt;       </code>
<code>Default: rate(1 day)</code></pre>



<p><strong>2、调整需要监控的服务</strong></p>



<p>默认情况下，此解决方案检查AWS Trusted Advisor检查的所有服务限制。要指定您要检查的服务限制，请修改以下AWS CloudFormation模板映射。</p>



<pre class="wp-block-preformatted"><code>EventsMap:&gt;    </code>
<code>Checks:&gt;      </code>
<code>Services:&gt;          ‘”AutoScaling”,”CloudFormation”,”DynamoDB”,”EBS”,”EC2”,”ELB”,”IAM”,”Kinesis”,”RDS”,”Route53”,”SES”,”VPC”’</code></pre>



<p>完成以上步骤，那么我们部署的AWS Limit Monitor已经可以正常运作了。</p>



<p><em>/Note：/</em></p>



<p><em>/要使用此解决方案，AWS帐户必须具有Business或Enterprise 的AWS Support，才能访问Trusted Advisor服务limits检查。/</em></p>



<p>以上，就是我们今天的AWS Limit Monitor部署实操，希望能给大家带来帮助。如果大家是测试目的，请在测试后将所有AWS Limit Monitor创建的资源删除，以免产生不必要的费用。方式是先删除CloudFormation堆栈，然后进入各个服务的控制台检查创建的各个资源进行删除。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/439.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS Limit Monitor，主动跟踪资源使用情况，接近limits时推送通知提醒</title>
		<link>https://www.iloveaws.cn/427.html</link>
					<comments>https://www.iloveaws.cn/427.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Wed, 30 Oct 2019 08:29:11 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[AWS LIMIT MONITOR]]></category>
		<category><![CDATA[limit监控]]></category>
		<category><![CDATA[limit管理]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=427</guid>

					<description><![CDATA[我们今天讨论的主题是AWS Limit Monitor，该解决方案会自动配置必要的服务，以便在您使用AWS的过程中，当使用的资源接近limits限制时主动跟踪资源使用情况并发送通知，帮助您避免有启动资源需求时才发现limits到上限造成无法启动资源从而影响线上业务的情况。]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left has-small-font-size">文&nbsp;|&nbsp;沉默恶魔（转载请注明出处）<br>微信号：chenmoemo<br>关注公众号：AWS爱好者</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="538" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-3-1024x538.png" alt="" class="wp-image-428" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-3-1024x538.png 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-3-300x158.png 300w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-3-768x403.png 768w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-3.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><em>如果您想加入「AWS爱好者」微信群和其他同学交流，请加微信:chenmoemo，后拉入「AWS爱好者」微信群。</em></p>



<p>我们今天讨论的主题是AWS Limit Monitor，该解决方案会自动配置必要的服务，以便在您使用AWS的过程中，<strong>当使用的资源接近limits限制时主动跟踪资源使用情况并发送通知，帮助您避免有启动资源需求时才发现limits到上限造成无法启动资源从而影响线上业务的情况。</strong></p>



<hr class="wp-block-separator"/>



<p class="has-medium-font-size"><strong>什么是AWS service limits(服务限制)?</strong></p>



<p>为帮助AWS所有客户提供高可用性，可靠性和强健的服务，并最大程度地减少新客户的账单风险，Amazon Web Services（AWS）维护每个帐户的服务限制，也就是service limits。</p>



<p>登陆AWS控制台，选择EC2服务，然后点击左侧“限制”后，可以看到EC2服务相关的limits信息。那什么是limits呢？如图中“正在运行按需 t2.micro”，限制类型为“正在运行的实例”，当前限制为20，是指按需T2.micro，在当前的账号，在当前区域，您正在运行的实例最大限制为20个，如果要超过20个就需要提前向AWS申请提升limits。</p>



<p>AWS设置limits是为了避免客户因为恶意攻击或者脚本操作失误等等造成开启大量资源产生账单风险。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="596" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-16-1024x596.jpg" alt="" class="wp-image-430" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-16-1024x596.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-16-300x175.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-16-768x447.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-16.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>几乎每项AWS服务都是根据您在给定时间可以在特定AWS区域内启动多少资源来控制的。但是，<strong>有时即使是最有经验的AWS客户也可能会意外达到服务限制，</strong>因为申请开limits无法实时生效，那就会导致无法启动新资源，对业务造成影响。所以如何能够主动跟踪AWS账户的资源使用情况，当接近limits的时候主动推送提醒，让我们第一时间收到提醒，这个解决方案就产生了：</p>



<p class="has-medium-font-size"><strong>AWS Limit Monitor解决方案</strong></p>



<p>为了根据服务限制更主动地跟踪其AWS资源使用情况，AWS提供了AWS Limit Monitor解决方案，该方案会自动配置必要的服务，以便在接近limits限制时主动跟踪资源使用情况并发送通知。而且该解决方案易于部署<strong>，利用AWS Trusted Advisor服务Limits检查和服务配额</strong>来帮助您显示特定AWS服务的使用情况和Limits，并集中管理您的Limits。借助AWS Limit Monitor，您可以接收电子邮件通知或将通知发送到现有的Slack，从而使您可以请求增加Limits或在达到Limits之前关闭资源。</p>



<p><em>Note：</em><em></em></p>



<p><em>要使用此解决方案，AWS帐户必须具有Business或Enterprise 的AWS Support，才能访问Trusted Advisor服务limits检查。</em><em></em></p>



<p><strong>AWS Limit Monitor架构概述</strong></p>



<p>部署此解决方案将会在AWS Cloud中构建以下环境。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="946" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-17-1024x946.jpg" alt="" class="wp-image-431" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-17-1024x946.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-17-300x277.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-17-768x710.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-17.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>介绍一下这个方案的架构，上面这个架构图看着比较复杂，其实很多都是可选项，在您的业务不需要管理Secondary账户limits、slack推送或vCPU limits时可以不对这些单项内容进行配置。</p>



<p>基础架构非常简单，AWS Limit Monitor包括一个在主账户中部署的模板。该模板会启动一个AWS Lambda函数，该函数每24小时运行一次。（调用频率可通过AWS cloudFormation模板调整）。Lambda函数通过API调用刷新AWS Trusted Advisor服务limits检查，获取最新的使用情况和limits数据。Trusted Advisor将根据limits和使用情况计算使用量，以确定状态是正常（使用率低于80％），警告（使用率在80％至99％之间）还是错误（使用率100％），这个就是这个架构的核心的功能。</p>



<p>最近aws对于limits做了一些调整，登陆控制台后进入到EC2的-限制页面，在页面最上面就会收到通知以及调整的内容：</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="168" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-18-1024x168.jpg" alt="" class="wp-image-432" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-18-1024x168.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-18-300x49.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-18-768x126.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-18.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>简单的说就是从实例计数limits调整为vCPU计数限制（由于此调整不是本文重点，故不赘述），在我们这个AWS Limit Monitor方案中，如果您选择监视基于Amazon Elastic Compute Cloud（Amazon EC2）的虚拟中央处理器（基于vCPU）的限制，则模板将启动另一个Lambda函数，该函数每五分钟运行一次。该功能检查服务配额以检索每个AWS区域的vCPU使用率和limits数据。该函数根据limits计算vCPU使用率，以确定状态是“正常”（利用率低于80％），“警告”（利用率在80％至99％之间）还是“错误”（利用率100％）。</p>



<p>前面介绍了两个Lambda函数的功能，然后由Amazon CloudWatch Events从Trusted Advisor和vCPU监视Lambda函数捕获状态事件，<strong>并使用一组CloudWatch Events规则</strong>将状态事件发送到您在解决方案的初始部署期间选择的所有目标：Amazon Simple Queue Service（Amazon SQS）队列，Amazon Simple Notification Service（Amazon SNS）主题（可选）或Slack通知的Lambda函数（可选）。</p>



<p>Amazon SQS接收所有OK，WARN和ERROR状态事件，并将它们发送到存储事件的Amazon DynamoDB表。默认情况下，Amazon SNS和Slack仅接收WARN和ERROR状态事件。但是，您可以根据自己的特定需求自定义通知。</p>



<p>以上，就是AWS Limit Monitor方案的架构及组成部分。</p>



<p><em>如果在初始部署期间启用了Slack通知，则该解决方案将启动一个Lambda函数，该函数将通知发送到您现有的Slack频道。</em><em>还将部署一个AWS Systems Manager参数存储，以为Slack WebHook URL提供高可用性，安全，持久的存储，该URL用于将消息发送到Slack通道。</em></p>



<p><em>以上就是AWS Limit Monitor的架构组成部分。</em><em></em></p>



<p class="has-medium-font-size"><strong>支持多AWS账户架构</strong></p>



<p>该解决方案还包括一个secondary模板，您可以将其部署在您的secondary账户和其他AWS区域中。<strong>可以对多账户进行limits集中管理，追踪资源的使用情况，接近limits时推送通知。</strong></p>



<p>secondary模板会启动一个Lambda函数，该函数刷新secondary帐户中的Trusted Advisor服务limits检查。如果启用，此模板还将启动一个Lambda函数，以检查服务配额中的vCPU限制。secondary帐户中的CloudWatch Events捕获这两个功能的状态事件，并使用CloudWatch Event Bus将这些事件发送到主帐户。在主帐户中收到这些事件后，CloudWatch Events规则会将事件发送到您选择的目标。</p>



<hr class="wp-block-separator"/>



<p>以上，今天我们介绍了AWS Limit Monitor解决方案的内容，AWS Limit Monitor能让我们轻松管理和跟踪limits使用情况，接近limits上限推送提醒，避免了有启动资源需求时才发现limits到上限造成无法启动资源从而影响线上业务的情况，希望能够给大家带来帮助。</p>



<p>本文AWS Limit Monitor的后续内容，实际演示部署AWS Limit Monitor解决方案，我们下次再见吧。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/427.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>在AWS如何指定EC2实例的放置机架位置策略？</title>
		<link>https://www.iloveaws.cn/385.html</link>
					<comments>https://www.iloveaws.cn/385.html#comments</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Mon, 28 Oct 2019 07:39:39 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[指定EC2位置]]></category>
		<category><![CDATA[指定EC2机架]]></category>
		<category><![CDATA[放置机架]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=385</guid>

					<description><![CDATA[如果我们想要尽量将我们启动的EC2放置在同一个可用区相互靠近一点，以实现低延迟的网络性能，或者将一些实例严格放置在不同的硬件上以减少相关的故障呢？能不能实现？当然可以，使用本文介绍的AWS的置放群组，根据工作负载类型，您可以使用以下置放策略之一创建置放群组：]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-left has-small-font-size">文&nbsp;|&nbsp;沉默恶魔（转载请注明出处）<br>微信号：chenmoemo<br>关注公众号：AWS爱好者</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="750" height="422" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-13.jpg" alt="" class="wp-image-388" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-13.jpg 750w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-13-300x169.jpg 300w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>



<p>我们今天介绍AWS置放群组知识点。</p>



<p>在我们启动EC2实例的时候，EC2 服务会尝试以某种方式放置实例，以便将所有实例分布在基础硬件上以最大限度减少相关的故障，AWS有缺省的放置规则，缺省即可满足绝大部分的使用需求。</p>



<p><strong>但是，</strong><strong>如果我们想要尽量将我们启动的EC2放置在同一个可用区相互靠近一点，以实现低延迟的网络性能，或者将一些实例严格放置在不同的硬件上以减少相关的故障呢？</strong>能不能实现？当然可以，使用本文介绍的AWS的置放群组，根据工作负载类型，您可以使用以下置放策略之一创建置放群组：</p>



<ul class="wp-block-list"><li>集群 – 将一个可用区中靠近的实例打包在一起。通过使用该策略，工作负载可以实现所需的低延迟网络性能，以满足 HPC 应用程序通常使用的紧密耦合的节点到节点通信的要求。&nbsp;</li><li>分区&nbsp;– 将实例分布在不同的逻辑分区上，*以便一个分区中的实例组不会与不同分区中的实例组使用相同的基础硬件。*该策略通常为大型分布式和重复的工作负载所使用，例如，Hadoop、Cassandra 和 Kafka。&nbsp;</li><li>分布&nbsp;– 将一小组实例严格放置在不同的基础硬件上以减少相关的故障。&nbsp;<br><br></li></ul>



<p>下图为我自己建立的置放群组，集群/分区/分布各1个。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="592" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-14-1024x592.jpg" alt="" class="wp-image-389" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-14-1024x592.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-14-300x173.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-14-768x444.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-14.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>接下来将分别介绍三种放置策略：</p>



<p class="has-medium-font-size"><strong>集群置放群组</strong></p>



<p>集群置放群组是单个可用区中的实例的逻辑分组。按照AWS官方的资料所述，置放群组内的所有节点都可以以 10 Gpbs 流和 25 次聚合的全线速率与该置放群组内的所有其他节点进行通信，而不会由于超额订阅而发生任何减速。</p>



<p>下图显示放入集群置放群组中的实例。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="250" height="227" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640.png" alt="" class="wp-image-390"/></figure>



<p><strong>集群置放群组是将启动的EC2实例尽量放置在一起—同一机柜或者相邻机柜，减少实例间的物理距离，一般用于从低网络延迟和/或高网络吞吐量中受益的应用程序，以及在大部分网络流量处于该组中的实例之间的情况下，建议使用集群置放群组。</strong></p>



<p class="has-medium-font-size"><strong>分区置放群组</strong></p>



<p>在使用分区置放群组时，Amazon EC2 将每个群组划分为多个逻辑段（称为“分区”）。<strong>Amazon EC2 确保置放群组中的每个分区具有自己的一组机架。每个机架具有自己的网络和电源。置放群组中的任何两个分区将不会分享相同的机架，从而让您可以在您的应用程序中隔离硬件故障的影响。</strong></p>



<p>下图是单个可用区中的分区置放群组简单的直观表示。它显示了放入到一个分区置放群组的实例，该置放群组具有三个分区 — *分区 1*、*分区 2* 和 *分区 3。每个分区均包含多个实例。一个分区中的实例不与其他分区中的实例共享机架，这使您可以将单一硬件故障的影响限定在相关的分区内。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="400" height="240" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-1.png" alt="" class="wp-image-391" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-1.png 400w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-1-300x180.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>



<p>可使用分区置放群组跨不同机架部署大型分布式和重复的工作负载，例如 HDFS、HBase 和 Cassandra。当您在分区置放群组中启动实例时，Amazon EC2 将尝试跨您指定数量的分区均匀分发实例。您还可以在特定分区中启动实例，以更好地控制实例的放置位置。</p>



<p>分区置放群组可以在同一区域的多个可用区中具有分区。对于每个可用区，一个分区置放群组最多可具有 7 个分区。</p>



<p class="has-medium-font-size"><strong>分布置放群组</strong></p>



<p>分布置放群组可以将每个实例放置在不同的机架上，并且每个机架具有各自的网络和电源。</p>



<p>下图显示单个可用区中的 7 个实例，这些实例已放入一个分布置放群组。7 个实例放置在 7 个不同的机架上。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="750" height="230" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-2.png" alt="" class="wp-image-392" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-2.png 750w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-2-300x92.png 300w" sizes="auto, (max-width: 750px) 100vw, 750px" /></figure>



<p>建议在具有少量应单独放置的重要实例的应用程序中使用分布置放群组。<strong>通过在分布置放群组中启动实例，可以降低在实例具有相同机架时同时发生故障的风险。分布置放群组可以访问不同的机架，因而适合混用不同类型的实例或随着时间的推移启动实例。</strong></p>



<p>分布置放群组可以跨越同一区域中的多个可用区。每个群组在每个可用区中最多有 7 个正在运行的实例。</p>



<p>以上，置放群组的内容就介绍完了，那么如何将EC2实例放置到群组中呢？</p>



<p><strong>在启动EC2实例的配置实例步骤中可以选择将EC2实例添加到置放群组，</strong>这样EC2实例就在置放群组中了。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="459" src="http://resource.iloveaws.cn/wp-content/uploads/2019/10/640-15-1024x459.jpg" alt="" class="wp-image-393" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/10/640-15-1024x459.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-15-300x134.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-15-768x344.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/10/640-15.jpg 1031w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>对了，创建置放群组无需支付费用<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61d.png" alt="😝" class="wp-smiley" style="height: 1em; max-height: 1em;" />，</strong>小伙伴们用起来吧！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/385.html/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>AWS Personal Health Dashboard，AWS资源/服务的运行状况尽在您掌握</title>
		<link>https://www.iloveaws.cn/272.html</link>
					<comments>https://www.iloveaws.cn/272.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Wed, 28 Aug 2019 06:19:55 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[AWS HEALTH]]></category>
		<category><![CDATA[AWS Personal Health Dashboard]]></category>
		<category><![CDATA[PHD]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=272</guid>

					<description><![CDATA[今天我们讨论的主题是AWS Person &#8230;]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="512" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/CynIPfaUkAAGlng-1024x512.png" alt="" class="wp-image-273" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/CynIPfaUkAAGlng.png 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/CynIPfaUkAAGlng-300x150.png 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/CynIPfaUkAAGlng-768x384.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>今天我们讨论的主题是AWS Personal Health Dashboard，AWS Personal Health Dashboard可在AWS遇到可能会影响您的事件时提供提醒和修正指导。</p>



<p><strong>Service Health Dashboard</strong></p>



<p>相信很多人都接触过AWS的Service Health Dashboard页面，<strong>这个页面发布最新的AWS的服务的可用性信息。</strong></p>



<p>我们要知道AWS不可能保证所有的后端和提供的服务都能永远保证100%的可用性，而在本人多年使用AWS过程中，也确实有多次是由于AWS后端或底层的服务问题导致了我的生成环境的业务出现问题。</p>



<p>所以当我们的线上业务出现问题时，建议首先需要确认的是，导致问题的原因是AWS的问题，还是我们业务环境自身的问题。</p>



<p><strong>最简单直接的方法，就是通过Service Health Dashboard页面，地址为：</strong><strong>https://status.aws.amazon.com，</strong>这个页面提供了按照AWS的区域，截止到当前时间，各个AWS区域内不同服务的当前状态（正常？异常）。</p>



<p>如下面的截图中，可以看到当前时间在东京区域的其中一个可用区出现网络问题，对应的Details也有此次时间的详细时间点，和对应的问题描述和AWS处理的情况。</p>



<p>AWS服务对应正常的状况会在Details中内容为“Service is operating normally”，可以通过这个页面非常直观的查询AWS全球各个区域提供的服务的情况。</p>



<p>Service Health Dashboard 是一个AWS提供的全球的，所有提供服务的状态更高层次的仪表盘，它反映的是全球的服务整体的状态。<strong>如果我们想更清晰的获得和自己使用服务相关的一个仪表盘，或者想要定制一些通知等功能，在出现问题的时候推送到SNS通知或者lambda进行后续处理，那么就需要使用AWS Personal Health Dashboard</strong>—我们接下来讨论的内容。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="992" height="1024" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/1-992x1024.jpg" alt="" class="wp-image-274" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/1-992x1024.jpg 992w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-291x300.jpg 291w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-768x793.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1.jpg 1080w" sizes="auto, (max-width: 992px) 100vw, 992px" /></figure>



<p><strong>AWS Personal Health Dashboard&nbsp;</strong></p>



<p><strong>AWS Personal Health Dashboard ，列出会对您当前使用账号中用到的AWS资源或者使用的服务造成影响或者潜在影响的异常事件。</strong></p>



<p>我们现在登录下AWS控制台，可以看到控制台右上方的铃铛处有橙色的圆点，表示目前账号使用的资源或服务有事件通知，点击铃铛看到提醒包括：未解决问题(Open issues)，计划更改(Scheduled changes)，以及其他通知(Other notifications) 。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="334" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/2-1024x334.jpg" alt="" class="wp-image-275" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/2-1024x334.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/2-300x98.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/2-768x250.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/2.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="546" height="492" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/3.png" alt="" class="wp-image-276" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/3.png 546w, https://www.iloveaws.cn/wp-content/uploads/2019/08/3-300x270.png 300w" sizes="auto, (max-width: 546px) 100vw, 546px" /></figure>



<p>点击“查看所有提醒”后，进入 Personal Health Dashboard 页面。发现当前有两个Open issues，<strong>如上所述表示目前账号使用的资源或服务有2个AWS事件通知，且当前仍未解决。</strong>当当前账号环境相关出现问题时，它会在这些选项卡中提供一个事件列表，我们看到目前AWS账号下目前的2个open issues一个是RDS相关，一个是EC2相关。</p>



<p>AWS Personal Health Dashboard 会提供影响账户的 AWS 运行状况 事件的相关信息。信息会以两种方式显示：显示按类别组织的最近和未来事件的控制面板（包括Open issues，Scheduled changes，Other notifications），以及显示过去 90 天内所有事件的完整事件日志（Event log) 。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="363" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/1-1-1024x363.jpg" alt="" class="wp-image-279" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/1-1-1024x363.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-1-300x106.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-1-768x272.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-1.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Personal Health Dashboard 会分三组管理问题：未处理问题（Open issues）、已计划更改（Scheduled changes）和其他通知（Other notifications）。</strong>默认情况下，未处理问题和其他通知仅限于开始时间在过去 7 天内的问题，已计划更改组包含正在进行或即将进行的项目。</p>



<p><strong>Personal Health Dashboard 的最左侧的事件日志（Event log）页面会显示适用于您的账户的所有 AWS 运行状况 事件。</strong>点击单个时间后会显示所有关于该事件的详细信息，包括时间名称，状态，区域，起止时间等等，右边Details选项卡中包括此事件处理的详细时间点和信息，以及AWS提供给用户的针对此次事件的操作建议。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="576" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/1-2-1024x576.jpg" alt="" class="wp-image-280" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/1-2-1024x576.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-2-300x169.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-2-768x432.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-2.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<p><strong>旁边的Affected resources选项卡，会显示受事件影响的任何 AWS 资源的相关信息。</strong>可以看到通过PHD，当我们生产环境出现异常时，可以非常方便的定位问题，以及影响到我们的AWS资源。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="585" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/1-3-1024x585.jpg" alt="" class="wp-image-281" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/1-3-1024x585.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-3-300x171.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-3-768x439.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-3.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>所以当我们的业务出现问题时，如果我们没有办法判断是由于我们自身的业务环境还是AWS服务或资源出问题的时候，我的建议是第一步先到Personal Health Dashboard页面，在open issues中查看是否有对应业务出现问题时现象的AWS事件，优先排除AWS的问题。</strong></p>



<p>那么有没有什么方式可以监控AWS运行状况，当运行状况改变的时候自动做出对应响应呢？一些AWS的计划维护任务（Scheduled changes），如果没及时关注到可能会因为AWS的计划维护任务影响到生产环境可用性，有什么方式可以及时收到这些计划任务信息呢？这些就需要下面的<strong>Amazon CloudWatch Events</strong>内容来实现。</p>



<p><strong>通过 Amazon CloudWatch Events 监控 AWS 运行状况 事件</strong></p>



<p>可以通过Amazon CloudWatch Events检测AWS运行状况事件状态的变更并对其进行响应，在Amazon CloudWatch Events中您可以创建规则，在事件与您在规则指定的值匹配时调用一个或多个目标操作。</p>



<p>可以选择以下类型的目标：</p>



<ul class="wp-block-list"><li>AWS Lambda 函数</li><li>Kinesis 流</li><li>Amazon SQS 队列</li><li>内置目标（CloudWatch 警报操作）</li><li>Amazon SNS 主题&nbsp;<br></li></ul>



<p>我们可以创建多个规则，针对不同的规则调用不同的目标进行响应，比如，可以创建health的IAM服务的状态事件，将IAM相关的事件调用SNS，推送给您企业的负责安全相关的同事；在创建一个RDS服务的状态事件，通过SNS将RDS事件邮件推送给负责数据库的同事，通过这种方式，将相应的事件通知邮件推送给相关的同事，让他们关注并及时的进行响应。<br></p>



<p>当然也可以针对匹配的事件选择调用lambda事件，通过lambda事件中的脚本逻辑响应，比如当EC2出现health问题时关闭并启动EC2，通过此方式将我们的EC2从故障的宿主机自动迁移出去，正常恢复我们的业务。</p>



<p>接下来我们操作下如何创建规则，以及针对规则配置调用的目标。</p>



<p>第一步，在Personal Health Dashboard页面点击右上角的Set up notifications with CloudWatch Events 。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="586" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/1-4-1024x586.jpg" alt="" class="wp-image-282" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/1-4-1024x586.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-4-300x172.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-4-768x439.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/1-4.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>然后会进入到CloudWatch的规则-<strong>创建规则页面。</strong></p>



<p>比如我们要创建一个EC2的health响应，实现EC2出现AWS运行状况事件状态的变更时通过SNS通知我们。</p>



<p>我们在创建规则页面选择“事件模式”，选择事件（按服务），服务名称选择“health”；事件类型选择“特定运行状况事件”，然后选择特定服务-EC2；</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="564" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640-8-1024x564.jpg" alt="" class="wp-image-283" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640-8-1024x564.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-8-300x165.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-8-768x423.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-8.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>然后在页面右侧选择添加目标，</strong>我们本例选择SNS主题，然后选择对应的主题后输入规则的名称，完成创建，这样当EC2服务有health事件时，就会SNS邮件推送具体的信息给主题订阅者，让我们在第一时间可以知晓AWS运行状况事件，并对此快速响应保障我们的业务可用性。</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="286" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640-9-1024x286.jpg" alt="" class="wp-image-284" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640-9-1024x286.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-9-300x84.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-9-768x215.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-9.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>以上就是今天的内容，生命不息，学习不止，下次见。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/272.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>重置 Amazon EC2 实例的密码和SSH 密钥</title>
		<link>https://www.iloveaws.cn/255.html</link>
					<comments>https://www.iloveaws.cn/255.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Thu, 01 Aug 2019 08:35:54 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[重置aws实例密码]]></category>
		<category><![CDATA[重置ec2密码]]></category>
		<category><![CDATA[重置ec2密钥]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=255</guid>

					<description><![CDATA[文&#160;&#124;&#160;沉默恶魔（转 &#8230;]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-right has-small-font-size">文&nbsp;|&nbsp;沉默恶魔（转载请注明出处）<br>关注公众号：AWS爱好者<br>微信号：chenmoemo</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="960" height="640" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640.jpg" alt="" class="wp-image-256" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640.jpg 960w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-300x200.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-768x512.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-930x620.jpg 930w" sizes="auto, (max-width: 960px) 100vw, 960px" /></figure>



<p><strong>今天参与了一个讨论，内容是在有AWS控制台根用户权限的情况下，能否重置 该账号下的Amazon EC2 实例的密码和SSH 密钥，从而登陆到该EC2</strong><strong>系统，主要用于SSH密钥丢失或者密码忘记的情况；</strong></p>



<p>另外现在很多企业的业务有这样的情境，需要和三方公司合作，三方公司负责出AWS资源（EC2），然后供我们企业跑业务，三方公司掌握着AWS控制台根用户权限，我们的企业掌握操作系统权限，这种情况下，三方公司是可以通过AWS控制台根用户权限进入我们企业操作系统并且会造成数据安全问题的。</p>



<p>如何达成呢？<strong>使用AWSSupport-ResetAccess</strong>，看下官方的简单介绍，然后我们就开始操作：</p>



<p><strong>-AWSSupport-ResetAccess简介-</strong></p>



<p><em>您可以使用 AWSSupport-ResetAccess文档在 Amazon EC2 Windows 实例上自动重新启用本地管理员密码生成，以及在 Amazon EC2 Linux 实例上生成新 SSH 密钥。AWSSupport-ResetAccess文档旨在<strong>执行 Systems Manager 操作、AWS CloudFormation 操作和 Lambda 函数的组合</strong>，从而将重置本地管理员密码通常所需的步骤自动化。</em></p>



<p><em>您可以使用 Automation 配合 AWSSupport-ResetAccess文档解决以下问题：</em></p>



<p><strong><em>Windows</em></strong></p>



<p><em>您丢失了 EC2 密钥对：要解决此问题，您可以使用 AWSSupport-ResetAccess文档，从当前实例创建启用了密码的 AMI，从 AMI 启动新实例，然后选择您拥有的密钥对。</em></p>



<p><em>您丢失了本地管理员密码：要解决此问题，您可以使用 AWSSupport-ResetAccess 文档生成可以使用当前 EC2 密钥对解密的一个新密码。</em></p>



<p><strong><em>Linux</em></strong></p>



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



<p><strong><em>-AWSSupport-ResetAccess工作原理-</em></strong></p>



<p><em>使用自动化和 AWSSupport-ResetAccess文档对实例进行故障排除的工作原理如下：</em></p>



<ul class="wp-block-list"><li><em>您为实例指定 ID 并运行自动化工作流程。</em></li><li><em>系统创建一个临时 VPC，然后运行一系列 Lambda 函数以配置该 VPC。</em></li><li><em>系统在与您的原始实例相同的可用区内为您的临时 VPC 标识一个子网。</em></li><li><em>系统启动一个临时的启用了 SSM 的 帮助程序实例。</em></li><li><em>系统停止您的原始实例并创建备份。然后，它将原始根卷挂载到帮助程序实例。</em></li><li><em>系统使用 Run Command 在帮助程序实例上运行 EC2Rescue。在 Windows 上，EC2Rescue 通过在附加的原始根卷上使用 EC2Config 或 EC2Launch 为本地管理员启用密码生成。在 Linux 上，EC2Rescue 生成并注入新的 SSH 密钥并将私有密钥加密保存到 Parameter Store 中。完成后，EC2Rescue 重新将根卷挂载回原始实例。/</em></li><li><em>系统根据您的实例创建新 Amazon 系统映像 (AMI)，现在密码生成已启用。您可以使用此 AMI 创建新 EC2 实例，并根据需要关联新密钥对。</em></li><li><em>系统重启您的原始实例，并终止临时实例。系统也将终止临时 VPC 和在自动化开始时创建的 Lambda 函数。</em></li><li><em>Windows：您的实例生成一个新密码，您可以使用分配给实例的当前密钥对从 EC2 控制台对该密码进行解码。</em></li><li><em>Linux：您可以使用存储在 Systems Manager Parameter Store 中的 SSH 密钥（格式为 *ec2rlopenssh**instance_id**key*），通过 SSH 连接到实例。</em><em></em></li></ul>



<p><strong>-使用AWSSupport-ResetAccess重置EC2(LINUX)密钥-</strong></p>



<p>看着很复杂是不是，其实操作很简单，因为AWS已经将上面的步骤放到了<strong>AWS Systems Manager的自动化里面</strong>。假设我们下面这台EC2的SSH密钥找不到了，我们用AWSSupport-ResetAccess重置下密钥：</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="906" height="77" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640.png" alt="" class="wp-image-257" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640.png 906w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-300x25.png 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-768x65.png 768w" sizes="auto, (max-width: 906px) 100vw, 906px" /></figure>



<p><strong>1、进入AWS Systems Manager：</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="361" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/641-1024x361.jpg" alt="" class="wp-image-258" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/641-1024x361.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-300x106.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-768x271.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>2、然后在自动化里面搜索AWSSupport-ResetAccess，然后进入：</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="321" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640-1-1024x321.jpg" alt="" class="wp-image-259" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640-1-1024x321.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-1-300x94.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-1-768x241.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-1.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="372" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/641-1-1024x372.jpg" alt="" class="wp-image-260" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/641-1-1024x372.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-1-300x109.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-1-768x279.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-1.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>3、选择手动执行，这样可以按照需求执行相应步骤，然后instanceid输入上面实例的id，其他参数如恢复实例类型，VPC，子网，角色默认即可：</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="502" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640-2-1024x502.jpg" alt="" class="wp-image-261" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640-2-1024x502.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-2-300x147.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-2-768x376.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-2.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>4、然后执行相应步骤后等待即可，每个步骤的名称对应着改步骤具体的功能，Linux实例就不要选Windows相关的步骤：</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="608" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640-3-1024x608.jpg" alt="" class="wp-image-262" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640-3-1024x608.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-3-300x178.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-3-768x456.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-3.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>5、全部执行完毕后，新的SSH密钥存储在了参数存储中，将其复制下来，用这个新的密钥即可登录上述测试的实例：</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="494" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/640-4-1024x494.jpg" alt="" class="wp-image-263" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/640-4-1024x494.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-4-300x145.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-4-768x370.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/640-4.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="437" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/641-2-1024x437.jpg" alt="" class="wp-image-264" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/641-2-1024x437.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-2-300x128.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-2-768x328.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/641-2.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="281" src="http://resource.iloveaws.cn/wp-content/uploads/2019/08/642-1024x281.jpg" alt="" class="wp-image-265" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/08/642-1024x281.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/08/642-300x82.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/08/642-768x210.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/08/642.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>以上 ，使用新生成的SSH密钥，登录了原来的实例。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/255.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Application Discovery的概念与自动发现工具</title>
		<link>https://www.iloveaws.cn/225.html</link>
					<comments>https://www.iloveaws.cn/225.html#respond</comments>
		
		<dc:creator><![CDATA[沉默恶魔]]></dc:creator>
		<pubDate>Mon, 15 Jul 2019 08:17:03 +0000</pubDate>
				<category><![CDATA[AWS知识点]]></category>
		<category><![CDATA[application discovery]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[云计算]]></category>
		<category><![CDATA[服务发现]]></category>
		<guid isPermaLink="false">https://www.iloveaws.cn/?p=225</guid>

					<description><![CDATA[文&#160;&#124;&#160;沉默恶魔（转 &#8230;]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-right has-small-font-size">文&nbsp;|&nbsp;沉默恶魔（转载请注明出处）<br>关注公众号：AWS爱好者<br>微信号：chenmoemo</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="603" src="http://resource.iloveaws.cn/wp-content/uploads/2019/07/640-16-1024x603.jpg" alt="" class="wp-image-226" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/07/640-16-1024x603.jpg 1024w, https://www.iloveaws.cn/wp-content/uploads/2019/07/640-16-300x177.jpg 300w, https://www.iloveaws.cn/wp-content/uploads/2019/07/640-16-768x452.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/07/640-16.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>Application Discovery是收集和了解您业务所在机房环境，确定存在哪些物理和虚拟服务器及数量，这些服务器上运行的操作系统信息、网络信息以及应用程序的过程。</strong></p>



<p>Application Discovery 的收集的过程可以通过手动方式，但是当您的业务所涉及的服务器数量较多且复杂时会导致效率低、周期长，容易出错。因此建议利用自动发现工具，这些发现工具一般都是通过在服务器上安装Agent（第三方或自行开发），可以自动发现所有应用程序和支持基础架构，通过持续运行自动发现工具来规划如何使数据保持最新状态。</p>



<p>那么一般都支持收集服务器哪些信息呢？可以看下最后面的截图如：网络信息如IP、MAC、系统信息如操作系统版本，以及CPU、内存等硬件信息等，<strong>自动发现工具主要用于准确掌控组织资产基础信息，且当业务信息变更时及时发现及时更新。</strong>如：自动发现工具收集的记录可以和您组织的CMDB系统基础信息进行比对，当检测到变更或不一致时采取相应的策略，最终确保您掌握的业务信息是准确的等等。</p>



<p>第三方自动发现工具有很多，感兴趣的同学可以自行搜索，当然有研发能力的组织也可以自行进行工具的开发。</p>



<p>AWS也有类似的服务，Application Discovery Service（ADS），主要是用于云迁移，我们在这里不探讨此服务的具体功能，只参考ADS能自动发现的信息，为我们提供一些思路。</p>



<p>ADS应用程序发现工具可以：</p>



<ul class="wp-block-list"><li>自动发现数据中心中运行的基础架构和应用程序的清单，并通过持续监视系统来维护清单。</li><li>帮助确定应用程序如何相互依赖或依赖于底层基础架构。</li><li>用于分析和规划的操作系统和服务的版本。</li><li>测量在主机上运行的应用程序和进程，以确定性能基准和优化机会。</li><li>提供对应用程序和服务器进行分类的方法</li><li>在使CMDB更新时，自动发现工具可以节省时间和精力。</li><li>随着项目的进展，使资源信息保持最新是关键，而工具有助于减轻这种痛苦。</li></ul>



<p>以下摘自官方Application Discovery Service的文档，主要参考下ADS可以支持收集发现哪些信息：</p>



<p><em>AWS Application Discovery Agent</em></p>



<p><em>AWS Discovery Agent 是安装在本地服务器和 VM 上用于执行发现和迁移的 AWS 软件。代理将捕获系统配置、系统性能、运行中的进程以及系统之间网络连接的详细信息。代理支持大多数 Linux 和 Windows 操作系统，您可以将其部署在物理本地服务器、Amazon EC2 实例和虚拟机上。</em></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="664" height="1024" src="http://resource.iloveaws.cn/wp-content/uploads/2019/07/640-18-664x1024.jpg" alt="" class="wp-image-229" srcset="https://www.iloveaws.cn/wp-content/uploads/2019/07/640-18-664x1024.jpg 664w, https://www.iloveaws.cn/wp-content/uploads/2019/07/640-18-195x300.jpg 195w, https://www.iloveaws.cn/wp-content/uploads/2019/07/640-18-768x1184.jpg 768w, https://www.iloveaws.cn/wp-content/uploads/2019/07/640-18.jpg 990w" sizes="auto, (max-width: 664px) 100vw, 664px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.iloveaws.cn/225.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
