欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

AWS如何配置AutoScaling來實(shí)現(xiàn)高可用的彈性計(jì)算服務(wù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)AWS如何配置AutoScaling來實(shí)現(xiàn)高可用的彈性計(jì)算服務(wù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、陽谷網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為陽谷等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

先驗(yàn)知識(shí)

AWS 是亞馬遜云計(jì)算平臺(tái)。

EC2 是 AWS 提供的云主機(jī),一般采用基于 CentOS 的 Amazon Linux 系統(tǒng),像大多數(shù)云主機(jī)一樣使用。

ELB 是 AWS 提供的負(fù)載均衡服務(wù),可以將請求轉(zhuǎn)發(fā)到目標(biāo)組中的某個(gè) EC2 實(shí)例,也會(huì)對目標(biāo)組實(shí)例進(jìn)行健康檢查,只將請求轉(zhuǎn)發(fā)到健康的實(shí)例。

目標(biāo)

AWS AutoScaling 服務(wù)允許我們設(shè)定 AutoScaling 組(ASG)。ASG 維護(hù)了一組 EC2 實(shí)例,EC2 實(shí)例可以分布在不同的可用區(qū)里以保證可用性。AutoScaling 能檢查實(shí)例健康狀況,自動(dòng)替換不健康的實(shí)例,能根據(jù)特定規(guī)則增減需要的實(shí)例數(shù)量,并能在啟動(dòng)、銷毀 EC2 實(shí)例時(shí)觸發(fā)事件調(diào)用其他服務(wù)。AutoScaling 服務(wù)能夠與 ELB 彈性負(fù)載均衡服務(wù)結(jié)合使用,實(shí)例不需要公網(wǎng) IP,而且實(shí)例在啟動(dòng)后會(huì)自動(dòng)加入 ELB 的目標(biāo)組,在終止實(shí)例前會(huì)先等待 ELB 連接耗盡。

我們要實(shí)現(xiàn)的結(jié)構(gòu)如圖所示:

AWS如何配置AutoScaling來實(shí)現(xiàn)高可用的彈性計(jì)算服務(wù)

看上去夢寐以求,但用起來卻沒有這么舒服。

給 ASG 創(chuàng)建 EC2 的啟動(dòng)配置

我們需要給 ASG 提供啟動(dòng)配置(Launch Configuration),啟動(dòng)配置里指定了 EC2 的實(shí)例類型、AMI 鏡像、存儲(chǔ)設(shè)備、IAM 角色、SSH Key、用戶數(shù)據(jù)(User Data)等一系列信息,用于啟動(dòng)新實(shí)例。

我們主要關(guān)心 IAM 角色和啟動(dòng)腳本,其他的按需配置。

用戶數(shù)據(jù)實(shí)際上是啟動(dòng)腳本,當(dāng) EC2 實(shí)例啟動(dòng)時(shí),在初始化的最后以 root 身份將用戶數(shù)據(jù)作為腳本執(zhí)行。你可以登錄實(shí)例,在 /var/log/cloud-init-output.log 日志尾查看其輸出。

因?yàn)槊看涡薷膯?dòng)配置都需要重新創(chuàng)建 ASG,而這就需要清空實(shí)例等十分繁瑣,所以最好將用戶數(shù)據(jù)設(shè)置為從外部獲取真正的啟動(dòng)腳本來運(yùn)行,以便修改調(diào)試:

#!/usr/bin/env bash
aws s3 cp s3://bucket/key /tmp/myscript.sh &&
chmod +x /tmp/myscript.sh && /tmp/myscript.sh

這需要給 EC2 的 IAM 角色允許 S3 訪問權(quán)限。

創(chuàng)建 ASG

我們根據(jù)啟動(dòng)配置創(chuàng)建 ASG,設(shè)定最低、最高、所需的實(shí)例數(shù)量,將實(shí)例連接到特定的 ELB 目標(biāo)組,以 ELB 的健康檢查作為 ASG 中實(shí)例的健康依據(jù)等等。

不健康的實(shí)例在健康檢查失敗且等待超時(shí)后將被終止。具體請參考 ASG 中實(shí)例的運(yùn)行狀況檢查。

ASG 中實(shí)例的生命周期

ASG 中實(shí)例有生命周期的概念,也就是實(shí)例有一個(gè)狀態(tài),并在不同的狀態(tài)間轉(zhuǎn)移。

ASG 中實(shí)例的生命周期如圖所示:

AWS如何配置AutoScaling來實(shí)現(xiàn)高可用的彈性計(jì)算服務(wù)

生命周期鉤子

在啟動(dòng)的 Pending 和終止的 Terminating 狀態(tài)均可以添加鉤子,鉤子會(huì)觸發(fā)事件,并等待事件完成再進(jìn)入下一狀態(tài)(當(dāng)沒有鉤子時(shí)實(shí)例會(huì)自動(dòng)跳到下一狀態(tài))。鉤子能設(shè)置超時(shí)時(shí)限、超時(shí)結(jié)果。

可以使用 aws-cli 或 AWS SDK 等主動(dòng)完成生命周期事件,或延期它。事件完成需要提供結(jié)果,主動(dòng)完成和超時(shí)均有“繼續(xù)”和“放棄”兩種結(jié)果可選。

可以給啟動(dòng)或終止階段添加多個(gè)鉤子,他們會(huì)在上一個(gè)鉤子完成且結(jié)果為“繼續(xù)”后依次執(zhí)行。在啟動(dòng)階段一旦出現(xiàn)“放棄”的結(jié)果后,實(shí)例會(huì)跳過其他鉤子,直接開始終止過程,這也會(huì)觸發(fā)終止階段的鉤子;在終止階段出現(xiàn)“放棄”的結(jié)果后,實(shí)例會(huì)跳過其他鉤子,直接終止。

添加鉤子

使用 aws autoscaling put-lifecycle-hook 命令添加溝子,有兩種可選的 transition 值:

  • autoscaling:EC2_INSTANCE_LAUNCHING 實(shí)例啟動(dòng)時(shí)

  • autoscaling:EC2_INSTANCE_TERMINATING 實(shí)例終止時(shí)

下面這個(gè)命令的例子演示了添加“啟動(dòng)時(shí)鉤子,超時(shí)時(shí)限 600s,超時(shí)后放棄該實(shí)例”:

aws autoscaling put-lifecycle-hook \
    --auto-scaling-group-name ${ASG} \
    --lifecycle-hook-name ${HOOK} \
    --lifecycle-transition "autoscaling:EC2_INSTANCE_LAUNCHING" \
    --heartbeat-timeout 600 \
    --default-result "ABANDON"

如果使用了下文的 SNS 或 SQS 接收事件,還需要提供 role-arnnotification-target-arn。AWS 提供了比較完整的文檔 添加生命周期鉤子 來講述這一過程。

報(bào)告事件完成或延期

使用 aws autoscaling complete-lifecycle-action 命令可以主動(dòng)完成事件,使生命周期繼續(xù)(CONTINUE)或放棄(ABANDON),根據(jù)你獲得的信息,提供 instance-idlifecycle-action-token 任一即可:

下面這個(gè)命令的例子演示了“完成 ${ASG} 組的實(shí)例 ${INSTANCE_ID} 上的 ${HOOK} 事件,結(jié)果為繼續(xù)”:

aws autoscaling complete-lifecycle-action \
    --auto-scaling-group-name ${ASG} \
    --lifecycle-hook-name ${HOOK} \
    --instance-id ${INSTANCE_ID} \
    --lifecycle-action-result CONTINUE

命令 aws autoscaling record-lifecycle-action-heartbeat 可以重置超時(shí)時(shí)間,使用方法類似于上文所述的 complete-lifecycle-action

注意,如果希望 EC2 之上的腳本來執(zhí)行上述操作,需要給 EC2 的 IAM 角色允許 autoscaling:CompleteLifecycleActionautoscaling:RecordLifecycleActionHeartbeat 權(quán)限。

EC2 實(shí)例如何獲取自身的 instance-id 呢?

INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
ASG=$(aws autoscaling describe-auto-scaling-instances --output text --query 'AutoScalingInstances[?InstanceId==`'${INSTANCE_ID}'`].AutoScalingGroupName')

具體請參考 檢索實(shí)例元數(shù)據(jù) 和 控制 aws-cli 的命令輸出。

鉤子事件的傳播

AWS 允許鉤子觸發(fā)后向外傳播這一事件,有三種方式——通過 CloudWatch Events、SNS 或者 SQS。他們會(huì)攜帶足夠的信息,具體的攜帶數(shù)據(jù)請參考 AutoScaling 事件。

具體配置如果有疑問,請參考 添加生命周期鉤子 中《向 Auto Scaling 組添加生命周期掛鉤》節(jié)的前兩步。

事件被傳播后,一般使用 Amazon Lambda 或者額外的服務(wù)器來處理。同樣注意,如果希望 Lambda 報(bào)告事件完成或延期,請給 Lambda 的 IAM 角色允許相應(yīng)權(quán)限。

很多時(shí)候我們需要在 EC2 實(shí)例上執(zhí)行腳本,這方面的內(nèi)容請參見這篇博客 AWS 使用 Simple System Manager 向 EC2 發(fā)送命令遠(yuǎn)程執(zhí)行腳本。

事件處理的個(gè)人經(jīng)驗(yàn)

在實(shí)例啟動(dòng)時(shí),我們一般不把事件傳播出去交由 Lambda 處理,而是由用戶數(shù)據(jù)里的啟動(dòng)腳本在執(zhí)行結(jié)束后自行報(bào)告事件完成(繼續(xù)),或者通知 SQS、SNS、Lambda 等來做。

因?yàn)樵趯?shí)例啟動(dòng)時(shí)我們需要手動(dòng)安裝 SSM Agent,此時(shí)該服務(wù)對外界而言不可用。所以我們不能用這種方式來與 EC2 通信。

在實(shí)例終止時(shí),我們一般用 Lambda 處理,并用 SSM 通知 EC2 執(zhí)行回收腳本,回收腳本自行報(bào)告事件完成(繼續(xù)),如果 SSM 失敗,再由 Lambda 報(bào)告事件完成(放棄)。

擴(kuò)展 ASG 的大小

AWS 提供了多種 擴(kuò)展 ASG 的大小 的策略。

這里我們提供兩個(gè)簡單的手工策略來擴(kuò)展 ASG 的大?。?/p>

aws autoscaling put-scaling-policy \
    --auto-scaling-group-name ${ASG} \
    --policy-name "inc" \
    --policy-type "SimpleScaling" \
    --adjustment-type "ChangeInCapacity" \
    --scaling-adjustment 1

aws autoscaling put-scaling-policy \
    --auto-scaling-group-name ${ASG} \
    --policy-name "dec" \
    --policy-type "SimpleScaling" \
    --adjustment-type "ChangeInCapacity" \
    --scaling-adjustment -1

現(xiàn)在我們獲得了高可用的彈性計(jì)算服務(wù),配置過程很復(fù)雜,最好能夠采用 CloudFormation 來配置,或者使用 aws-cli 編寫腳本來完成。

上述就是小編為大家分享的AWS如何配置AutoScaling來實(shí)現(xiàn)高可用的彈性計(jì)算服務(wù)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁題目:AWS如何配置AutoScaling來實(shí)現(xiàn)高可用的彈性計(jì)算服務(wù)
標(biāo)題鏈接:http://aaarwkj.com/article28/iidccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、外貿(mào)建站、動(dòng)態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、服務(wù)器托管、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
久久99精品综合国产女同| 91精品一久久香蕉国产| 精品一级人片内射视频| 亚洲香蕉视频在线播放| 蜜桃在线视频在线观看| 午夜理论片在线观看有码| av免费观看一区二区三区| 亚洲中文字幕少妇视频| 国产欧美色日韩综合在线| av免费观看男人的天堂| 婷婷国产综合一区二区三区| 成人激情电影免费在线| 欧美午夜视频一区二区福利| 日本亚洲一级中文字幕| 亚洲国产精品视频中文字幕| 亚洲最大午夜福利视频| 国产精品免费视频一区二区三区| 丁香六月色婷婷亚洲激情| 欧美日韩一区二区激情在线| 91国产视频在线观看免费| 日本h电影一区二区三区| 国产欧美日本综合一区| 欧美aⅴ一区二区三区| 欧美日韩一区二区三区在线| 国产欧美一区二区三区久久| 人妻丰满熟妇九九久久| 日韩在线不卡中文字幕| 中文字幕av日韩在线| 午夜神马福利激情视频| 91亚洲精品国产一区| 中文字幕人成乱码在线观看| 久久精品国产亚洲av品| 美女视频黄的日本的日进去了| 国产v精品欧美精品v日韩| 无套内谢少妇高朝毛片| 亚洲国产欧美精品综合在线| 国产姐弟操大率悠荡笕| 国产美女冒白浆免费网站| 午夜免费成人在线视频| 国产亚洲精品免费视频| 乱色视频中文字幕在线着|