-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
87cf93c
commit 1925f40
Showing
1 changed file
with
8 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ | |
Terraform AWS EC2 | ||
</h1> | ||
|
||
<p align="center" style="font-size: 1.2rem;"> | ||
<p align="center" style="font-size: 1.2rem;"> | ||
Terraform module to create an EC2 resource on AWS with ElasticC IP Addresses and Elastic Block Store. | ||
</p> | ||
|
||
|
@@ -38,7 +38,7 @@ | |
<hr> | ||
|
||
|
||
We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure. | ||
We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure. | ||
|
||
This module is basically combination of [Terraform open source](https://www.terraform.io/) and includes automatation tests and examples. It also helps to create and improve your infrastructure with minimalistic code instead of maintaining the whole infrastructure code yourself. | ||
|
||
|
@@ -49,7 +49,7 @@ We have [*fifty plus terraform modules*][terraform_modules]. A few of them are c | |
|
||
## Prerequisites | ||
|
||
This module has a few dependencies: | ||
This module has a few dependencies: | ||
|
||
- [Terraform 0.13](https://learn.hashicorp.com/terraform/getting-started/install.html) | ||
- [Go](https://golang.org/doc/install) | ||
|
@@ -145,10 +145,8 @@ Here is examples of how you can use this module in your inventory structure: | |
| availability\_zone | Availability Zone the instance is launched in. If not set, will be launched in the first AZ of the region. | `list(any)` | `[]` | no | | ||
| cpu\_core\_count | Sets the number of CPU cores for an instance. | `string` | `null` | no | | ||
| cpu\_credits | The credit option for CPU usage. Can be `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. | `string` | `"standard"` | no | | ||
| delete\_on\_termination | Whether the volume should be destroyed on instance termination. Defaults to true. | `bool` | `true` | no | | ||
| delimiter | Delimiter to be used between `organization`, `environment`, `name` and `attributes`. | `string` | `"-"` | no | | ||
| disable\_api\_termination | If true, enables EC2 Instance Termination Protection. | `bool` | `false` | no | | ||
| disk\_size | Size of the root volume in gigabytes. | `number` | `8` | no | | ||
| dns\_enabled | Flag to control the dns\_enable. | `bool` | `false` | no | | ||
| dns\_zone\_id | The Zone ID of Route53. | `string` | `""` | no | | ||
| ebs\_block\_device | Additional EBS block devices to attach to the instance. | `list(any)` | `[]` | no | | ||
|
@@ -175,9 +173,9 @@ Here is examples of how you can use this module in your inventory structure: | |
| kms\_key\_id | The ARN for the KMS encryption key. When specifying kms\_key\_id, encrypted needs to be set to true. | `string` | `""` | no | | ||
| label\_order | Label order, e.g. `name`,`application`. | `list(any)` | `[]` | no | | ||
| managedby | ManagedBy, eg 'CloudDrove'. | `string` | `"[email protected]"` | no | | ||
| metadata\_http\_endpoint\_enabled | Whether the metadata service is available | `bool` | `true` | no | | ||
| metadata\_http\_endpoint\_enabled | Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled. | `string` | `"enabled"` | no | | ||
| metadata\_http\_put\_response\_hop\_limit | The desired HTTP PUT response hop limit (between 1 and 64) for instance metadata requests. | `number` | `2` | no | | ||
| metadata\_http\_tokens\_required | Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2. | `bool` | `true` | no | | ||
| metadata\_http\_tokens\_required | Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required. Defaults to optional. | `string` | `"optional"` | no | | ||
| monitoring | If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0). | `bool` | `true` | no | | ||
| name | Name (e.g. `app` or `cluster`). | `string` | `""` | no | | ||
| network\_interface | Customize network interfaces to be attached at instance boot time | `list(map(string))` | `[]` | no | | ||
|
@@ -208,13 +206,14 @@ Here is examples of how you can use this module in your inventory structure: | |
| private\_ip | Private IP of instance. | | ||
| public\_ip | Public IP of instance (or EIP). | | ||
| subnet\_id | The EC2 subnet ID. | | ||
| tags | The instance ID. | | ||
| vpc\_security\_group\_ids | The associated security groups in non-default VPC. | | ||
|
||
|
||
|
||
|
||
## Testing | ||
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system. | ||
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system. | ||
|
||
You need to run the following command in the testing folder: | ||
```hcl | ||
|
@@ -223,7 +222,7 @@ You need to run the following command in the testing folder: | |
|
||
|
||
|
||
## Feedback | ||
## Feedback | ||
If you come accross a bug or have any feedback, please log it in our [issue tracker](https://github.com/clouddrove/terraform-aws-ec2/issues), or feel free to drop us an email at [[email protected]](mailto:[email protected]). | ||
|
||
If you have found it worth your time, go ahead and give us a ★ on [our GitHub](https://github.com/clouddrove/terraform-aws-ec2)! | ||
|