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

如何使用Terratest測試基礎架構即代碼

譯文
開發(fā) 架構
本文簡要討論了什么是IaC以及測試基礎架構代碼的意義,然后深入探討了如何使用Terratest進行IaC測試。

譯者 | 布加迪

審校 | 孫淑娟

手動設置基礎架構是費時又費力的過程。這時候我們可以利用基礎架構即代碼(IaC)工具來自動管理基礎架構。IaC自動化可用于任何類型的基礎架構:虛擬機和存儲等。隨著越來越多的基礎架構變成代碼,有必要為IaC進行單元測試和集成測試。

本文簡要討論了什么是IaC以及測試基礎架構代碼的意義,然后深入探討了如何使用Terratest進行IaC測試。

一、基礎架構即代碼(IaC)

基礎架構即代碼是通過代碼配置和設置環(huán)境的過程,而不是通過GUI手動創(chuàng)建所需的基礎架構和支持系統(tǒng)。比如說,配置虛擬機、設置虛擬機并為其創(chuàng)建監(jiān)控機制。Terraform、Packer和Ansible就是典型的IaC。借助基礎架構即代碼,您還可以將基礎架構跟蹤到Git等版本控制系統(tǒng)中,進行模塊化和模板化,以便在多個環(huán)境和地區(qū)重用相同的代碼。災難恢復是從基礎架構即代碼獲得的重要好處之一。有了IaC,您可以盡快在其他地區(qū)或環(huán)境復制基礎架構。

二、測試基礎架構代碼

IaC測試可以分為多個階段:

1.健全性或靜態(tài)分析

2.單元測試

3.集成測試

  • 健全性或靜態(tài)分析?

這是測試基礎架構代碼的初始階段。在靜態(tài)分析中,我們確保代碼有正確的語法。它還有助于確保我們的代碼符合行業(yè)標準,并遵循最佳實踐。Linter屬于這一類。幾款典型的健全性測試工具包括面向Chef的foodcritic、面向Docker的hadolint和面向Terraform的tflint等。

  • 單元測試?

借助單元測試,我們不用實際配置基礎架構即可評估代碼。比如可以限制容器以便以非root用戶身份運行,或者云網絡安全組應該只有TCP協(xié)議。幾個典型的單元測試是面向Terraform的Conftest和面向Chef Cookbooks的Chefspecs。

以非root用戶身份執(zhí)行的Conftest例子:

package main

deny[msg] {

input.kind == "Deployment"

not input.spec.template.spec.securityContext.runAsNonRoot

msg := "Containers must not run as root"

}
  • 集成測試?

在集成測試中,我們希望通過將IaC實際部署到所需的環(huán)境中對其進行測試。比如說,您部署了一個虛擬機,并在該機器的端口80上托管Nginx服務器。因此,您將在部署之后檢查端口80是否在偵聽。

以下是使用ServerSpec執(zhí)行該操作的例子:

describe port(80) do

it { should be_listening }

end

我們在本文中介紹使用Terrratest對基礎架構代碼進行集成測試。

三、Terratest是什么?我們可以用它來做什么?

Terratest是由Gruntwork開發(fā)的Go庫,可幫助您為使用Terraform或Packer編寫的基礎架構即代碼創(chuàng)建和自動化測試。它為您提供了各種任務所需的函數(shù)和模式,比如:

測試Docker鏡像、Helm圖和Packer模板。

允許與各種云提供商API兼容,比如AWS和Azure。

Terratest為基礎架構代碼執(zhí)行健全性和功能測試。有了Terratest,您可以輕松識別當前基礎架構代碼中的問題并盡快解決問題。我們還可以利用Terratest對基礎架構進行合規(guī)測試,比如針對通過IaC創(chuàng)建的任何新S3存儲桶啟用版本控制和加密。

四、安裝Terratest所需的二進制文件

Terratest主要需要Terraform和Go來執(zhí)行。我們在這篇博文中使用了Terraform版本1.0.0 和Go版本1.17.6進行測試。

  • 安裝Terraform?

按照Terraform網站的下載部分(https://www.terraform.io/downloads)在您的計算機上安裝Terraform,您可以使用軟件包管理器或下載二進制文件,并使其在PATH中可用。

安裝后,通過運行以下命令驗證是否已正確安裝:

terraform version

Go & test依賴項安裝可以通過以下步驟來完成:

  • 安裝Go?

您可以使用Linux發(fā)行版的軟件包管理器來安裝Go,或者遵照Go的安裝文檔(https://go.dev/doc/install)。

  • Go測試需要gcc來執(zhí)行測試?

go test命令可能需要gcc,您可以使用發(fā)行版的軟件包管理器安裝它。比如在CentOS/Amazon Linux 2上,您可以使用yum install -y gcc。

五、Terratest實戰(zhàn)

現(xiàn)在,我們將使用Terratest執(zhí)行一些集成測試。安裝步驟完成后,克隆terratest-sample存儲庫,開始執(zhí)行Terratest。我們將先使用Go編寫測試并執(zhí)行測試。

重要的事先說:

1.您的測試文件名稱應包含_test,比如sample_test.go。這是Go查找測試文件的方式。

2.您的測試函數(shù)名稱應以Test開頭,其中T大寫。比如說,TestFunction沒有問題,但testFunction會給出錯誤“沒有要運行的測試”。

  • 設置AWS身份驗證配置?

我們需要AWS憑證在AWS中設置基礎架構,可以使用環(huán)境變量或共享憑證文件進行配置。

基礎架構的Terraform代碼可以在組件的相應文件夾中找到。若是ec2,它位于ec2_instance下,若是API網關,它位于api_gateway文件夾下。Terratest將Terraform的output.tf的輸出作為測試的輸入。下面這個代碼段用于測試我們是否在使用的ec2實例上有相同的ssh密鑰。

package terratest
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/gruntwork-io/terratest/modules/terraform"
)
func TestEc2SshKey(t *testing.T) {
terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{
TerraformDir: "../terraform",
})
defer terraform.Destroy(t, terraformOptions)
terraform.InitAndApply(t, terraformOptions)
ec2SshKey := terraform.Output(t, terraformOptions, "instance_ssh_key") assert.Equal(t, "terratest", ec2SshKey)
}

我們將把它分成不同的部分以便理解:第一步,我們定義一個名為Terratest的Go軟件包,然后我們導入測試執(zhí)行所需的不同軟件包。

package terratest
import (
"testing"
"github.com/stretchr/testify/assert" "github.com/gruntwork-io/terratest/modules/terraform"
)

一旦我們滿足了所有的先決條件,將創(chuàng)建一個函數(shù)來執(zhí)行實際測試:

func TestEc2SshKey(t *testing.T) {
terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{
TerraformDir: "../terraform",
})
defer terraform.Destroy(t, terraformOptions)
terraform.InitAndApply(t, terraformOptions)
ec2SshKey := terraform.Output(t, terraformOptions, "instance_ssh_key") assert.Equal(t, "terratest", ec2SshKey)
}

借助以下部分,我們定義了Terratest應該在其中查找Terraform清單文件(即main.tf和output.tf)的目錄,以便創(chuàng)建基礎架構。

terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{
TerraformDir: "../terraform",
})

在Go中,我們使用defer方法來執(zhí)行清理任務,它應該是terraform destroy。

我們使用下面的代碼片段來定義它:

defer terraform.Destroy(t, terraformOptions)

現(xiàn)在我們可以繼續(xù)實際執(zhí)行了:

使用terraform.InitAndApply ,我們調用通常用于Terraform執(zhí)行的Terraform函數(shù)terraform init和apply:

terraform.InitAndApply(t, terraformOptions)

如前所述,Terratest查找來自output.tf的輸出,尋找變量定義。

在下面的代碼片段中,我們從Terraform輸出中獲取ssh密鑰,并與已定義的ssh密鑰名稱進行匹配:

ec2SshKey := terraform.Output(t, terraformOptions, "instance_ssh_key") assert.Equal(t, "terratest", ec2SshKey)

六、執(zhí)行測試

將目錄切換到已克隆存儲庫的位置。進入到測試文件所在的位置。

初始化Go模塊,并下載依賴項。請查看Terratest文檔的“設置項目”部分以獲取更多詳細信息。

go mod init ec2_instance
go mod tidy

最后執(zhí)行測試:

$ go test –v

--- PASS: TestEc2SshKey (98.72s)
PASS
ok command-line-arguments 98.735s

七、不妨繼續(xù)使用Terratest

在上一節(jié)中,我們使用Terratest執(zhí)行了一些基本的測試。現(xiàn)在,我們將通過部署一個以Lambda和ALB作為后端的API網關來執(zhí)行高級測試。

  • 高級功能

API網關的GET請求將由ALB處理,任何方法將由Lambda通過API網關來處理。部署后,我們將對網關部署URL執(zhí)行HTTP GET請求,并檢查它是否返回成功碼。

注意:我們在執(zhí)行中沒有使用任何API_KEY進行身份驗證,但您應該使用它來再現(xiàn)API Gateway更實際的使用。

Terraform output.tf
output "lb_address" {
value = aws_lb.load-balancer.dns_name
description = "DNS of load balancer"
}
output "api_id" {
description = "REST API id"
value = aws_api_gateway_rest_api.api.id
}
output "deployment_invoke_url" {
description = "Deployment invoke url"
value = "${aws_api_gateway_stage.test.invoke_url}/resource"
}
  • 測試執(zhí)行的代碼片段

在第一個場景中,我們已經解釋了基本語法,因此將直接進入測試函數(shù)。

func TestApiGateway(t *testing.T) {
//awsRegion := "eu-west-2"
terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{
TerraformDir: "../",
})
defer terraform.Destroy(t, terraformOptions)
terraform.InitAndApply(t, terraformOptions)
stageUrl := terraform.Output(t, terraformOptions,"deployment_invoke_url") time.Sleep(30 * time.Second)
statusCode := DoGetRequest(t, stageUrl)
assert.Equal(t, 200 , statusCode)
}
func DoGetRequest(t terra_test.TestingT, api string) int{
resp, err := http.Get(api)
if err != nil {
log.Fatalln(err)
}
//We Read the response status on the line below.
return resp.StatusCode
}

在上面的代碼片段中,我們定義了函數(shù)DoGetRequest來運行HTTP GET測試。然后,我們將此函數(shù)的輸出用作TestApiGateway函數(shù)的輸入。

  • 測試執(zhí)行和輸出
TestApiGateway 2022-03-01T06:56:18Z logger.go:66: deployment_invoke_url = "https://iuabeqgmj2.execute-api.eu-west-1.amazonaws.com/test/resource" TestApiGateway 2022-03-01T06:56:18Z logger.go:66: lb_address = "my-demo-load-balancer-
376285754.eu-west-1.elb.amazonaws.com"
TestApiGateway 2022-03-01T06:56:18Z retry.go:91: terraform [output -no-color -json deployment_invoke_url]
TestApiGateway 2022-03-01T06:56:18Z logger.go:66: Running command terraform with args [output –
no-color -json deployment_invoke_url]
TestApiGateway 2022-03-01T06:56:19Z logger.go:66: "https://iuabeqgmj2.execute-api.eu-west-
1.amazonaws.com/test/resource"
--- PASS: TestApiGateway (42.34s)
PASS
ok command-line-arguments 42.347s

如您所見,它執(zhí)行了測試函數(shù)TestApiGateway,其中它對API網關的deployment_invoke_url執(zhí)行了TTP GET測試,并返回了測試狀態(tài)。

八、使用Terratest進行Terratest模塊的 可擴展性和合規(guī)測試

我們還可以利用Terratest進行合規(guī)測試。一些例子包括:

  • 檢查是否在您的SQS隊列或S3存儲桶上啟用了加密。
  • 驗證您是否為API網關設置了特定的限制。

我們?yōu)锳PI網關開發(fā)了Terratest檢查機制。在該例子中,我們驗證是否為您的API網關添加了Authorizer。

目前,Terratest在其AWS模塊中沒有API網關模塊。您可以在Terratest AWS模塊目錄中找到可用的AWS模塊。Docker、Packer或Helm等其他Terratest模塊可以在Terratest模塊目錄中找到。

我們使用Terratest和AWS Go SDK方法為Authorizer創(chuàng)建了自己的測試函數(shù)。

九、結語

企業(yè)及其客戶希望產品更快速地交付。基礎架構即代碼加快了基礎架構的配置,恰好滿足了這個要求。隨著越來越多的基礎架構變成代碼,用戶對測試的需求也在增加。我們在本文中討論了Terratest之類的工具如何幫助您在將代碼部署到生產環(huán)境之前對其進行驗證。我們介紹了Terratest的工作原理,甚至執(zhí)行了測試用例來表明它是如何完成的。Terratest的優(yōu)點之一是具有可擴展性,我們可以通過使用本文中提到的模塊實現(xiàn)這種可擴展性。

原文鏈接:https://www.cncf.io/blog/2022/07/18/testing-your-infrastructure-as-code-using-terratest/

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2021-06-15 21:00:24

架構測試代碼化

2023-02-19 15:31:09

架構軟件開發(fā)代碼

2020-04-17 19:41:57

基礎架構即代碼平臺即代碼云計算

2020-06-18 08:52:37

基礎架構即代碼

2016-04-14 09:12:20

惠普

2020-09-25 07:00:00

基礎架構代碼模板

2017-09-16 17:28:55

基礎設施代碼持續(xù)交付

2024-02-04 09:13:24

基礎設施代碼DevOps

2022-01-14 08:00:00

云計算云治理工具

2025-07-04 00:00:00

2016-08-30 10:39:44

云計算

2016-09-01 15:02:38

混合云多云基礎架構

2022-01-10 08:00:00

云原生云計算技術

2019-04-17 09:00:00

DevOps基礎架構代碼工具

2021-11-11 09:00:00

IaC工具自動化

2022-04-11 19:08:06

設施作用域pod

2016-08-18 16:55:00

基礎設施

2022-06-17 10:24:57

IaC

2017-12-04 12:49:16

跨國互聯(lián)網基礎設施即代碼

2021-06-18 11:02:12

云計算infrastruct云安全
點贊
收藏

51CTO技術棧公眾號

caoporn视频在线| 中文在线免费观看| 加勒比视频一区| 亚洲视频在线观看三级| 国产精品美女久久久久av福利| 欧美在线视频第一页| 视频二区欧美毛片免费观看| 疯狂欧美牲乱大交777| 久久av一区二区三区漫画| 精品国产午夜福利| 亚洲a级精品| 日本乱人伦一区| 色撸撸在线观看| 亚洲精品国产av| 青青草原综合久久大伊人精品优势| 色妞色视频一区二区三区四区| 日韩精品xxx| 欧美中文字幕精在线不卡| 亚洲国产成人一区二区三区| 91在线短视频| 五月婷婷开心网| 91精品啪在线观看国产18| 亚洲国产精品嫩草影院久久| 五月天婷婷激情视频| 999精品网| 国产精品久久久一本精品| 5566av亚洲| 中文字幕第99页| 亚洲国产一区二区三区高清| 色老头一区二区三区在线观看| 在线视频一二区| 日韩大尺度黄色| 亚洲一区二区三区视频在线播放 | 成人精品在线| 黑人巨大精品欧美一区二区免费| 日本一区高清不卡| 亚洲毛片欧洲毛片国产一品色| 石原莉奈一区二区三区在线观看| 欧美第一页在线| 911国产在线| 亚洲欧洲美洲国产香蕉| 精品日产卡一卡二卡麻豆| 五月天丁香花婷婷| 精品视频在线一区二区在线| 精品高清一区二区三区| 久久久久久久9| 麻豆传媒在线完整视频| 国产日韩欧美在线一区| 国产精品免费一区二区三区观看| 中文字幕在线观看视频一区| 欧美综合二区| 久久久久久久久91| 青青草国产在线观看| 999精品在线| 中文字幕亚洲在线| 大胸美女被爆操| 国产日产精品一区二区三区四区的观看方式| 精品欧美久久久| 欧美激情 亚洲| 99久久香蕉| 日韩欧美色电影| 91精品国产高清91久久久久久| 欧美视频精品| 欧美色综合久久| 欧美成人三级在线播放| 男女啪啪999亚洲精品| 在线一区二区三区四区五区| 国产第一页视频| 国偷自产一区二区免费视频| 欧美性生交xxxxx久久久| 国产97在线 | 亚洲| 一本大道色婷婷在线| 午夜精品免费在线| 岳毛多又紧做起爽| 黑人巨大亚洲一区二区久| 在线观看欧美精品| 色婷婷狠狠18| 国产精品国产亚洲精品| 日韩美女主播在线视频一区二区三区| 国产免费无码一区二区| 1204国产成人精品视频| 日韩成人在线视频观看| 成人影视免费观看| 欧洲杯半决赛直播| 日韩中文字幕国产| 黄色一级片在线| 影音先锋久久久| 欧美中文字幕在线播放| 中文字幕免费高清网站| 麻豆精品在线播放| 国产日韩欧美在线看| www夜片内射视频日韩精品成人| 国产精品1024| 久久久com| 91九色在线porn| 亚洲午夜在线观看视频在线| 国产91美女视频| 欧美黄页免费| 精品小视频在线| 农村老熟妇乱子伦视频| 欧美区一区二| 国产精品第三页| 性猛交xxxx乱大交孕妇印度| 91久色porny| 中文字幕日韩一区二区三区不卡| 超免费在线视频| 在线观看不卡视频| 婷婷五月精品中文字幕| 国语产色综合| 欧美韩国理论所午夜片917电影| 色婷婷在线视频观看| 天使萌一区二区三区免费观看| 国产乱肥老妇国产一区二| 性少妇videosexfreexxx片| 久久精品亚洲国产奇米99| 影音先锋成人资源网站| 性欧美freesex顶级少妇| 精品欧美乱码久久久久久1区2区| 精品人妻无码一区| 亚洲国产日本| 亚洲xxxx视频| 电影在线一区| 激情av一区二区| 极品白嫩少妇无套内谢| 国产一卡不卡| 91国语精品自产拍在线观看性色 | 国产精品jizz视频| 黄色在线免费网站| 在线观看视频一区| 日本黄色录像片| 伊人久久大香线蕉综合四虎小说| 欧美自拍视频在线观看| www.av网站| 国产精品成人网| 日本中文字幕片| 加勒比色老久久爱综合网| 插插插亚洲综合网| 中文字幕视频免费观看| 不卡的看片网站| 蜜臀av.com| 国语自产精品视频在线看抢先版结局| 亚洲精品永久免费精品| 久久精品人妻一区二区三区| 国产一区二区三区香蕉| 亚洲一区二区三区在线观看视频| 中文在线最新版地址| 亚洲国产精品系列| 久久久久久免费观看| 国产尤物一区二区在线| 一区二区三区一级片| 日韩经典一区| 尤物yw午夜国产精品视频| 无码日韩精品一区二区| 91色porny在线视频| 尤物av无码色av无码| 国产在线一区不卡| www.日韩视频| 一级特黄特色的免费大片视频| 国产精品成人一区二区三区夜夜夜 | 专区另类欧美日韩| 麻豆网站免费观看| 欧美精品99| 成人欧美一区二区三区视频xxx| 人人超在线公开视频| 日韩欧美一区二区在线视频| www深夜成人a√在线| 国产精品香蕉一区二区三区| 水蜜桃在线免费观看| 日韩精品中文字幕一区二区 | 久草在线资源福利站| 亚洲久久久久久久久久久| 中文在线第一页| 国产亚洲欧洲997久久综合| 女人喷潮完整视频| 精品国产一区一区二区三亚瑟| 国产精品扒开腿做爽爽爽视频| 欧美zzoo| 欧美日韩亚洲丝袜制服| 欧美一区免费观看| 国内精品国产成人| 欧美又粗又长又爽做受| 青青一区二区| 欧美一级淫片播放口| 久青草国产在线| 欧美精品v国产精品v日韩精品| 国产少妇在线观看| 91在线国产福利| 色国产在线视频| 欧美另类女人| 国产视频精品网| 欧美人体一区二区三区| 亚洲人成在线观看网站高清| 国产女18毛片多18精品| 亚洲国产中文字幕| 波多野结衣先锋影音| 蜜臀久久99精品久久久久宅男| 艳母动漫在线免费观看| 哺乳挤奶一区二区三区免费看| 国产精品爱啪在线线免费观看| 成人日批视频| 精品卡一卡二卡三卡四在线| 天堂а√在线中文在线新版| 欧美激情一二三区| 亚洲天堂国产视频| 欧美亚洲一级| 青青在线免费视频| 欧美极品在线观看| 2014国产精品| 小黄鸭精品aⅴ导航网站入口| 欧美日韩福利在线观看| 你懂的视频在线播放| 日韩一级精品视频在线观看| 中文区中文字幕免费看| 亚洲高清免费在线| 影音先锋男人资源在线观看| 26uuu色噜噜精品一区二区| 精品久久久99| 亚洲一区国产一区| 国产资源在线免费观看| 色综合久久网| 久久久久久亚洲精品不卡4k岛国| 日韩三级不卡| 国产精品一区久久| 麻豆视频在线看| 欧美激情中文网| 男人天堂久久久| 日韩精品在线观| 黄色小视频免费观看| 欧美日韩激情一区二区| 成人黄色免费网| 丰满岳妇乱一区二区三区| 九九视频在线观看| 亚洲精品videosex极品| 日本黄区免费视频观看| 国产午夜精品久久| aaaaa级少妇高潮大片免费看| 国产成+人+日韩+欧美+亚洲| 国产高清999| 免费不卡在线观看| 精品视频无码一区二区三区| 国产亚洲综合精品| 精品国产av无码一区二区三区| 日韩一区亚洲二区| 亚洲欧美综合一区| 国产亚洲欧美日韩在线观看一区二区 | 青青青草视频在线| 久久精品国产电影| 黄色av免费在线| 色偷偷亚洲男人天堂| 暖暖视频在线免费观看| 亚洲欧洲高清在线| 韩国免费在线视频| 亚洲乱码av中文一区二区| 视频二区在线| 日韩激情在线视频| 日韩在线免费看| 亚洲欧美国产另类| 日漫免费在线观看网站| 亚洲欧美日韩第一区| 精品999视频| 亚洲偷熟乱区亚洲香蕉av| 免费福利在线观看| 色悠悠国产精品| 在线免费av电影| 中文字幕视频在线免费欧美日韩综合在线看 | 欧美日韩精品综合在线| 一级片一区二区三区| 在线成人午夜影院| 亚洲欧美激情在线观看| 精品成人免费观看| 国产成人麻豆精品午夜在线| 欧美videofree性高清杂交| 成人h动漫精品一区二区无码 | 久久精品一区二区三区不卡 | 色av吧综合网| 91蜜桃在线视频| 久久久久久久网站| 波多一区二区| 国产精品88a∨| a日韩av网址| 欧美在线视频免费观看| 日韩三级影视| 国产精品自产拍在线观| 久久久一本精品| 亚洲xxxxx性| www.神马久久| 亚洲欧洲精品一区二区三区波多野1战4 | a天堂中文在线官网在线| 欧美成人精品一区二区| 手机在线观看av网站| 国产精品高潮呻吟久久av无限| 91综合国产| 国产欧美日韩亚洲| 精品视频日韩| 99er在线视频| 日本 国产 欧美色综合| 韩国三级丰满少妇高潮| 91亚洲大成网污www| 中文乱码字幕高清一区二区| 亚洲18色成人| 夜夜爽8888| 日韩精品中文字幕视频在线| 91短视频版在线观看www免费| 日韩视频精品在线| 9i看片成人免费高清| 成人在线国产精品| 美国成人xxx| 伊人久久在线观看| 老司机免费视频久久| 欧美特黄aaa| 91视频观看视频| 亚洲欧美小视频| 欧美亚洲动漫制服丝袜| 99久久久无码国产精品免费| 亚洲精品视频中文字幕| av免费在线免费| 国产精品美女在线| 红杏aⅴ成人免费视频| 在线观看一区欧美| 久久精品九九| 国产日韩视频一区| 亚洲天堂成人在线观看| 天天射天天干天天| 欧美精品一区二区三区蜜桃视频| avtt亚洲| 国产成人一区二区三区| 成人资源在线播放| 一区二区欧美日韩| 强制捆绑调教一区二区| 亚洲黄色免费在线观看| 一区二区在线观看av| 在线观看不卡的av| 亚洲欧美一区二区精品久久久| 国产三级在线观看| 国产精品99久久久久久久久 | 国产三区二区一区久久| 亚洲综合激情在线| 91精品999| 中文乱码免费一区二区| 日本免费在线观看视频| 国产午夜精品麻豆| 国产高清自产拍av在线| 2022国产精品| 激情综合激情| 久久国产免费视频| 亚洲美女一区二区三区| 超碰在线人人干| 欧美日产国产成人免费图片| 色是在线视频| 久久精品五月婷婷| 国产精品综合| 无码国产69精品久久久久同性| 精品国产福利视频| 天堂国产一区二区三区| 2020久久国产精品| 欧美网色网址| 高清在线观看免费| 国产午夜精品久久| 做爰无遮挡三级| 亚洲精品小视频| 日韩制服一区| 亚洲 日韩 国产第一区| 久久久久久9| 9.1片黄在线观看| 欧美三级乱人伦电影| 日本在线www| 91久久国产精品91久久性色| 91精品国产视频| 中国黄色片视频| 欧美午夜片在线免费观看| 十九岁完整版在线观看好看云免费| 日韩av片免费在线观看| japanese国产精品| www.久久久精品| 一级特黄大欧美久久久| 视频一区 中文字幕| 欧美亚洲日本网站| 日本久久一二三四| 美女被艹视频网站| 亚洲成av人片一区二区三区| 久青草国产在线| 国产在线精品播放| 欧美激情五月| 受虐m奴xxx在线观看| 欧美群妇大交群中文字幕| 秋霞影院午夜丰满少妇在线视频| 国产高清一区二区三区| 亚洲日本黄色| 熟女俱乐部一区二区| 在线成人小视频| hd国产人妖ts另类视频| 日本午夜精品电影| 国产ts人妖一区二区| 超碰在线观看91| 久久久久在线观看| 色88久久久久高潮综合影院| 亚洲av无码一区二区三区观看| 欧美日韩一区不卡| 华人av在线| 看一级黄色录像|