mirror of
				https://github.com/Telecominfraproject/wlan-toolsmith.git
				synced 2025-11-03 20:38:07 +00:00 
			
		
		
		
	cloudsdk instances (#18)
Co-authored-by: Eugene Taranov <eugene@taranov.me>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							a5e42b2e72
						
					
				
				
					commit
					a339b51ed1
				
			
							
								
								
									
										168
									
								
								terraform/wifi-289708231103/wlan_main/instance_cloudsdk.tf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								terraform/wifi-289708231103/wlan_main/instance_cloudsdk.tf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,168 @@
 | 
				
			|||||||
 | 
					// cloudsdk master node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_instance" "cloudsdk_master" {
 | 
				
			||||||
 | 
					  ami                    = "ami-0dae03f46a37a171c"
 | 
				
			||||||
 | 
					  instance_type          = "c5.xlarge"
 | 
				
			||||||
 | 
					  subnet_id              = module.vpc_main.public_subnets[1]
 | 
				
			||||||
 | 
					  vpc_security_group_ids = [aws_security_group.wlan_cloudsdk_master.id]
 | 
				
			||||||
 | 
					  key_name               = aws_key_pair.wlan.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  root_block_device {
 | 
				
			||||||
 | 
					    delete_on_termination = true
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tags = {
 | 
				
			||||||
 | 
					    "Name" : "${var.org}-${var.project}-${var.env}-cloudsdk-master"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//resource "aws_eip" "cloudsdk_master" {
 | 
				
			||||||
 | 
					//  vpc      = true
 | 
				
			||||||
 | 
					//  instance = aws_instance.cloudsdk_master.id
 | 
				
			||||||
 | 
					//}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					locals {
 | 
				
			||||||
 | 
					  cloudsdk_node_ami = ["ami-0c74f826d8e172088", "ami-0461d920b4a8131d0"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// cloudsdk nodes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_instance" "cloudsdk_node" {
 | 
				
			||||||
 | 
					  for_each               = toset(local.cloudsdk_node_ami)
 | 
				
			||||||
 | 
					  ami                    = each.key
 | 
				
			||||||
 | 
					  instance_type          = "t3.xlarge"
 | 
				
			||||||
 | 
					  subnet_id              = module.vpc_main.public_subnets[1]
 | 
				
			||||||
 | 
					  vpc_security_group_ids = [aws_security_group.wlan_cloudsdk_node.id]
 | 
				
			||||||
 | 
					  key_name               = aws_key_pair.wlan.id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  root_block_device {
 | 
				
			||||||
 | 
					    delete_on_termination = true
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  tags = {
 | 
				
			||||||
 | 
					    "Name" : "${var.org}-${var.project}-${var.env}-cloudsdk-node-${index(local.cloudsdk_node_ami, each.key)}"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//resource "aws_eip" "cloudsdk_node" {
 | 
				
			||||||
 | 
					//  for_each = toset(local.cloudsdk_node_ami)
 | 
				
			||||||
 | 
					//  vpc      = true
 | 
				
			||||||
 | 
					//  instance = aws_instance.cloudsdk_node[each.key].id
 | 
				
			||||||
 | 
					//}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					output "wlan_cloudsdk_master_ip" {
 | 
				
			||||||
 | 
					  value = aws_instance.cloudsdk_master.public_ip
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					output "wlan_cloudsdk_node_ip" {
 | 
				
			||||||
 | 
					  value = [
 | 
				
			||||||
 | 
					    for instance in aws_instance.cloudsdk_node :
 | 
				
			||||||
 | 
					    instance.public_ip
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// cloudsdk master SG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group" "wlan_cloudsdk_master" {
 | 
				
			||||||
 | 
					  name_prefix = "wlan-cloudsdk-master-"
 | 
				
			||||||
 | 
					  vpc_id      = module.vpc_main.vpc_id
 | 
				
			||||||
 | 
					  tags        = { "Name" : "${var.env} cloudsdk master" }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_master_egress_all" {
 | 
				
			||||||
 | 
					  from_port         = 0
 | 
				
			||||||
 | 
					  to_port           = 0
 | 
				
			||||||
 | 
					  protocol          = "ALL"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_master.id
 | 
				
			||||||
 | 
					  type              = "egress"
 | 
				
			||||||
 | 
					  cidr_blocks       = ["0.0.0.0/0"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_master_ingress_ssh" {
 | 
				
			||||||
 | 
					  from_port         = 22
 | 
				
			||||||
 | 
					  to_port           = 22
 | 
				
			||||||
 | 
					  protocol          = "TCP"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_master.id
 | 
				
			||||||
 | 
					  type              = "ingress"
 | 
				
			||||||
 | 
					  cidr_blocks       = ["0.0.0.0/0"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_master_ingress_all_ext" {
 | 
				
			||||||
 | 
					  from_port         = 0
 | 
				
			||||||
 | 
					  to_port           = 65535
 | 
				
			||||||
 | 
					  protocol          = "ALL"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_master.id
 | 
				
			||||||
 | 
					  type              = "ingress"
 | 
				
			||||||
 | 
					  cidr_blocks       = ["199.243.89.130/32", "70.50.132.8/32"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_master_ingress_all_self" {
 | 
				
			||||||
 | 
					  from_port         = 0
 | 
				
			||||||
 | 
					  to_port           = 65535
 | 
				
			||||||
 | 
					  protocol          = "ALL"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_master.id
 | 
				
			||||||
 | 
					  type              = "ingress"
 | 
				
			||||||
 | 
					  self              = true
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_master_ingress_all_cloudsdk_node" {
 | 
				
			||||||
 | 
					  from_port                = 0
 | 
				
			||||||
 | 
					  to_port                  = 65535
 | 
				
			||||||
 | 
					  protocol                 = "ALL"
 | 
				
			||||||
 | 
					  security_group_id        = aws_security_group.wlan_cloudsdk_master.id
 | 
				
			||||||
 | 
					  type                     = "ingress"
 | 
				
			||||||
 | 
					  source_security_group_id = aws_security_group.wlan_cloudsdk_node.id
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// cloudsdk node SG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group" "wlan_cloudsdk_node" {
 | 
				
			||||||
 | 
					  name_prefix = "wlan-cloudsdk-node-"
 | 
				
			||||||
 | 
					  vpc_id      = module.vpc_main.vpc_id
 | 
				
			||||||
 | 
					  tags        = { "Name" : "${var.env} cloudsdk node" }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_node_egress_all" {
 | 
				
			||||||
 | 
					  from_port         = 0
 | 
				
			||||||
 | 
					  to_port           = 0
 | 
				
			||||||
 | 
					  protocol          = "ALL"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_node.id
 | 
				
			||||||
 | 
					  type              = "egress"
 | 
				
			||||||
 | 
					  cidr_blocks       = ["0.0.0.0/0"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_node_ingress_ssh" {
 | 
				
			||||||
 | 
					  from_port         = 22
 | 
				
			||||||
 | 
					  to_port           = 22
 | 
				
			||||||
 | 
					  protocol          = "TCP"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_node.id
 | 
				
			||||||
 | 
					  type              = "ingress"
 | 
				
			||||||
 | 
					  cidr_blocks       = ["0.0.0.0/0"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_node_ingress_all_ext" {
 | 
				
			||||||
 | 
					  from_port         = 0
 | 
				
			||||||
 | 
					  to_port           = 0
 | 
				
			||||||
 | 
					  protocol          = "ALL"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_node.id
 | 
				
			||||||
 | 
					  type              = "ingress"
 | 
				
			||||||
 | 
					  cidr_blocks       = ["199.243.89.130/32"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_node_ingress_all_self" {
 | 
				
			||||||
 | 
					  from_port         = 0
 | 
				
			||||||
 | 
					  to_port           = 0
 | 
				
			||||||
 | 
					  protocol          = "ALL"
 | 
				
			||||||
 | 
					  security_group_id = aws_security_group.wlan_cloudsdk_node.id
 | 
				
			||||||
 | 
					  type              = "ingress"
 | 
				
			||||||
 | 
					  self              = true
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resource "aws_security_group_rule" "wlan_cloudsdk_node_ingress_all_cloudsdk_master" {
 | 
				
			||||||
 | 
					  from_port                = 0
 | 
				
			||||||
 | 
					  to_port                  = 0
 | 
				
			||||||
 | 
					  protocol                 = "ALL"
 | 
				
			||||||
 | 
					  security_group_id        = aws_security_group.wlan_cloudsdk_node.id
 | 
				
			||||||
 | 
					  type                     = "ingress"
 | 
				
			||||||
 | 
					  source_security_group_id = aws_security_group.wlan_cloudsdk_master.id
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user