Wenn Sie eine EC2-Instanz über Ansible erstellen, wie geben Sie die Sicherheitsgruppe an (dies ist für eine Amazon VPC-Umgebung, die nicht die Standardeinstellung des Kontos ist)? In meinem Fall versuche ich, eine Sicherheitsgruppe (die derzeit existiert) meiner Webserver-EC2-Instanz zuzuweisen, die den Verkehr auf nur den Verkehr beschränkt, der von dem ELB kommt, der davor sitzt. Wenn ich versuche, die folgenden:Zuordnen von EC2 über Ansible
- name: Create webserver instance
ec2:
key_name: "{{ project_name }}-{{ env }}-key"
image: "{{ image }}"
instance_type: "{{ instance_type }}"
instance_tags: '{"Name":"{{ project_name }}-{{ env }}-{{ webserver_name }}","Owner":"{{ project_name }}", "Type":"{{ webserver_name }}","Environment":"{{ env }}"}'
region: "{{ aws_region }}"
group: "{{ security_group_name }}"
wait: true
register: ec2
where {{security_group_name}} ist die 'Gruppenname' in der AWS-Konsole gefunden, erhalte ich folgende Fehlermeldung: ‚Wert() für Parameter groupId ungültig ist. Der Wert darf nicht leer sein‘
Wenn ich versuche, die folgenden:
- name: Create webserver instance
ec2:
key_name: "{{ project_name }}-{{ env }}-key"
image: "{{ image }}"
instance_type: "{{ instance_type }}"
instance_tags: '{"Name":"{{ project_name }}-{{ env }}-{{ webserver_name }}","Owner":"{{ project_name }}", "Type":"{{ webserver_name }}","Environment":"{{ env }}"}'
region: "{{ aws_region }}"
group_id: "{{ security_group_id }}"
wait: true
register: ec2
where {{security_group_id}} das ist 'Gruppe Id' in der AWS-Konsole (wie sg-xxxxxx) gefunden, ich erhalten der gleiche Fehler. Die Ansible-Dokumentation besagt, dass "group" und "group_id" für die Spezifikation der Sicherheitsgruppe (http://docs.ansible.com/ansible/ec2_module.html) sind.
Das einzige, was ich denken kann, ist, dass AWS die Sicherheitsgruppe nicht finden kann, weil ich es erstelle und es die VPC nicht kennt, es zu platzieren, oder es in meiner Standard-VPC platziert und die Sicherheitsgruppe nicht finden kann wie es in einer anderen VPC ist.
Also, eine bessere Frage ist vielleicht, wie ich die VPC für eine bestimmte EC2-Instanz angeben (wenn ich mehrere VPCs in einer Region habe)?
Bitte stellen Sie sicher, dass 'region' Parameter und' AWS_REGION' oder 'EC2_REGION' Umgebungsvariablen korrekt sind. Wenn Sie eine Gruppe mit 'ec2_group' erstellen, prüfen Sie, ob Sie den richtigen Parameter' vpc_id' verwenden. –
Keine Gruppe erstellen, sondern eine ec2-Instanz. –
können Sie dieses GitHub Repo beziehen: https://github.com/arbabnazar/ansible-aws-roles für detaillierte Anweisungen –