小编Tra*_*ome的帖子

Terraform:将静态私有IP正确分配给新创建的实例

目的:

我正在尝试创建许多EC2实例,并为它们分配一个来自映射变量的静态专用ip地址。该地址必须是主地址,基本上意味着我没有使用aws提供的DHCP分配的地址。

问题:

terraform计划成功,并且我可以创建实例,这些实例显示分配的静态IP地址以及 DHCP分配的地址(在aws控制台中)。SSH进入实例时,我看到主地址是DHCP分配的地址。有附加到实例(ETH1)第二ENI但静态IP地址是不存在。

问题:

如何让terraform使用主要接口的静态分配的IP地址(eth0)而不是默认分配的DHCP地址来创建实例?基本上,我怎么能之一:

a)在实例创建时使用静态分配的接口创建此接口,或b)用静态的IP地址替换现有的主接口IP地址(或用具有静态IP地址的新创建的IP地址替换整个ENI本身)

详细信息如下:

我在单独的main.tf文件中使用以下模块:

一)创建实例

module "ec2-hadoop-manager" {
  source                      = "../modules/ec2"
  ami_id                      = "${var.dw_manager["ami"]}"
  instance_type               = "${var.dw_manager["instance_type"]}"
  aws_region                  = "${var.region}"
  availability_zone           = "eu-west-1a"
  associate_public_ip_address = true
  role                        = "hadoop-manager"
  env                         = "${var.environment}"
  vpc                         = "${var.vpc_id}"
  security_group_ids          = "${var.aws_security_group_id["sg_id"]}"
  key_name                    = "${var.key_name}"
  subnet_id           = "${var.default_subnet}"
  number_of_instances = "${var.dw_manager["count"]}"
}
Run Code Online (Sandbox Code Playgroud)

B)我使用的资源(外main.tf模块集团)分配私有地址的实例:

resource "aws_network_interface" "private_ip" {
    count = "${var.dw_manager["count"]}"
    subnet_id = "${var.default_subnet}"
    private_ips = ["${lookup(var.dw_manager_ips, count.index)}"]
    security_groups = "${var.aws_security_group_id["sg_id"]}"
    attachment {
        instance = "${element(split(",", module.ec2-hadoop-manager.ec2_instance_ip), count.index)}" …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services terraform

5
推荐指数
1
解决办法
4541
查看次数

使用脚本对 Google 容器服务进行身份验证:非交互式 gcloud auth 登录?

我正在创建一个 jenkins 作业来将容器部署到 GKE,并且此脚本的一部分要求我通过以下方式对容器服务进行身份验证:

“gcloud 身份验证登录”

但是,这是一个交互式操作,需要我在浏览器中获取令牌:

 gcloud auth login
 Go to the following link in your browser:
Run Code Online (Sandbox Code Playgroud)

(詹金斯显然不能做到,或者至少不容易)

有没有办法自动化这一步?

jenkins gcloud

5
推荐指数
1
解决办法
1530
查看次数

使用boto通过AWS SNS发送SMS的示例脚本

如何使用boto(或其他python | perl库)通过AWS SNS将短信直接发送到手机号码?

约束:

  • 不使用AWS Lambda函数
  • 不使用SNS主题直接订阅手机号码

我的使用案例:使用AWS SNS使用AWS SMS作为端点协议从Nagios发送SMS警报.

python perl sms amazon-sns boto3

4
推荐指数
1
解决办法
6902
查看次数

错误:注册跑步者...失败的跑步者= 38BUk9-k状态= 404未找到

我正在尝试在gitlab的新安装上注册一个gitlab运行器(基于Centos7的omnibus rpm),但注册失败如下:

[root@ec2-x.y.z.w ~]# 
[root@ec2-x.y.z.w ~]# sudo gitlab-ci-multi-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://ec2-x-y-z-w.compute-1.amazonaws.com/ 
Please enter the gitlab-ci token for this runner:
38BUk9-kgZkmmPHz-hsb
Please enter the gitlab-ci description for this runner:
[ec2-x-y-z-w.compute-1.amazonaws.com]: dcos runner 1
Please enter the gitlab-ci tags for this runner (comma separated):
dcos
Whether to run untagged builds [true/false]:
[false]: 
ERROR: Registering runner... failed runner=38BUk9-k status=404 Not         Found
PANIC: Failed to register this runner. Perhaps you are having network     problems …
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci gitlab-ci-runner gitlab-omnibus

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