小编yda*_*coR的帖子

是否有可能从Amazon Aurora迁移回Amazon RDS中的原生MySQL?

我看到亚马逊推出了从原生MySQL到Amazon Aurora MySQL的新Amazon Aurora MySQL 迁移.

是否可以使用Amazon RDS从Amazon Aurora迁移回常规MySQL?

mysql amazon-web-services amazon-rds amazon-aurora

10
推荐指数
1
解决办法
8445
查看次数

在ansible中部署时如何拉动

我正在使用Ansible进行配置管理,并使用以下任务来克隆Git 仓库:

# Example git checkout from Ansible Playbooks
- git: repo=git://foosball.example.org/path/to/repo.git
       dest=/srv/checkout
       version=release-0.22
Run Code Online (Sandbox Code Playgroud)

这将使用特定版本克隆repo.

git pull如果回购已经存在,它会在再次运行时执行吗?或者它只是一直克隆回购?git pull如果repo已经存在,如何在Ansible中执行a ,如果repo存在,我们如何运行特定命令,如果第一次克隆repo,我们如何运行?

git github ansible ansible-playbook

10
推荐指数
1
解决办法
1万
查看次数

Ansible为用户自动生成随机密码

我正在尝试创建将在其中创建用户列表的playbook.

但是,我还想为每个用户生成随机密码.生成密码后,我希望在playbook文件旁边有一个文本文件,其中包含用户名:new_generated_pa​​ssword键值.是否可以在不开发新模块的情况下完成此操作?

ansible ansible-playbook

10
推荐指数
1
解决办法
1万
查看次数

重命名而不是删除资源?

有没有办法在重新组织/重命名资源时避免资源删除?示例:当我第一次实现CloudFront Terraform时,它是我项目中的一个独立子目录,后来我切换到使用它作为我的根Terraform配置中的模块,但这导致Terraform想要删除旧的CloudFront分配并创建一个新的:

Terraform will perform the following actions:
    - aws_cloudfront_distribution.main_site_distribution
    + module.cloudfront.aws_cloudfront_distribution.main_site_distribution
Run Code Online (Sandbox Code Playgroud)

有没有办法强制Terraform重命名资源?

terraform terraform-provider-aws

9
推荐指数
1
解决办法
2824
查看次数

Terraform - 从参数存储中获取值并传递给资源

我们将最新批准的 AMI 存储在 AWS 参数存储中。使用 Terraform 创建新实例时,我想以编程方式获取此 AMI ID。我有一个命令来提取 AMI ID,但我不确定如何将它与 Terraform 一起使用。

这是我用来提取 AMI ID 的命令:

$(aws ssm get-parameter --name /path/to/ami --query 'Parameter.Value' --output text)
Run Code Online (Sandbox Code Playgroud)

这是我的 Terraform 脚本:

resource "aws_instance" "nginx" {
  ami           = "ami-c58c1dd3" # pull value from parameter store
  instance_type = "t2.micro"
  #key_name        = "${var.key_name}"

  provisioner "remote-exec" {
    inline = [
      "sudo yum install nginx -y",
      "sudo service nginx start"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

如何使用命令在 Terraform 脚本中提取 AMI ID?

amazon-web-services terraform terraform-provider-aws

9
推荐指数
1
解决办法
1万
查看次数

awsvpc:网络配置对此任务定义的给定网络模式无效

我的任务定义:

resource "aws_ecs_task_definition" "datadog" {
  family        = "${var.environment}-datadog-agent-task"
  task_role_arn = "arn:aws:iam::xxxxxxxx:role/datadog-role"

  container_definitions = <<EOF
[
  {
    "name": "${var.environment}-${var.datadog-identifier}",
    "network_mode" : "awsvpc",
    "image": "datadog/agent:latest",
    "portMappings": [
      {
...
Run Code Online (Sandbox Code Playgroud)

我的服务定义:

resource "aws_ecs_service" "datadog" {
  name            = "${var.environment}-${var.datadog-identifier}-datadog-ecs-service"
  cluster         = "${var.cluster}"
  task_definition = "${aws_ecs_task_definition.datadog.arn}"

  network_configuration {
    subnets = flatten(["${var.private_subnet_ids}"])
  }

  # This allows running one for every instance
  scheduling_strategy = "DAEMON"
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误 -

InvalidParameterException: Network Configuration is not valid for the given networkMode of this task definition
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么吗?查看 Terraform 文档和 GitHub 问题,这应该可行。它与将 …

amazon-web-services amazon-ecs terraform terraform-provider-aws

9
推荐指数
1
解决办法
1万
查看次数

将源文件的内容附加到目标文件

我需要扫描/etc/fstab文件以查找条目,如果不存在,则将其他文件的内容附加到/etc/fstab.

我见过的Ansible模块似乎不允许将文件附加到另一个文件而只是添加一个特定的"文本"行.

file ansible

8
推荐指数
2
解决办法
1万
查看次数

Ansible - 如何使用循环设置 var

我想创建一个复杂的变量(nginx_ssl_vhosts_list),并使用另一个简单变量(reverse_proxy_ssl)的循环,但我无法让它工作。是否可以有类似以下代码的内容,或者我应该使用自定义插件吗?

这是我认为它会如何工作的:

- hosts: localhost
  gather_facts: no
  connection: local
  vars:
    reverse_proxy_ssl:
      - name: foo.org
        frontport: 443
        fronturl : /
        backend: http://192.168.1.1:8080
      - name: bar.org
        frontport: 443
        fronturl : /
        backend: http://192.168.1.2:443
    nginx_ssl_vhosts_list:
      - listen: "{{ item.frontport }} ssl"
        server_name: "{{ item.name }}"
        access_log: "{{ item.name }}.access.log"
        error_log: "{{ item.name }}.error.log"
        extra_parameters: |
          location {{ item.fronturl }} {
            proxy_pass {{ item.backend }};
          }
          ssl_certificate     {{ item.name }}.crt;
          ssl_certificate_key {{ item.name }}.key;
      with_items: "{{ reverse_proxy_ssl }}"
  tasks:
    - debug: msg="{{ nginx_ssl_vhosts_list }}"
Run Code Online (Sandbox Code Playgroud)

ansible

8
推荐指数
1
解决办法
2万
查看次数

如何创建支持多个AWS区域的提供模块?

我们正在尝试为AWS中的以下活动创建Terraform模块,以便我们可以在需要的地方使用它们.

  1. VPC创建
  2. 子网创建
  3. 实例创建等

但是在创建这些模块时,我们必须在上面列出的所有模块中定义提供者.所以我们决定为提供者创建一个模块,以便我们可以在其他模块(VPC,Subnet等)中调用该提供者模块.

上述方法的问题在于它没有采用提供者值,并要求用户输入区域.

Terraform配置如下:

$ HOME /模块/供应商/ main.tf

provider "aws" {
  region = "${var.region}"
}
Run Code Online (Sandbox Code Playgroud)

$ HOME /模块/供应商/ variables.tf

variable "region" {}
Run Code Online (Sandbox Code Playgroud)

$ HOME /模块/ VPC/main.tf

module "provider" {
  source = "../../modules/providers"
  region = "${var.region}"
}

resource "aws_vpc" "vpc" {
  cidr_block = "${var.vpc_cidr}"
  tags = {
    "name" = "${var.environment}_McD_VPC"
  }
}
Run Code Online (Sandbox Code Playgroud)

$ HOME /模块/ VPC/variables.tf

variable "vpc_cidr" {}
variable "environment" {}
variable "region" {}
Run Code Online (Sandbox Code Playgroud)

$ HOME/main.tf

module "dev_vpc" {
  source = "modules/vpc"
  vpc_cidr = "${var.vpc_cidr}"
  environment = …
Run Code Online (Sandbox Code Playgroud)

terraform

8
推荐指数
1
解决办法
2157
查看次数

如何使用Terraform从GitHub Enterprise下载文件?

这是我的s3_policy.json

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"mybucket",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":[
        "arn:aws:s3:::${bucket_name}/*"
      ],
      "Condition": {
          "IpAddress": {
              "aws:SourceIp": [
              "10.xx.xxx.x",
              "172.168.xx.x",
              ........,
              .........,
              ..........,
              ...........,
              ]
          }
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我有一个共同的回购,我用它来做不同的项目.这个通用仓库有一个yaml格式的CIDR IP列表.

我想将它拉入我的Terraform项目,以便我可以重新使用相同的文件而不是硬编码IP地址.

我无法找到一种自动化方法,而不是在此repo中硬编码IP地址.

amazon-s3 terraform

8
推荐指数
1
解决办法
417
查看次数