在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

自動化運維工具Terraform和Ansible的區別

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2025-07-09 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

在現代云原生時代,基礎設施即代碼(Infrastructure as Code,IaC)已成為運維工程師的核心技能。面對復雜的多云環境和日益增長的基礎設施需求,傳統的手動配置方式已無法滿足快速、可靠、可重復的部署要求。本文將深入探討 Terraform 和 Ansible 這兩大運維利器的核心差異,明確它們在配置管理和資源編排領域的分工邊界,為運維工程師提供清晰的技術選型指導。

Terraform 基礎介紹

Terraform 是 HashiCorp 公司開發的一款開源基礎設施即代碼工具,采用聲明式語法,通過 HCL(HashiCorp Configuration Language)語言描述基礎設施資源。它的核心優勢在于跨云平臺的資源編排能力,支持 AWS、Azure、Google Cloud、阿里云等主流云服務商。

Terraform 的核心特性

1. 聲明式語法
Terraform 使用聲明式語法,用戶只需描述最終狀態,而非實現過程。這種方式使得基礎設施配置更加直觀和易于維護。

2. 狀態管理
Terraform 通過狀態文件(terraform.tfstate)追蹤基礎設施資源的當前狀態,確保實際環境與配置文件的一致性。

3. 計劃與應用
在實際部署前,Terraform 會生成執行計劃,展示將要進行的變更,提供了安全的變更預覽機制。

Ansible 與 Terraform 的分工邊界

技術定位差異

Terraform:資源編排專家

? 專注于基礎設施資源的創建、修改和刪除

? 管理云服務商的各種資源:虛擬機、網絡、存儲、數據庫等

? 維護資源間的依賴關系和生命周期

Ansible:配置管理專家

? 專注于服務器內部的配置管理

? 軟件安裝、配置文件管理、服務啟動等

? 應用程序部署和運行時配置

工作流程對比

典型的云基礎設施部署流程中,兩者的協作模式如下:

1.Terraform 階段:創建云資源(VPC、子網、安全組、EC2實例等)

2.Ansible 階段:配置服務器(安裝軟件、部署應用、配置服務等)

配置管理 vs 資源編排

資源編排(Infrastructure Orchestration)

資源編排關注的是基礎設施資源的生命周期管理,包括:

? 資源創建的順序和依賴關系

? 資源屬性的定義和修改

? 資源的銷毀和回收

? 跨云平臺的資源統一管理

配置管理(Configuration Management)

配置管理專注于系統內部的狀態管理,包括:

? 操作系統級別的配置

? 應用程序的安裝和配置

? 服務的啟動和運行狀態管理

? 配置文件的模板化和動態生成

實際應用案例

案例一:使用 Terraform 創建 AWS 基礎設施

# main.tf - AWS 基礎設施資源編排
# 定義 Terraform 提供商和版本要求
terraform {
 required_version = ">= 1.0"
 required_providers {
  aws = {
   source = "hashicorp/aws"
   version = "~> 5.0"
  }
 }
}

# 配置 AWS 提供商
provider "aws" {
 region = var.aws_region
}

# 定義變量
variable "aws_region" {
 description = "AWS 部署區域"
 type    = string
 default   = "us-west-2"
}

variable "environment" {
 description = "環境標識"
 type    = string
 default   = "production"
}

# 創建 VPC 網絡
resource "aws_vpc" "main" {
 cidr_block      = "10.0.0.0/16"
 enable_dns_hostnames = true
 enable_dns_support  = true

 tags = {
  Name    = "${var.environment}-vpc"
  Environment = var.environment
 }
}

# 創建公共子網
resource "aws_subnet" "public" {
 count       = 2
 vpc_id      = aws_vpc.main.id
 cidr_block    = "10.0.${count.index + 1}.0/24"
 availability_zone = data.aws_availability_zones.available.names[count.index]

 # 公共子網自動分配公網IP
 map_public_ip_on_launch = true

 tags = {
  Name = "${var.environment}-public-subnet-${count.index + 1}"
  Type = "public"
 }
}

# 創建私有子網
resource "aws_subnet" "private" {
 count       = 2
 vpc_id      = aws_vpc.main.id
 cidr_block    = "10.0.${count.index + 10}.0/24"
 availability_zone = data.aws_availability_zones.available.names[count.index]

 tags = {
  Name = "${var.environment}-private-subnet-${count.index + 1}"
  Type = "private"
 }
}

# 獲取可用區信息
data "aws_availability_zones" "available" {
 state = "available"
}

# 創建互聯網網關
resource "aws_internet_gateway" "main" {
 vpc_id = aws_vpc.main.id

 tags = {
  Name = "${var.environment}-igw"
 }
}

# 創建路由表
resource "aws_route_table" "public" {
 vpc_id = aws_vpc.main.id

 route {
  cidr_block = "0.0.0.0/0"
  gateway_id = aws_internet_gateway.main.id
 }

 tags = {
  Name = "${var.environment}-public-rt"
 }
}

# 關聯公共子網到路由表
resource "aws_route_table_association" "public" {
 count     = length(aws_subnet.public)
 subnet_id   = aws_subnet.public[count.index].id
 route_table_id = aws_route_table.public.id
}

# 創建安全組
resource "aws_security_group" "web" {
 name    = "${var.environment}-web-sg"
 description = "Web 服務器安全組"
 vpc_id   = aws_vpc.main.id

 # 允許 HTTP 入站流量
 ingress {
  from_port  = 80
  to_port   = 80
  protocol  = "tcp"
  cidr_blocks = ["0.0.0.0/0"]
 }

 # 允許 HTTPS 入站流量
 ingress {
  from_port  = 443
  to_port   = 443
  protocol  = "tcp"
  cidr_blocks = ["0.0.0.0/0"]
 }

 # 允許 SSH 入站流量
 ingress {
  from_port  = 22
  to_port   = 22
  protocol  = "tcp"
  cidr_blocks = ["0.0.0.0/0"]
 }

 # 允許所有出站流量
 egress {
  from_port  = 0
  to_port   = 0
  protocol  = "-1"
  cidr_blocks = ["0.0.0.0/0"]
 }

 tags = {
  Name = "${var.environment}-web-sg"
 }
}

# 創建密鑰對
resource "aws_key_pair" "main" {
 key_name  = "${var.environment}-key"
 public_key = file("~/.ssh/id_rsa.pub")
}

# 創建 EC2 實例
resource "aws_instance" "web" {
 count         = 2
 ami          = data.aws_ami.ubuntu.id
 instance_type     = "t3.micro"
 key_name       = aws_key_pair.main.key_name
 vpc_security_group_ids = [aws_security_group.web.id]
 subnet_id       = aws_subnet.public[count.index].id

 # 實例啟動時執行的腳本
 user_data = <<-EOF
? ? #!/bin/bash
? ? apt-get update
? ? apt-get install -y python3 python3-pip
? ? pip3 install ansible
? EOF

? tags = {
? ? Name = "${var.environment}-web-${count.index + 1}"
? ? Role = "web-server"
? }
}

# 獲取 Ubuntu AMI 信息
data "aws_ami" "ubuntu" {
? most_recent = true
? owners ? ? ?= ["099720109477"] # Canonical

? filter {
? ? name ? = "name"
? ? values = ["ubuntu/images/hvm-ssd/ubuntu-focal-20.04-amd64-server-*"]
? }

? filter {
? ? name ? = "virtualization-type"
? ? values = ["hvm"]
? }
}

# 輸出關鍵信息
output "vpc_id" {
? description = "VPC ID"
? value ? ? ? = aws_vpc.main.id
}

output "public_subnet_ids" {
? description = "公共子網 ID 列表"
? value ? ? ? = aws_subnet.public[*].id
}

output "web_server_ips" {
? description = "Web 服務器公網 IP"
? value ? ? ? = aws_instance.web[*].public_ip
}

案例二:使用 Ansible 進行服務器配置管理

# nginx-playbook.yml - Nginx 配置管理
---
-name:配置NginxWeb服務器
hosts:web_servers
become:yes
gather_facts:yes

vars:
 nginx_user:"www-data"
 nginx_worker_processes:"auto"
 nginx_worker_connections:1024
 nginx_keepalive_timeout:65
 nginx_server_name:"{{ ansible_default_ipv4.address }}"
 
tasks:
 # 更新軟件包緩存
 -name:更新apt軟件包緩存
  apt:
   update_cache:yes
   cache_valid_time:3600
  tags:[packages]

 # 安裝 Nginx
 -name:安裝Nginx
  apt:
   name:nginx
   state:present
  notify:restartnginx
  tags:[packages]

 # 創建網站目錄
 -name:創建網站根目錄
  file:
   path:/var/www/html
   state:directory
   owner:"{{ nginx_user }}"
   group:"{{ nginx_user }}"
   mode:'0755'
  tags:[directories]

 # 配置 Nginx 主配置文件
 -name:配置Nginx主配置文件
  template:
   src:nginx.conf.j2
   dest:/etc/nginx/nginx.conf
   owner:root
   group:root
   mode:'0644'
   backup:yes
  notify:reloadnginx
  tags:[config]

 # 配置虛擬主機
 -name:配置默認虛擬主機
  template:
   src:default.conf.j2
   dest:/etc/nginx/sites-available/default
   owner:root
   group:root
   mode:'0644'
   backup:yes
  notify:reloadnginx
  tags:[config]

 # 創建自定義網頁
 -name:創建自定義首頁
  template:
   src:index.html.j2
   dest:/var/www/html/index.html
   owner:"{{ nginx_user }}"
   group:"{{ nginx_user }}"
   mode:'0644'
  tags:[content]

 # 啟動并啟用 Nginx 服務
 -name:啟動并啟用Nginx服務
  systemd:
   name:nginx
   state:started
   enabled:yes
  tags:[service]

 # 配置防火墻規則
 -name:配置UFW防火墻規則
  ufw:
   rule:allow
   port:"{{ item }}"
   proto:tcp
  loop:
   -'80'
   -'443'
  tags:[firewall]

 # 安裝 SSL 證書工具
 -name:安裝Certbot
  apt:
   name:
    -certbot
    -python3-certbot-nginx
   state:present
  tags:[ssl]

handlers:
 # 重啟 Nginx 服務
 -name:restartnginx
  systemd:
   name:nginx
   state:restarted

 # 重新加載 Nginx 配置
 -name:reloadnginx
  systemd:
   name:nginx
   state:reloaded
{# templates/nginx.conf.j2 - Nginx 主配置模板 #}
# Nginx 主配置文件
# 由 Ansible 自動生成,請勿手動修改

user {{ nginx_user }};
worker_processes {{ nginx_worker_processes }};
pid /run/nginx.pid;

events {
  worker_connections {{ nginx_worker_connections }};
  use epoll;
  multi_accept on;
}

http {
  # 基礎設置
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout {{ nginx_keepalive_timeout }};
  types_hash_max_size 2048;
  server_tokens off;

  # MIME 類型
  include /etc/nginx/mime.types;
  default_type application/octet-stream;

  # 日志格式
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
          '$status $body_bytes_sent "$http_referer" '
          '"$http_user_agent" "$http_x_forwarded_for"';

  # 訪問日志
  access_log /var/log/nginx/access.log main;
  error_log /var/log/nginx/error.log;

  # Gzip 壓縮
  gzip on;
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_types
    text/plain
    text/css
    text/xml
    text/javascript
    application/json
    application/javascript
    application/xml+rss
    application/atom+xml
    image/svg+xml;

  # 包含虛擬主機配置
  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
}

案例三:集成 Terraform 和 Ansible 的自動化部署

# inventory/hosts.yml - 動態主機清單
---
all:
children:
 web_servers:
  hosts:
   # 這些IP將從 Terraform 輸出中動態獲取
   web-1:
    ansible_host:"{{ terraform_outputs.web_server_ips[0] }}"
   web-2:
    ansible_host:"{{ terraform_outputs.web_server_ips[1] }}"
  vars:
   ansible_user:ubuntu
   ansible_ssh_private_key_file:~/.ssh/id_rsa
   ansible_ssh_common_args:'-o StrictHostKeyChecking=no'
#!/bin/bash
# deploy.sh - 完整部署腳本
# 集成 Terraform 和 Ansible 的自動化部署流程

set-e

# 顏色定義
RED='?33[0;31m'
GREEN='?33[0;32m'
YELLOW='?33[1;33m'
NC='?33[0m'# No Color

# 日志函數
log_info() {
 echo-e"${GREEN}[INFO]${NC}$1"
}

log_warn() {
 echo-e"${YELLOW}[WARN]${NC}$1"
}

log_error() {
 echo-e"${RED}[ERROR]${NC}$1"
}

# 檢查依賴工具
check_dependencies() {
  log_info"檢查依賴工具..."
 
 if!command-v terraform &> /dev/null;then
    log_error"Terraform 未安裝"
   exit1
 fi
 
 if!command-v ansible &> /dev/null;then
    log_error"Ansible 未安裝"
   exit1
 fi
 
  log_info"依賴工具檢查完成"
}

# Terraform 部署
terraform_deploy() {
  log_info"開始 Terraform 基礎設施部署..."
 
 # 初始化 Terraform
  terraform init
 
 # 生成執行計劃
  terraform plan -out=tfplan
 
 # 應用配置
  terraform apply tfplan
 
 # 獲取輸出信息
  terraform output -json > terraform_outputs.json
 
  log_info"Terraform 部署完成"
}

# 等待實例就緒
wait_for_instances() {
  log_info"等待 EC2 實例就緒..."
 
 # 從 Terraform 輸出獲取 IP 地址
  IPS=$(terraform output -json | jq -r'.web_server_ips.value[]')
 
 foripin$IPS;do
    log_info"等待$ip就緒..."
   while! ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no ubuntu@$ip'echo "ready"'&>/dev/null;do
      log_warn"等待$ip響應..."
     sleep10
   done
    log_info"$ip已就緒"
 done
}

# Ansible 配置
ansible_configure() {
  log_info"開始 Ansible 配置管理..."
 
 # 生成動態主機清單
  python3 generate_inventory.py
 
 # 測試連接
  ansible all -i inventory/hosts.yml -m ping
 
 # 執行配置
  ansible-playbook -i inventory/hosts.yml nginx-playbook.yml
 
  log_info"Ansible 配置完成"
}

# 驗證部署
verify_deployment() {
  log_info"驗證部署結果..."
 
  IPS=$(terraform output -json | jq -r'.web_server_ips.value[]')
 
 foripin$IPS;do
    log_info"測試$ip的 Web 服務..."
   ifcurl -s -o /dev/null -w"%{http_code}"http://$ip| grep -q"200";then
      log_info"$ipWeb 服務正常"
   else
      log_error"$ipWeb 服務異常"
   fi
 done
}

# 主函數
main() {
  log_info"開始自動化部署流程..."
 
  check_dependencies
  terraform_deploy
  wait_for_instances
  ansible_configure
  verify_deployment
 
  log_info"部署完成!"
  log_info"訪問地址:"
  terraform output web_server_ips
}

# 清理資源
cleanup() {
  log_warn"清理 Terraform 資源..."
  terraform destroy -auto-approve
 rm-f terraform_outputs.json
 rm-f tfplan
  log_info"資源清理完成"
}

# 參數處理
case"${1:-deploy}"in
 "deploy")
    main
    ;;
 "cleanup")
    cleanup
    ;;
  *)
   echo"使用方法:$0[deploy|cleanup]"
   exit1
    ;;
esac

最佳實踐與建議

1. 技術選型原則

使用 Terraform 的場景:

? 需要創建和管理云資源

? 跨云平臺的資源編排

? 基礎設施版本控制和協作

? 資源依賴關系復雜的場景

使用 Ansible 的場景:

? 服務器配置管理

? 應用程序部署

? 運行時配置更新

? 批量運維操作

2. 協作模式

串行協作模式:先用 Terraform 創建基礎設施,再用 Ansible 配置服務器。這是最常見的模式,適用于大多數場景。

并行協作模式:在某些場景下,可以同時使用兩個工具管理不同層面的資源,但需要做好狀態同步。

3. 狀態管理

Terraform 狀態管理

? 使用遠程狀態存儲(如 S3、Azure Blob)

? 啟用狀態鎖定機制

? 定期備份狀態文件

Ansible 狀態管理

? 使用冪等性任務設計

? 合理使用 handlers 和 tags

? 建立回滾機制

4. 安全考慮

憑證管理

? 使用 IAM 角色而非硬編碼密鑰

? 利用 HashiCorp Vault 或 AWS Secrets Manager

? 實施最小權限原則

網絡安全

? 合理配置安全組規則

? 使用 VPN 或堡壘機訪問內網資源

? 啟用日志審計

總結

Terraform 和 Ansible 在現代運維體系中扮演著不同但互補的角色。Terraform 專注于基礎設施資源的聲明式編排,提供了強大的跨云平臺能力和狀態管理機制;Ansible 則專注于配置管理和應用部署,提供了靈活的任務執行和豐富的模塊生態。

理解兩者的分工邊界,合理地將資源編排和配置管理分離,能夠構建更加健壯、可維護的基礎設施自動化體系。在實際應用中,建議采用 Terraform 負責基礎設施層面的資源管理,Ansible 負責應用層面的配置管理,通過標準化的接口和流程實現兩者的無縫協作。

隨著云原生技術的發展,運維工程師需要不斷學習和實踐這些工具,構建適合自己組織需求的自動化運維體系。通過合理的技術選型和最佳實踐,能夠顯著提升運維效率,降低運維風險,為業務發展提供堅實的基礎設施保障。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3665

    瀏覽量

    43765
  • 代碼
    +關注

    關注

    30

    文章

    4898

    瀏覽量

    70583
  • Azure
    +關注

    關注

    1

    文章

    127

    瀏覽量

    13294
  • 云原生
    +關注

    關注

    0

    文章

    260

    瀏覽量

    8260

原文標題:一文搞定IaC核心技術棧:Terraform+Ansible讓運維效率提升300%

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    誠聘高級自動化工程師

    獵頭職位:高級自動化工程師【合肥】工作職責: 1、根據基礎架構管理需求,規劃設計
    發表于 12-12 10:37

    【深圳】誠聘開發工程師

    自動化平臺、負載均衡、調度系統開發經驗者優先;6. 理解HTTP/HTTPS、DNS、LDAP等常見服務原理;7. 熟悉Ansible自動化
    發表于 07-04 14:34

    ansible-first-book 自動化工具

    ansible-first-book 自動化工具
    發表于 09-08 09:31 ?5次下載

    配電自動化實用指標研究

    根據《配電自動化實用化驗收細則》中對配電自動化考核要求,重點圍繞終端在線率、遙信動作正確率、遙控使用率與遙控成功率四項指標進行考核。目前對配電
    發表于 03-05 14:55 ?0次下載

    厲害了!山東電力自動化平臺正式投

    日前,國網山東省電力集團公司通過了山東信息通信技術監督裝備及支撐工具開發實施項目的驗收,代表著
    發表于 04-30 11:18 ?4632次閱讀

    如何區分Puppet,Ansible,Saltstack的作用特點?

    目前主流的自動化工具有puppet、ansible、saltstack,實際上每一個工具都基
    的頭像 發表于 08-05 09:00 ?5139次閱讀

    Ansible企業級自動化探索的詳細資料說明

    本文檔的主要內容詳細介紹的是Ansible企業級自動化探索的詳細資料說明主要內容包括了:場景一:自動化
    發表于 06-03 08:00 ?2次下載
    <b class='flag-5'>Ansible</b>企業級<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>探索的詳細資料說明

    一文詳解Ansible自動化

    CMDB:CMDB 存儲和管理者企業IT架構中的各項配置信息,是構建 ITIL 項目的核心工具人員可以組合 CMDB 和 Ansible,通過 CMDB 直接下發指令調用
    的頭像 發表于 05-19 17:06 ?4754次閱讀
    一文詳解<b class='flag-5'>Ansible</b>的<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>

    城域網是什么,其生命周期和自動化應用有哪些特點

    Labs 摘? 要針對城域網自動化水平較低、人工成本高且無法擺脫重復勞動的現狀,本文探討了當前城域網
    的頭像 發表于 12-25 14:24 ?1419次閱讀

    使用Ansible的OpenStack自動化

    通過將 Ansible Tower 與 OpenStack 集成到 Cyber Range 軟件中,我們能夠構建一個應用程序,為全球客戶提供按需培訓和真實場景。將 Ansible REST API 與行動手冊集成,極大地利用了配置到更系統
    的頭像 發表于 12-21 14:12 ?1457次閱讀
    使用<b class='flag-5'>Ansible</b>的OpenStack<b class='flag-5'>自動化</b>

    什么是Ansible

    Ansible是一種自動化工具軟件,用來批量配置服務器或網絡設備(目標主機)。
    的頭像 發表于 02-15 14:06 ?1923次閱讀

    為什么需要用Ansible管理crontab呢?

    Ansible 是使用 Python 開發的自動化工具。它可以配置管理,部署軟件并編排更高級的任務,例如持續部署或零停機滾動升級。
    的頭像 發表于 08-17 09:53 ?812次閱讀

    利用Ansible批量100臺服務器添加Crontab

    今天浩道跟大家分享關于Ansible自動化相關硬核干貨,利用Ansible批量100臺服務器添加Crontab !
    的頭像 發表于 08-19 14:24 ?881次閱讀

    網絡設備自動化工具ansible入門筆記介紹

    Ansible是一款自動化工具,基于Python開發,集合了眾多運
    的頭像 發表于 01-15 13:46 ?2761次閱讀
    網絡設備<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b><b class='flag-5'>工具</b>—<b class='flag-5'>ansible</b>入門筆記介紹

    IT自動化工具Ansible基礎入門

    Ansible是幫助人員實現自動化的最重要的工具之一。
    的頭像 發表于 02-07 10:00 ?719次閱讀
    IT<b class='flag-5'>自動化工具</b><b class='flag-5'>Ansible</b>基礎入門
    主站蜘蛛池模板: 天天操天天艹 | 成人影院久久久久久影院 | 国内精品网站 | 亚洲国产第一区二区香蕉 | 中文字幕在线永久在线视频2020 | 色亚洲欧美 | xxxxxx日本人免费 | 最新天堂网 | 四虎永久在线精品免费观看地址 | 亚洲综合久久综合激情久久 | 久久青草视频 | 黄网在线观看 | 日本欧美色图 | 亚洲最大色网站 | 噜噜噜久久 | 国产无套视频在线观看香蕉 | 久久精品国产精品亚洲红杏 | wwwa级片| 日韩精品卡4卡5卡6卡7卡 | 黄网站色视频免费观看 | 国产最好的精华液网站 | 色老头成人免费综合视频 | 亚洲啊v| 成人精品亚洲人成在线 | 青青伊人91久久福利精品 | 精品一区二区在线观看 | 亚洲成人在线电影 | zzji国产精品视频 | 日日干日日爽 | 99精品国产高清自在线看超 | 亚洲 欧美 精品 | 国产伦精一区二区三区 | 乱人伦精品一区二区 | 国产成年网站v片在线观看 国产成人91青青草原精品 | 色综合综合色综合色综合 | 欧美成人精品一区二三区在线观看 | 在线精品国产成人综合第一页 | 亚洲久久在线 | 成人综合在线观看 | 亚洲 欧美 丝袜 制服 在线 | 手机看片1024欧美 |