amazon-web-services - 使用 ansible playbook 将 AWS ec2 实例与弹性 ip 关联
问题描述
我创建了一个代码,它成功地将我的实例与 EIP 关联起来。但是,我的public_ip地址不变,即与弹性ip关联之前给vm的地址。这是代码,
---
- name: Provision an EC2 Instance
hosts: local
connection: local
gather_facts: False
tags: provisioning
vars:
instance_type: t2.micro
security_group: My secure group
image: ami-5b673c34
keypair: mynodes
region: ap-south-1
count: 1
tasks:
- name: Launch the new EC2 Instance
local_action: ec2
group={{ security_group }}
instance_type={{ instance_type}}
image={{ image }}
wait=true
region={{ region }}
keypair={{ keypair }}
count={{count}}
register: ec2
- name: Get the Ip address
debug: var=ec2.instances[0].public_dns_name
- name: Allocating elastic IP to instance
ec2_eip:
in_vpc: yes
reuse_existing_ip_allowed: yes
state: present
region: "{{ region }}"
device_id: "{{ item }}"
with_items: "{{ ec2.instance_ids }}"
#device_id: "{{ ec2.instances[0] }}"
#register: instance_eip
- debug: msg=ec2.instances[0].public_ip
- #name: eip with instance
#pause:
#seconds: 30
- name: Add the newly created EC2 instance(s) to the local host group
local_action: lineinfile
dest="/etc/ansible/hosts"
regexp={{ item.private_ip }}
insertafter="[node3]" line={{ item.private_ip }}
with_items: "{{ ec2.instances }}"
- name: Wait for SSH to come up
local_action: wait_for
host={{ item.public_ip }}
port=22
state=started
with_items: '{{ ec2.instances }}'
- name: Add tag to Instance(s)
local_action: ec2_tag resource={{ item.id }} region={{ region }} state=present
with_items: '{{ ec2.instances }}'
args:
tags:
Name: node3
因此,如果我不为其分配弹性 ip,我的代码当前运行良好。但是当我这样做时,我不知何故无法执行 ssh'ing 到我新创建的虚拟机的任务。
解决方案
推荐阅读
- heroku - 在终端中更改 Heroku 应用程序名称别名
- python - Kivy,在 __init__ 之后调用一个函数
- c# - 安装的 NuGet 抛出 System.IO.FileNotFoundException
- python - 通过服务帐户访问 Google Admin API
- json - 如何在 React JS 中获取 API?
- php - Nipper Studio XML 解析器
- r - 在 R 中的 mutate(across()) 中将 case_when 内的列与后续列联合的一般方法
- c# - 初始化 Blazor 组件时初始加载数据;页面更新时不要再次触发该查询
- java - 如果我可以直接在服务中处理唤醒锁,那么拥有 WakefulBroadcastReceiver 有什么意义?
- node.js - 在 nodejs 上使用 typescript (ts-node) 运行线程工作者