1
タイトルが述べるように、インスタンスが同じAZを2回連続して選択しないようにしようとしています。私の現在の役割は、利用可能なipsに基づいて回転するように設定されています。それは正常に動作しますが、複数のサーバーを実行しても同じAZに移行します。私は同じAZを2回連続して選ぶことを防ぐ方法を見つける必要があります。AWSの複数インスタンス実行時にサブネット可用性ゾーンを回転させるための役割
これは私の全体的なサーバービルドヌル前のサブネットを設定するためのプレーを作成し
#gather vpc and subnet facts to determine where to build the server
- name: gather subnet facts
ec2_vpc_subnet_facts:
aws_access_key: "{{ aws_access_key }}"
aws_secret_key: "{{ aws_secret_key }}"
aws_region: "{{ aws_region }}"
register: ec2_subnets
- name: initialize build subnets
set_fact:
build_subnet: ""
free_ips: 0
previous_subnet_az: ""
- name: pick usable ec2_subnets
set_fact:
# Item.id is sets the current builds subnet Id
build_subnet: "{{ item.id }}"
free_ips: "{{ item.available_ip_address_count|int }}"
# Just for debugging and does not work
previous_subnet_az: " {{ item.availability_zone }}"
when: ("{{ item.available_ip_address_count|int }}" > free_ips) and ("ansible_subnet" in "{{ item.tags }}") and ("{{ previous_subnet_az|string }}" != "{{ item.availability_zone|string }}")
# Each subnet in the list
with_items: '{{ec2_subnets.subnets}}'
register: build_subnets
- debug: var=build_subnets var=build_subnet var=previous_subnet_az
var=selected_subnet
これを心配する必要がある理由についてもっと詳しく説明できますか?地域内でスピンアップできるEC2インスタンスの数には限界があります。これを設定しても、利用可能なIPを枯渇させる前にソフトキャップをうまく打つことができます(EC2インスタンスを実行していると仮定した場合) –
こんにちは@ChrisWhite、ipsの回転(各サブネットで利用可能なipsの数を行う)うまく動作します。課題は、前に選択したものを繰り返さないように、各インスタンスを別のAZに配置することです。 –
私はまだ、AZの要件について知りたいです。たとえば、インスタンス割り当てを処理する複数のAZにまたがる自動スケーリンググループが満たしていない要件はありますか? –