dot 快速的未来即将在您所在的城市举办的活动中出现。

加入我们在 Redis 发布会上

使用 Pulumi 部署和管理 Redis 企业云

Redis 云现在已由 Pulumi 支持,Pulumi 是一款基础设施即代码 (IaC) 平台,允许开发人员使用熟悉的编程语言来管理云资源。借助 Redis 云和 Pulumi,您可以自动创建和配置 Redis 云资源,并确保跨环境的一致性。

Pulumi 是一个云原生 IaC 平台,它允许开发人员使用他们最喜欢的编程语言定义和管理云资源,包括 Node.jsPython、Go、C# 和 YAML。Pulumi 提供了一种一致、可组合和可重用的方法来管理资源,这些资源可以进行版本控制并与其他人共享。

当您将 Pulumi 与 Redis 一起使用时,您可以自动创建和配置 Redis 云 资源;这样做可以使您减少手动任务的时间,并将更多时间投入到构建应用程序中。Pulumi 还提供测试和验证工具,以确保基础设施的可靠性。您可以编写测试来验证 Redis 云配置,并在错误导致生产问题之前捕获错误。

Pulumi 的 Redis 云提供商是通过 桥接提供商 通过 Terraform 构建的。它提供了与 Terraform 提供商相同的功能,但还具有使用 Pulumi 的额外优势。

想看看有哪些可能性?以下是一个分步演练,展示如何使用 Pulumi 创建第一个 Redis 资源。

使用 Pulumi 管理 Redis 云提供商

在开始之前,请 安装 Pulumi 然后…

设置 Pulumi 项目并为所选语言安装 Redis 云提供商包;在本例中,它是 Python。您可以通过创建一个新目录并运行以下命令来做到这一点

$ mkdir my-redis-project
$ cd my-redis-project
$ pulumi new rediscloud-python

在安装 Redis 云提供商包的过程中,系统会提示您提供配置的信用卡详细信息和 Redis 云凭据。

The Redis Cloud API secrets are now stored in an encrypted Pulumi service. If your payment method is Marketplace, just edit the payment_method attribute in the code below.
Redis 云 API 密钥现在存储在 加密的 Pulumi 服务 中。如果您的付款方式是 Marketplace,只需编辑下面代码中的 payment_method 属性即可。

设置完成!

这将创建一个具有基本文件结构的新 Pulumi 项目。

编写 Pulumi 代码。现在是编写 Pulumi 代码来创建和配置 Redis 云订阅和数据库的时候了,这些代码位于在先前步骤中创建的 __main__.py 文件中。 

这展示了代码在 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 云灵活订阅,以及一个具有 10GB 内存和 20,000 ops/sec 吞吐量的数据库。

部署基础设施。最后,您可以部署 Redis 云基础设施。您可以通过运行以下命令来实现这一点

$ pulumi up

这将创建 Redis 云资源并将私有端点 URL 保存到名为 endpoint 的变量中,以便您可以在应用程序中使用它。

created resources with pulumi and redis.
资源已成功创建!

您现在可以使用 Pulumi 管理 Redis 云资源。这意味着您可以添加和删除 Redis 云资源,以及更新和删除我们刚刚创建的资源。

接下来是什么?

准备好学习更多?以下是一些您可能要采取的后续步骤。