Terraform resource: aws instance
(Redirected from Aws instance)
Jump to navigation
Jump to search
Contents
Arguments[edit]
subnet_id(optional, in there is default VPC)instance_typeamikey_namevpc_security_group_idsuser_datametadata_options: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#metadata-optionshttp_tokens = required
disable_api_stopdisable_api_termination
Examples[edit]
- AWS instance example with autogenerated ssh key
- AWS instance example with aws_ami lookup and key_name:
aws_instance,data.aws_ami - AWS instance example with aws_ami lookup:
aws instance,aws_ami - AWS instance example: main.tf:
aws instance - AWS instance example creating VPC:
aws_vpc
Examples[edit]
resource "aws_instance" "MYexample" { ami = "ami-08d70e59c07c61a3a" instance_type = "t3.micro" tags = { Name = "your_name_here" } } See also: AWS instance example with aws_ami lookup
resource "aws_instance" "MYexample" { ami = "ami-08d70e59c07c61a3a" instance_type = "t2.micro" associate_public_ip_address = "yes" tags = { Name = "your_name_here" } }
Example for terraform import:
resource "aws_instance" "restore-backups-machine" {
# (resource arguments)
}
resource "aws_instance" "myUbuntuMicroInstance" {
ami = data.aws_ami.ubuntu.id
.../...
resource "aws_instance" "my-instance" {
count = var.instance_count
ami = lookup(var.ami,var.aws_region)
instance_type = var.instance_type
key_name = aws_key_pair.terraform-demo.key_name
user_data = file("install_apache.sh")
tags = {
Name = "Terraform-${count.index + 1}"
Batch = "5AM"
}
}
Outputs[edit]
output "instance_ip_addr" {
value = aws_instance.your_server.private_ip
}
Errors[edit]
- Error: creating EC2 Instance
- Error: creating EC2 Instance: UnauthorizedOperation: You are not authorized to perform this operation
- No default VPC for this user. GroupName is only supported for EC2-Classic and default VPC.
aws_instance arguments[edit]
amiinstance_typekey_name[1]aws_key_pairavailability_zone(optional)monitoringassociate_public_ip_addresssubnet_id, public_ipaws_security_group: vpc_security_group_ids: (Optional, list) https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance#vpc_security_group_idsroot_block_deviceiopsiam_instance_profile(Optional)user_datacredit_specificationlifecycletenancyinstance_state
Related terms[edit]
terraform show (grep aws_instance)aws ec2 run-instancesaws ec2 describe-key-pairssource (Terraform modules)- Terraform: Data sources
Terraform: VPCIdNotSpecified- Terraform module:
ec2-instance - Terraform resource:
aws_volume_attachment - volume_size
ebs_block_deviceresource argumentaws_eipaws instance.your_instance_name will be updated in-placecountVcpuLimitExceeded- Datadog: EC2 instances should enforce IMDSv2
aws_ec2_instance_metadata_defaults- Terraform VM
- ignore_changes, prevent_destroy
- ec2:TerminateInstances deny policy for production
See also[edit]
- Terraform AWS:
aws_instance:ami,availability_zone,instance_type,key_name,aws_key_pair,monitoring,associate_public_ip_address,tenancy,subnet_id, user_data, iam_instance_profile, vpc_security_group_ids, root_block_device, ebs_block_device, volume_size,disable_api_termination, disable_api_stop - Terraform VM,
google_compute_instance, aws_instance, azurerm_virtual_machine
Advertising: