赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. Serverless应用引擎(新版)
  4. 开发参考
  5. Terraform
  6. Terraform概述

Terraform概述

  • Terraform
  • 发布于 2025-04-17
  • 0 次阅读
文档编辑
文档编辑

Terraform是一个基础设施即代码(Infrastructure as Code)工具,用于安全高效地预览、配置和管理云基础架构和资源。Serverless 应用引擎 SAE(Serverless App Engine)支持Terraform,使操作SAE的资源更加安全,对接CI/CD和GitOps更加简单。

什么是Terraform

基本功能

Terraform是IT基础架构自动化编排工具,可以用代码来管理维护IT资源。更多信息,请参见什么是Terraform。

  • Terraform的命令行接口CLI(Command Line Interface)提供一种简单机制,用于将配置文件部署到阿里云或其他任意支持的云上,并对其进行版本控制。它编写了描述云资源拓扑的配置文件中的基础结构,例如虚拟机、存储账户和网络接口。

  • Terraform通过Provider支持新的基础架构,让您在阿里云上能够轻松使用简单模板语言来定义、预览和部署云基础结构。

  • Terraform可以创建、修改和删除多种阿里云产品的相关资源,例如ECS、VPC、RDS和SLB等。

关于阿里云与Terraform集成的更多信息,请参见Alibaba Cloud Provider。

应用场景

Terraform可以对基础设施进行编码,利用代码来进行资源的增删查改。关于Terraform管理阿里云产品的示例应用场景,请参见应用场景。

使用优势

从宏观角度而言,Terraform优势如下:

  • 基础设施即代码:通过Terraform,可以将基础设施的定义和配置存储为代码,这样可以进行版本控制、团队协作和复用,减少了手动操作和错误的同时,提高了效率。

  • 可靠性和稳定性:阿里云技术团队提供了场景级自动化用例测试保障、自动对接平台化等内部保障能力。让用户使用过程中平稳、顺滑、可靠。

  • 丰富的资源支持:阿里云坚持面向资源化理念提供服务,在Terraform资源定义标准化、支持度和支持效率方面持续投入。为用户提供“开箱即用”的使用体验。

  • 声明式语言:Terraform使用HCL(HashiCorp Configuration Language)作为配置语言,它是一种声明式的语言,通过描述期望的状态,而不是编写详细的步骤,使得代码更易于理解和维护。

  • 可扩展性:Terraform提供了丰富的资源和提供者插件,可以满足不同的需求,并且用户也可以自定义和扩展插件来支持特定的基础设施。

  • 与其他工具的集成:Terraform可以与其他工具(如Ansible、Jenkins、Gitlab等)集成,实现更复杂的自动化工作流程,如自动化测试、持续集成和持续部署等。

从落实到SAE的微观角度而言,Terraform优势如下:

  • 提供声明式基础架构即代码IaC(Infrastructure as Code)

    • 以应用为中心,支持应用部署、扩缩容、升降配、启停、SLB绑定等。

    • 编写容易上手,无需理解API。

    • 被各种流行的CI/CD流水线所集成,提升SAE应用交付的自动化程度。

  • 拥抱Terraform生态

    • LiveDiff能力,操作SAE资源更加安全。

    • 面向终态能力,防止配置漂移。

    • 资源编排能力,一键式部署SAE以及依赖云资源,大幅提高建站效率。

资源分类

  • Resources

    资源,表示新创建的资源。更多信息,请参见Resources。

    以创建一个SAE应用为例,示例代码如下:

    resource "alicloud_sae_application" "default" {
      app_description = "tf-testaccDescription"
      app_name        = "tf-testaccAppName"
      namespace_id    = alicloud_sae_namespace.default.id
      image_url       = "registry-vpc.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5"
      package_type    = "Image"
      vswitch_id      = alicloud_vswitch.vsw.id
      timezone        = "Asia/Beijing"
      replicas        = "5"
      cpu             = "500"
      memory          = "2048"
    }
  • Data Sources

    数据资源,查询已有的资源信息并获取其属性。更多信息,请参见Data Sources。

    以列出SAE命名空间为例,示例代码如下:

    data "alicloud_sae_namespaces" "nameRegex" {
      name_regex = "^my-Namespace"
    }
    output "sae_namespace_id" {
      value = data.alicloud_sae_namespaces.nameRegex.namespaces.0.id
    }

关于SAE示例的更多信息,请参见通过Terraform管理SAE资源。

通过Terraform管理SAE资源

SAE支持通过Terraform管理以下资源。

表 1. Resources

资源类型

说明

alicloud_sae_namespace

提供SAE命名空间资源。具体操作,请参见使用Terraform管理SAE命名空间。

alicloud_sae_application

提供SAE应用资源。具体操作,请参见使用Terraform管理SAE应用。

alicloud_sae_application_scaling_rule

提供SAE弹性伸缩资源。具体操作,请参见使用Terraform实现SAE应用自动弹性。

alicloud_sae_config_map

提供SAE ConfigMap资源。

alicloud_sae_grey_tag_route

提供SAE灰度规则资源。

alicloud_sae_ingress

提供SAE Ingress资源。

alicloud_sae_load_balancer_internet

提供SAE公网负载均衡资源。具体操作,请参见使用Terraform为SAE应用绑定SLB。

alicloud_sae_load_balancer_intranet

提供SAE私网负载均衡资源。

表 2. Data Sources

资源类型

说明

alicloud_sae_service

开通SAE。

alicloud_sae_namespaces

列举SAE命名空间。

alicloud_sae_applications

列举SAE应用。

alicloud_sae_application_scaling_rules

列举SAE弹性伸缩策略。

alicloud_sae_config_maps

列举SAE ConfigMaps。

alicloud_sae_grey_tag_routes

列举SAE灰度规则。

alicloud_sae_ingresses

列举SAE Ingresses。

alicloud_sae_instance_specifications

列举SAE实例规格。

相关文章

Terraform概述 2025-04-17 10:57

Terraform是一个基础设施即代码(Infrastructure as Code)工具,用于安全高效地预览、配置和管理云基础架构和资源。Serverless 应用引擎 SAE(Serverless App Engine)支持Terraform,使操作SAE的资源更加安全,对接CI/CD和GitO

使用Terraform管理SAE命名空间 2025-04-17 10:57

Serverless 应用引擎 SAE(Serverless App Engine)的命名空间可以将您的应用从逻辑上进行划分,例如测试环境、开发环境、预发环境和线上环境等。本文介绍如何通过Terraform创建、更新和删除SAE命名空间。

使用Terraform管理SAE应用 2025-04-17 10:57

Serverless 应用引擎 SAE(Serverless App Engine)是面向应用的Serverless PaaS平台,向上抽象了应用的概念。将应用部署至SAE后,您无需管理和维护集群与服务器,可以专注于设计和构建应用程序,将其部署在SAE。除通过控制台、API、插件、CI/CD部署外,

使用Terraform为SAE应用绑定SLB 2025-04-17 10:57

在Serverless 应用引擎 SAE(Serverless App Engine)上部署应用后,可以通过添加公网SLB(Server Load Balancer,负载均衡)实现公网访问,也可以添加私网SLB实现同VPC内所有应用间互相访问。本文介绍如何通过Terraform为SAE应用绑定和解绑

使用Terraform实现SAE应用自动弹性 2025-04-17 10:57

在分布式应用管理中,弹性伸缩是很重要的运维能力,它能够根据实例状态自动增加或减少实例数量,即扩容或缩容,从而提高资源利用率、降低资源成本。本文介绍如何通过Terraform为SAE应用启停弹性策略。 背景信息

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号