视频

了解更多
Redis Cloud 现已支持 Pulumi,这是一个基础架构即代码 (IaC) 平台,允许开发者使用熟悉的编程语言管理云资源。借助 Redis Cloud 和 Pulumi,您可以自动化创建和配置 Redis Cloud 资源,并确保跨环境的一致性。
Pulumi 是一个云原生 IaC 平台,允许开发者使用他们喜欢的编程语言定义和管理云资源,包括 Node.js、Python、Go、C# 和 YAML。Pulumi 提供了一种一致、可组合、可重用的资源管理方式,可以进行版本控制并与他人共享。
将 Pulumi 与 Redis 结合使用时,您可以自动化创建和配置 Redis Cloud 资源;这样做可以减少手动任务的时间,将更多时间花在构建应用程序上。Pulumi 还提供测试和验证工具,以确保基础架构的可靠性。您可以编写测试来验证 Redis Cloud 配置,并在错误导致生产问题之前捕获它们。
用于 Pulumi 的 Redis Cloud Provider 是通过 Terraform 构建的桥接 Provider。它提供与 Terraform Provider 相同的功能,但增加了使用 Pulumi 的额外优势。
想看看能实现什么?以下是一个循序渐进的演示,展示如何使用 Pulumi 创建您的第一个 Redis 资源。
设置 Pulumi 项目并为您的选择语言安装 Redis Cloud Provider 包;在本例中,是 Python。您可以通过创建新目录并运行以下命令来完成此操作
$ mkdir my-redis-project
$ cd my-redis-project
$ pulumi new rediscloud-python
在安装 Redis Cloud Provider 包时,系统会要求您提供已配置的信用卡详细信息和 Redis Cloud 凭据。
设置已完成!
这将创建一个具有基本文件结构的新 Pulumi 项目。
编写 Pulumi 代码。现在是编写 Pulumi 代码的时间了,用于在上一步中创建的 __main__.py 文件中创建和配置 Redis Cloud 订阅和数据库。
以下展示了 Python 代码可能的样子
import pulumi
import pulumi_rediscloud
config = pulumi.Config()
# The configured credit card details
card = pulumi_rediscloud.get_payment_method(
card_type=config.require("cardType"),
last_four_numbers=config.require("lastFourNumbers"),
)
# Creating a Redis Cloud subscription
subscription = pulumi_rediscloud.Subscription(
"my-subscription",
name="my-subscription",
payment_method="credit-card",
payment_method_id=card.id,
cloud_provider=pulumi_rediscloud.SubscriptionCloudProviderArgs(
regions=[
pulumi_rediscloud.SubscriptionCloudProviderRegionArgs(
region="us-east-1",
multiple_availability_zones=True,
networking_deployment_cidr="10.0.0.0/24",
preferred_availability_zones=["use1-az1", "use1-az2", "use1-az5"],
)
]
),
# The creation_plan block below allows the API server to create an optimized infrastructure for your databases in the cluster. The provider uses the attributes inside it to create initial databases. Those databases are deleted automatically after provisioning a new subscription. The creation_plan block can ONLY be used for provisioning new subscriptions. The block is ignored if you make any further changes or try to import a resource. The actual databases of the subscription are defined as separate resources (see pulumi_rediscloud.SubscriptionDatabase resource below).
creation_plan=pulumi_rediscloud.SubscriptionCreationPlanArgs(
memory_limit_in_gb=10,
quantity=1,
replication=True,
support_oss_cluster_api=False,
throughput_measurement_by="operations-per-second",
throughput_measurement_value=20000,
modules=["RedisJSON"],
),
)
# Creating a Redis Cloud database
database = pulumi_rediscloud.SubscriptionDatabase(
"my-db",
name="my-db",
subscription_id=subscription.id,
protocol="redis",
memory_limit_in_gb=10,
data_persistence="aof-every-1-second",
throughput_measurement_by="operations-per-second",
throughput_measurement_value=20000,
replication=True,
modules=[
pulumi_rediscloud.SubscriptionDatabaseModuleArgs(
name="RedisJSON",
)
],
)
# Export the private endpoint of the new database
endpoint = database.private_endpoint
此代码在 AWS us-east-1 中创建一个 Redis Cloud 灵活订阅,并在该订阅中创建一个具有 10GB 内存和 20,000 ops/sec 吞吐量的数据库。
部署基础架构。最后,您可以部署 Redis Cloud 基础架构。您可以通过运行以下命令来完成此操作
$ pulumi up
这将创建 Redis Cloud 资源,并将私有端点 URL 保存在名为 endpoint 的变量中,以便您可以在应用程序中使用它。
您现在可以使用 Pulumi 管理您的 Redis Cloud 资源。这意味着您可以添加和移除 Redis Cloud 资源,以及更新和删除我们刚刚创建的资源。
准备了解更多?以下是您可能的下一步行动。