精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AWS Lambda的各種優秀實踐

譯文
云計算 服務器運維
如今,無服務器已經成為了各種云應用的最常見部署模式。而在這個領域中,AWS Lambda可謂最為“骨灰級”的工具了。大多數開發人員都或多或少地有過,運用Lambda來快速構建并運行某個云端函數代碼的經歷。在本文中,我將分享:如何通過了解Lambda的工作原理,來合理并充分地使用Lambda。

【51CTO.com快譯】概述

如今,無服務器已經成為了各種云應用的最常見部署模式。而在這個領域中,AWS Lambda可謂最為“骨灰級”的工具了。大多數開發人員都或多或少地有過,運用Lambda來快速構建并運行某個云端函數代碼的經歷。

然而,AWS在管理和處理可擴展性、高可用性(HA)、安全性、以及性能等方面,卻不像AI機器人那樣,通過自我學習和優化配置,來改進所有的云原生(cloud-native)指標。因此,開發人員需要在設計時,尤其注意并學習如何在成本和性能之間達到平衡。在本文中,我將分享:如何通過了解Lambda的工作原理,來合理并充分地使用Lambda。

高可用性

當我們在運行某個Lambda函數時,它實際上是默認運行在一個可以訪問外網的VPC(Virtual Private Cloud)之上。不過,它卻無法同時訪問到其他任何私有的VPC。此處所謂“訪問外網”是指:它只能訪問S3和DynamoDB的AWS服務;而對于那些運行在其他VPC下的AWS資源(如:RDS,Elasticsearch等),則無法訪問到。

如果某個函數運行在Lambda所管理的VPC上,那么Lambda將負責它在該VPC區域的多個AZ(Availability Zone)中的可用性。但在大多數企業應用場景中,我們的確需要同時訪問到RDS和其他的VPC資源。因此,我們需要確保如下兩個方面:

  • 通過在不同的AZ中選擇多個子網,來設計Lambda、并實現高可用性。

AWS Lambda的各種優秀實踐

  • 如果某個AZ發生故障,則其他AZ需要被分配足夠的IP地址,來處理并發的Lambda請求。(注意,每個Lambda的執行都需要有一個私有的IP地址,來處理請求。)因此,我們需要在子網中分配足夠多的IP地址,以達到HA。

并發性

雖說AWS Lambda會以自己的方式來實現可伸縮性,但是對于有限的資源而言,Lambda會遵循如下的并發執行限制:

  • 帳戶級別 - 默認情況下,它會參照每個區域內的所有函數,將該值定為1000。
  • 函數級別 - 默認情況下,它會使用“Unreserved Account Concurrency limit”,但是這并不是一種很好的實現方式。為了避免耗盡所有帳戶級別的并發數,它會限制其他的功能函數。因此,我們應該為每一個函數保留單獨的并發數,以便在事件數量因為某種原因出現激增時,僅影響并隔離在該函數之中。

AWS Lambda的各種優秀實踐

注意 - AWS始終保留一個具有至少100個并發執行量的無保留并發池(unreserved concurrency pool),以處理那些未做特殊設置的函數請求。也就是說,您最多只能分配900個。

如果我們是在一個專有的VPC上運行Lambda呢?

在這種情況下,我們需要根據函數的ENI(Elastic Network Interfaces,彈性網絡接口)擴展性,去請求足夠多的IP地址。您可以使用如下公式來估算ENI的近似容量:

  1. Concurrent executions * (Memory in GB / 3 GB) 

其中:

  • 發執行 - 是工作負載的預計并發數(用每秒調用次數*平均執行的時長,以秒為單位)。
  • 內存大小 - 是為Lambda函數配置的內存數量(以GB為單位)。

在設計Lambda的并發性時,我們還應該始終考慮,諸如DynamoDB、RDS等其他集成服務的限制。我們需要根據這些服務能夠處理的***連接,來調整函數的并發限制。

節流

正如前文在“并發性”中提到的,一旦函數事件出現激增,并超過了并發數的限制,那么Lambda將無法再處理任何新的請求。如果我們不及時予以處理的話,業務系統就會受到影響。

  1. 如果Lambda的調用是同步模式的話,它會馬上接收到429類型的錯誤代碼。同時,如果節流被設定為函數級別或是帳戶級別,那么它還能接收其他一些信息。因此,諸如API網關之類的調用服務,則需要處理此類重試問題。
  2. 如果Lambda的調用是異步模式的話,Lambda只會在丟棄事件之前嘗試兩次。因此,如果函數無法處理該事件,我們就應該使用SQS或SNS所定義的DLQ(Dead Letter Queue),來做稍后調試與處理。而如果我們忘記了定義DLQ,那些消息則會被直接丟棄掉。
  3. 如果Lambda調用是基于輪詢模式的話,我們進一步細分兩種情況:
  • 如果是流式(Kinesis),它將繼續重試,直到超時(最多為7天)。
  • 如果是非流式(SQS),它將把消息放回到隊列之中,并僅在Visibility時限到期后才開始重試,并持續執行下去,直到它能夠成功地完成處理、或是超過保留期。

內存與成本之間的平衡

在Lambda里,內存和CPU息息相關,也就是說,如果您增加了內存,那么CPU分配也應該有所增加。因此,如果需要減少Lambda的執行時間,那么我們就應當增加內存和CPU。但是,如果您進行過詳細的實驗就會發現:在一定的限制情況下,單憑增加內存只會增加購置成本,而并不會大幅減少執行的時間。

目前市面上很少有開源的工具,能夠幫助我們找到***的資源配置。我個人傾向使用CloudWatch的各種日志,來監控內存的使用情況和執行時間,進而調整相應的配置。對內存進行參數微調,便可對AWS的整體成本產生較大的影響,我籍此來找到***平衡點。

性能 - 冷啟動與熱啟動

當我們***次調用Lambda時,它會從S3那里下載代碼和所有依賴項,以創建容器,并在執行代碼之前先啟動對應的應用程序。整個過程的耗時(代碼的執行除外)被稱為冷啟動時間。而一旦容器被啟動并運行起來后,Lambda就已經為后續的調用完成了初始化,它只需要執行應用程序的邏輯便可。因此,這段時長就被稱為熱啟動時間。

AWS Lambda的各種優秀實踐

那么問題來了,我們應該縮短冷啟動時間、還是熱啟動時間呢?原則上說,作為完整執行時長的一部分,冷啟動占據了大部分時間,因此需要想辦法予以減少。但是,在實踐中,我們卻可以通過優質的代碼,來減少熱啟動的時間。

下面,讓我們討論如何才能提高Lambda的整體性能:

  1. 選擇諸如Nodejs和Python之類的解釋性語言,而不是Java或C ++,來減少冷啟動時間。
  2. 如果出于某種原因不得不選用Java的話,請使用Spring Cloud Functions,而不是Spring Boot Web框架。
  3. 由于我們設置ENI的耗時較長、并且會增加冷啟動時間,因此除非您需要帶有專有IP地址的VPC資源,否則請使用默認的網絡環境。我個人判讀:隨著新版AWS Lambda的即將發布,此方面應該有所改進。
  4. 刪除所有與運行該函數無關的依賴項。僅保留那些必需的。
  5. 使用各種全局/靜態變量、以及Singleton對象,這些變量能夠在容器發生故障之前,一直保持活動狀態。因此,任何后續調用都不必再重新初始化這些變量與對象了。
  6. 請使用全局定義的數據庫連接,以便它們能夠被重用到后續的調用中。
  7. 如果您選用的是Java,那么請使用諸如Dagger和Guice之類的簡單IoC依賴注入,而不是Spring框架。
  8. 同樣,如果您選用了Java,那么請將依賴項.jar文件與函數的代碼相分離,以便對解包程序加速。
  9. 如果您選用的是Nodejs,請控制Function js文件的體積小于600字符,并使用V8的運行環境(runtime)。V8優化器能夠內聯主體小于600字符(包括各種注釋)的函數。
  10. 同樣,如果您選用了Nodejs,則可以使用代碼的minification和/或uglification,來減小包的大小,進而大幅減少下載包的耗時。在某些情況下,我曾經看到有將包的體積從10MB減少到1MB的案例。
  • Minification – 會刪除掉所有的空格、換行符、以及注釋。
  • Uglification – 會對所有變量進行混淆和簡化。

示例,原代碼: 

  1. var organizationname = “xyz” 
  2. var bigArray = [1,2,3,4,5,6] 
  3. //write some code 
  4. for(var index = 0; index < 6; index++){ 
  5.   console.log(bigArray[index]); 

Minification之后:

  1. var organizationname = “xyz”, bigArray = [1,2,3,4,5,6] for(var index = 0; index < 6; index++) console.log(bigArray[index]); 

Uglification之后:

  1. for(var o=”myname”,a=[1,2,3,4,5,6],e=0;e<6;e++)console.log(a[e])  

網上有不少的文章都提到:Lambda的執行環境已經具有了適用于Nodejs和Python的AWS SDK。因此,我們不必在依賴項中添加它們。此特性雖然有利于提高性能,但是潛藏著一個問題:該SDK庫將定期使用***的修補程序來進行升級,為了不影響Lambda的各種行為,您***采用自己的依賴項管理方式。

安全性

  1. 為每個函數分配一個IAM角色。即使有多個函數需要相同的IAM策略,單個IAM角色也應該只映射一個函數。當特定的函數安全策略需要加固時,這將有助于保持最小權限的策略。
  2. 由于Lambda會在共享的VPC上運行,因此將AWS的憑據保留在代碼中并不可取。
  • 在大多數情況下,IAM的執行角色已足以通過使用AWS SDK,去連接到AWS的各種服務。
  • 如果函數需要調用跨帳戶的服務,則可能會使用到不同的憑據。因此我們需要在AWS的Security Token Service(請參見https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html)中使用Assume Role API,并檢索各種臨時憑據。
  • 如果函數需要存儲長期憑據(如DB憑據、訪問密鑰),請使用帶有加密助手或AWS System Manager的環境變量。

可測性

由于AWS Lambda讓用戶的代碼運行在云端,那么我們該如何在本地進行測試呢?

雖然Lambda并不提供任何直接測試的URL,但是我們可以根據要啟動的事件源系統來開展測試。

  • 我們可以使用AWS SAM(請參見https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)進行Lambda函數的本地測試。它為CLI提供了類似本地Lambda的執行環境。我們可以獲得API Gateway的localhost URL,它會在本地調用Lambda函數。
  • 我們可以使用localstack(請參見https://github.com/localstack/localstack)開源項目,來創建具有大量AWS資源/服務的本地環境。它可以與其他AWS服務一起運行Lambda。而且由于它能夠以API的形式提供所有的服務,并能夠在后端作為Docker容器運行,因此您也可以將AWS SAM與localstack相集成。
  • 將業務邏輯放到Lambda Handler之外。Handler函數應當僅用于檢索各項輸入,然后將它們傳遞給其他函數/方法。這些函數/方法會將它們解析成為與我們的應用程序相關的變量,然后進一步使用。該過程不但實現了將業務邏輯與處理程序相分離,而且可以在我們創建的對象和函數的上下文中進行測試。

AWS Lambda的各種優秀實踐

藍/綠部署

通過Lambda附帶的Versioning和Alias功能,我們可以發布一個函數的多個版本。同時,我們可以在單獨的容器中并行地調用每個版本。默認情況下,版本特征是由$LATEST來表示的。在開發的過程中,我們可以使用這些版本,來創建諸如dev/UAT等多個環境。但是,由于我們在每一次上傳新的代碼時,版本都會遞增,而客戶則會被指向***的版本。因此,我們***不要直接將Versioning用于生產環境,而可以用到Alias。

Alias可以指向函數的某個特定版本。因此,如果您的代碼發生了更改,并且發布了更新的版本時,事件源仍將指向原來相同的Alias。我們只需管理好Alias何時需要被指向新的版本便可。這便實現了藍/綠部署。我們可以使用一些樣本事件來測試新的版本,確認其工作正常之后,再通過修改Alias的指向,來切換訪問的流量。與此同時,如果發現出現任何問題,我們還可以迅速回滾到原始的版本上。

AWS Lambda的各種優秀實踐

監控

個人以為:CloudWatch能夠很好地與Lambda配合使用,并為用戶提供Lambda執行的各種詳細信息。Lambda能夠自動跟蹤請求數、每個請求的執行時間、導致錯誤的請求數、以及發布相關的CloudWatch指標。同時,您也可以利用這些指標,來自定義各種CloudWatch的警報功能。

另外,我們還可以使用X-Ray來識別Lambda執行中的各種潛在瓶頸。它對于我們試圖可視化那些耗費在函數執行上的時間,是非常實用的。而且,X-Ray還有助于跟蹤那些與整個流程相連接的所有下游系統。

其他建議

  • 請勿使用AWS Lambda Console開發那些直接被用在生產環境中的代碼。
  1. 由于代碼版本控制并非自動生效的,因此如果您誤點了Save按鈕,那么生產環境中的工作代碼就會被***覆蓋掉。
  2. 它并沒有與GitHub、或其他代碼存儲庫相集成。
  3. 它無法被導入AWS SDK之外的模塊中。因此,如果您需要某種特定的庫,則必須從一開始就在本地開發自己的函數、創建.zip文件、然后將其上傳到AWS Lambda中。
  • 請使用AWS SAM或無服務器框架來進行開發。
  • 就Lambda部署的CI/CD計劃而言,它其實與其他可交付式的計劃并無不同。
  • 可使用各種環境變量(Environment Variables)和參數存儲(Parameter Store),來將代碼與配置相分離。

總結

在本文中,我們討論了在設計和部署Lambda時,各種值得參考和使用的***實踐。我們可以根據實際應用的編碼語言和用例,來不斷改進業務系統的性能。當然,我們也可以在其他的云平臺,以及Kubernetes的無服務器平臺中借鑒這些***實踐。希望您能夠將這些實踐總結運用到自己成熟的生產環境與應用之中。

原文標題:AWS Lambda Best Practices,作者:Rajesh Bhojwani

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:未麗燕 來源: 51CTO.com
相關推薦

2018-05-17 22:55:48

AWS Lambda服務器代碼

2014-11-14 10:08:07

AWSAWS Lambda

2014-11-14 10:16:18

亞馬遜

2021-11-29 13:36:34

云計算AWS云平臺網絡安全

2016-07-01 16:13:13

AWSLambda

2023-05-04 17:20:54

AWS ECSAWS Lambda云計算

2023-07-30 15:00:21

2019-09-17 09:44:45

DockerHTMLPython

2021-04-15 08:08:48

微前端Web開發

2019-11-27 10:55:36

云遷移云計算云平臺

2021-07-06 14:17:16

MLOps機器學習AI

2021-08-17 15:00:10

BEC攻擊網絡攻擊郵件安全

2020-03-09 14:10:48

代碼開發工具

2022-12-21 08:20:01

2014-06-27 13:32:07

GartnerAWS安全亞馬遜AWS

2016-10-27 13:46:23

AWSLambdaServerless

2023-06-29 00:19:51

2021-01-20 10:53:41

云計算云存儲云遷移

2020-11-25 10:26:24

云計算云安全數據

2022-03-11 18:30:39

DevOps軟件開發
點贊
收藏

51CTO技術棧公眾號

av老司机免费在线| 精品久久久中文字幕人妻| 免费久久精品| 9191久久久久久久久久久| 六月婷婷激情综合| 欧美777四色影视在线| 久久99深爱久久99精品| 高清在线视频日韩欧美| 91成人精品一区二区| 国产麻豆精品| 色琪琪一区二区三区亚洲区| 日本一本草久p| 嫩草研究院在线| 国产成人自拍高清视频在线免费播放| 情事1991在线| 国产一级一级片| 日韩av在线播放网址| 精品国产一区二区在线观看| 日韩一区二区三区不卡视频| 97人澡人人添人人爽欧美| 国产精品免费视频观看| 久久综合一区二区三区| 精品国产乱码一区二区三| 日韩高清一区二区| 亚洲18私人小影院| 亚洲综合网在线| 欧美猛男同性videos| 精品噜噜噜噜久久久久久久久试看| 久久婷婷国产91天堂综合精品| 黄色影院在线看| 日韩一区中文字幕| 亚洲va韩国va欧美va精四季| 亚州男人的天堂| gogo大胆日本视频一区| 亚洲资源在线看| 在线观看国产一区二区三区| 久久一综合视频| 欧美专区在线观看| 午夜毛片在线观看| 亚洲清纯自拍| 97国产suv精品一区二区62| 深夜福利影院在线观看| 天天做天天爱天天综合网2021| 亚洲欧美综合图区| 扒开jk护士狂揉免费| 久久男人av| 亚洲高清色综合| 中文字幕在线视频播放| **爰片久久毛片| 日韩欧美国产综合| 黄色片子免费看| 视频精品一区| 欧美成人vr18sexvr| 中国特级黄色片| 亚洲国产视频二区| 亚洲国产成人精品久久久国产成人一区| www.色.com| 深夜福利一区二区三区| 欧美xxxx在线观看| 国产精品久久久久久亚洲色 | 中文字幕在线观看不卡视频| 色综合666| 无遮挡动作视频在线观看免费入口| 国产亚洲欧美日韩俺去了| 日本成人三级| 日本中文字幕在线播放| 日韩码欧中文字| 免费看黄色a级片| av色在线观看| 在线亚洲高清视频| 999这里有精品| 天堂av一区| 亚洲国产精品一区二区三区| 亚洲中文字幕一区| 精品大片一区二区| 久久久国产一区二区| 久久久久久久久久久久国产| 一区二区福利| 国产精品黄视频| 成人h动漫精品一区二区无码| 成人一区二区视频| 日本精品一区二区三区视频| 日本中文字幕伦在线观看| 一区二区三区在线高清| 免费看又黄又无码的网站| 超碰aⅴ人人做人人爽欧美| 欧美三级电影一区| 国产精品嫩草69影院| 九热爱视频精品视频| 久久亚洲综合国产精品99麻豆精品福利 | 午夜美女福利视频| 久久亚洲综合av| 在线观看福利一区| 日韩欧美精品一区二区三区| 欧美午夜影院一区| 久久久久久久久久久久国产精品| 免费精品国产的网站免费观看| 蜜臀久久99精品久久久久久宅男| www.com国产| 国产乱人伦偷精品视频免下载 | 黑人巨大精品欧美一区二区一视频| 好男人www社区| 视频亚洲一区二区| 天堂俺去俺来也www久久婷婷| 亚洲大片精品永久免费| 国产天堂在线播放| 风间由美中文字幕在线看视频国产欧美| 国产亚洲一区精品| 日本免费观看视| 国产一区二区三区久久悠悠色av| 久久综合久久综合这里只有精品| 亚洲区欧洲区| 欧美久久久久中文字幕| 香蕉视频黄色在线观看| 欧美影视一区| 国产精品电影网站| 青青草娱乐在线| 亚洲成人av在线电影| 色网站在线视频| 成人黄色av| 国产精品99久久久久久人| 风流少妇一区二区三区91| 中文字幕色av一区二区三区| 亚洲国产日韩精品在线| 欧美少妇在线观看| 久久久久久久性潮| 国产一区二区三区在线| 日韩三级一区二区三区| 国产精品系列在线播放| 懂色av一区二区三区四区五区| 欧美福利在线播放| 亚洲毛茸茸少妇高潮呻吟| 国产系列精品av| 国产成人av影院| 麻豆传媒网站在线观看| 成人污污视频| 久久中文久久字幕| 国产丝袜在线视频| 亚洲欧美日韩中文播放 | 亚洲欧美国产精品va在线观看| 九九视频在线观看| 国产成人午夜电影网| 992tv成人免费观看| 99精品视频在线免费播放| 日韩一区二区在线视频| 中文字幕制服诱惑| 国产精品毛片a∨一区二区三区| 成人性做爰aaa片免费看不忠| 亚洲欧洲免费| 国产成人精品av在线| 久久电影中文字幕| 在线视频一区二区免费| 日本精品久久久久中文| 看片的网站亚洲| 99久re热视频精品98| 国产一区二区三区免费观看在线| 欧美成人激情图片网| 亚洲精品久久久久久久久久 | 国产欧美一区二区三区沐欲| 欧美婷婷精品激情| 99热国内精品| 成人区精品一区二区| heyzo高清国产精品| 精品视频久久久| 成人小视频在线播放| 中文字幕亚洲区| 毛片毛片毛片毛片毛| 宅男噜噜噜66一区二区| 日本在线播放一区| japansex久久高清精品| 久久久久久久色| 欧美女优在线| 在线观看91精品国产麻豆| 久久久精品视频在线| 久久综合视频网| 九热视频在线观看| 午夜国产精品视频免费体验区| 国产区二精品视| jizz久久久久久| 欧美肥婆姓交大片| 国产午夜精品一区理论片| 正在播放一区二区| 日韩欧美亚洲视频| 国产精品久久久久久亚洲毛片| 国产精品一级无码| 三级影片在线观看欧美日韩一区二区| 91香蕉视频网址| 天堂成人娱乐在线视频免费播放网站 | 国产精品怡红院| 黄色一区二区在线| 午夜国产福利视频| caoporm超碰国产精品| 男女无套免费视频网站动漫| 欧美另类女人| 色阁综合av| 麻豆精品少妇| 91在线免费视频| 456成人影院在线观看| 欧美激情精品久久久久久黑人| 国产精品秘入口| 亚洲黄一区二区| 99精品免费观看| 欧美午夜一区二区三区| 粉嫩aⅴ一区二区三区| 日韩一区日韩二区| 欧美老女人性生活视频| 不卡的看片网站| 欧美性受xxxxxx黑人xyx性爽| 国产农村妇女精品一区二区| 影音先锋成人资源网站| 国产精品午夜一区二区三区| 国产另类自拍| 精品视频成人| 成人网在线免费观看| 日本免费久久| 91精品国产电影| 国产后进白嫩翘臀在线观看视频| 久久成人免费视频| 在线视频1区2区| 国产一区二区激情| 少妇激情av一区二区| 精品国产免费一区二区三区四区| 国产美女三级无套内谢| 欧美三级日韩在线| 亚洲午夜无码久久久久| 一本色道久久综合亚洲精品按摩| 国产精品第一页在线观看| 亚洲精品国产一区二区精华液| 91动漫免费网站| 亚洲国产精品t66y| 日韩一级av毛片| 久久久久久久久一| 亚洲一级中文字幕| 久久先锋资源网| 亚洲国产欧美视频| 97超碰欧美中文字幕| 污污污www精品国产网站| 粉嫩一区二区三区性色av| 日本成人在线免费| 丁香激情综合国产| 国模私拍在线观看| k8久久久一区二区三区| 亚洲av网址在线| 26uuu精品一区二区在线观看| aa一级黄色片| 久久久www成人免费无遮挡大片| 成人影视免费观看| 国产人妖乱国产精品人妖| 手机毛片在线观看| 国产精品久久久久影院色老大| 午夜激情视频在线播放| 亚洲色图制服丝袜| 日韩免费一二三区| 欧美日韩久久久久| 国产第一页在线观看| 欧美日韩久久久一区| 一区二区三区播放| 欧美成人aa大片| 视频一区二区在线播放| 国产午夜精品一区理论片飘花| av午夜在线| 久久高清视频免费| 国产极品在线观看| 国产精品第10页| 成人激情久久| 国产精品日韩一区二区三区| 色爱av综合网| 正在播放一区二区三区| 激情欧美一区| 无码少妇一区二区三区芒果| 久久99精品久久只有精品| 日韩精品国产一区| 久久久久久久一区| 免费在线观看一级片| 欧美日韩美女在线观看| 亚洲熟妇av乱码在线观看| 日韩欧美电影一区| 奇米影视888狠狠狠777不卡| 日韩在线精品视频| 交100部在线观看| 国产精品视频自拍| 嗯用力啊快一点好舒服小柔久久| 日本一区二区三不卡| 91精品推荐| 男人靠女人免费视频网站| 久久精品国产一区二区| 又黄又爽的网站| ...中文天堂在线一区| 中国一级免费毛片| 欧美老肥妇做.爰bbww| 污视频在线免费观看| 色yeye香蕉凹凸一区二区av| caoporn-草棚在线视频最| 国产精品精品视频| 91精品久久久久久综合五月天| 日韩欧美亚洲v片| 欧美女激情福利| 亚洲国产精品三区| 99视频一区二区| 九九热国产在线| 欧美视频三区在线播放| 搡老岳熟女国产熟妇| 美女视频黄免费的亚洲男人天堂| 成人私拍视频| 豆国产97在线| 先锋资源久久| 亚洲精品高清无码视频| 99v久久综合狠狠综合久久| av最新在线观看| 色婷婷综合久久久中文字幕| 亚洲免费成人在线| 久久久成人的性感天堂| 色综合一本到久久亚洲91| 国产精品一区二区三区在线| 欧美丰满日韩| 久久久久久三级| 91在线免费视频观看| 国产一国产二国产三| 91精品国产一区二区| eeuss影院在线播放| 青青草成人在线| 红杏视频成人| 日韩欧美猛交xxxxx无码| 国产一区二区三区四区五区入口| 国产传媒在线看| 欧洲中文字幕精品| 欧美婷婷久久五月精品三区| 97色在线视频| 亚洲视频国产| 日韩国产小视频| 国产a区久久久| 久久久久黄色片| 欧美本精品男人aⅴ天堂| 18加网站在线| 俄罗斯精品一区二区三区| 中国成人一区| 国产裸体视频网站| 亚洲午夜电影网| 亚洲欧美激情国产综合久久久| 久久影视电视剧免费网站| 宅男噜噜噜66国产精品免费| 日韩视频在线观看视频| 国产在线国偷精品产拍免费yy| 三级全黄做爰视频| 日韩一二三区不卡| 日韩精品亚洲人成在线观看| 99久久无色码| 亚洲另类自拍| 一级黄色录像毛片| 欧美日产国产精品| bt在线麻豆视频| 国产精品18毛片一区二区| 一本久道久久综合婷婷鲸鱼| 国产艳俗歌舞表演hd| 欧美性色xo影院| 成人av毛片| 成人精品在线视频| 激情欧美日韩一区| 亚洲自拍偷拍一区二区| 欧美色视频一区| 18视频在线观看| 久久大香伊蕉在人线观看热2| 久久亚洲风情| 91精品一区二区三区蜜桃| 精品剧情在线观看| 不卡一二三区| 日本一本草久p| 91美女在线观看| 亚洲一区在线观| 欧美日韩国产成人在线观看| 日韩精品亚洲aⅴ在线影院| 国产真人无码作爱视频免费| 《视频一区视频二区| 天堂在线观看视频| 国产精品欧美日韩| 韩日在线一区| 在线小视频你懂的| 精品少妇一区二区三区在线播放| 一区二区电影免费观看| av动漫免费观看| 91丨porny丨在线| 国产免费视频一区二区三区| 国产69精品久久久久9999| 成人免费在线观看av| 亚洲成a人片在线www| 色八戒一区二区三区| 嫩草在线视频| 久久精品中文字幕一区二区三区| 老司机免费视频一区二区三区| 国产午夜福利一区二区| 国产一区二区三区免费视频| 伊人久久噜噜噜躁狠狠躁| 另类小说第一页| 午夜私人影院久久久久| 日本中文字幕视频在线| 欧美日韩中文国产一区发布| 国产成人av一区二区三区在线| 91黑人精品一区二区三区| 午夜精品福利视频| 久久精品青草|