mirror of
https://github.com/storytold/terraform-aws-observability-accelerator.git
synced 2026-10-09 00:09:43 +00:00
Update doc
This commit is contained in:
@@ -38,7 +38,7 @@ terraform init
|
|||||||
To run this example, you need to provide your EKS cluster ID.
|
To run this example, you need to provide your EKS cluster ID.
|
||||||
If you don't have a cluster ready, visit [this example](../new-empty-eks-cluster) first to create a new one.
|
If you don't have a cluster ready, visit [this example](../new-empty-eks-cluster) first to create a new one.
|
||||||
|
|
||||||
Add `eks_cluster_id=xxx` to your `terraform.tfvars` or use an
|
Create a `terraform.tfvars` file and add `eks_cluster_id=xxx` to your `terraform.tfvars` or
|
||||||
environment variable `export TF_VAR_eks_cluster_id=xxx`.
|
environment variable `export TF_VAR_eks_cluster_id=xxx`.
|
||||||
|
|
||||||
3. Amazon Managed Service for Prometheus workspace
|
3. Amazon Managed Service for Prometheus workspace
|
||||||
@@ -75,7 +75,7 @@ If you don't specify anything a new workspace will be created for you.
|
|||||||
## Deploy
|
## Deploy
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
terraform apply -var terraform.tfvars
|
terraform apply -var-file=terraform.tfvars
|
||||||
```
|
```
|
||||||
|
|
||||||
or if you had setup environment variables
|
or if you had setup environment variables
|
||||||
|
|||||||
@@ -0,0 +1,110 @@
|
|||||||
|
provider "aws" {
|
||||||
|
region = local.region
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "kubernetes" {
|
||||||
|
host = module.eks_blueprints.eks_cluster_endpoint
|
||||||
|
cluster_ca_certificate = base64decode(module.eks_blueprints.eks_cluster_certificate_authority_data)
|
||||||
|
token = data.aws_eks_cluster_auth.this.token
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "helm" {
|
||||||
|
kubernetes {
|
||||||
|
host = module.eks_blueprints.eks_cluster_endpoint
|
||||||
|
cluster_ca_certificate = base64decode(module.eks_blueprints.eks_cluster_certificate_authority_data)
|
||||||
|
token = data.aws_eks_cluster_auth.this.token
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "vpc" {
|
||||||
|
source = "terraform-aws-modules/vpc/aws"
|
||||||
|
version = "~> 3.0"
|
||||||
|
|
||||||
|
name = local.name
|
||||||
|
cidr = local.vpc_cidr
|
||||||
|
|
||||||
|
azs = local.azs
|
||||||
|
public_subnets = [for k, v in local.azs : cidrsubnet(local.vpc_cidr, 8, k)]
|
||||||
|
private_subnets = [for k, v in local.azs : cidrsubnet(local.vpc_cidr, 8, k + 10)]
|
||||||
|
|
||||||
|
enable_nat_gateway = true
|
||||||
|
single_nat_gateway = true
|
||||||
|
enable_dns_hostnames = true
|
||||||
|
|
||||||
|
# Manage so we can name
|
||||||
|
manage_default_network_acl = true
|
||||||
|
default_network_acl_tags = { Name = "${local.name}-default" }
|
||||||
|
manage_default_route_table = true
|
||||||
|
default_route_table_tags = { Name = "${local.name}-default" }
|
||||||
|
manage_default_security_group = true
|
||||||
|
default_security_group_tags = { Name = "${local.name}-default" }
|
||||||
|
|
||||||
|
public_subnet_tags = {
|
||||||
|
"kubernetes.io/cluster/${local.name}" = "shared"
|
||||||
|
"kubernetes.io/role/elb" = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
private_subnet_tags = {
|
||||||
|
"kubernetes.io/cluster/${local.name}" = "shared"
|
||||||
|
"kubernetes.io/role/internal-elb" = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
tags = local.tags
|
||||||
|
}
|
||||||
|
|
||||||
|
module "eks_blueprints" {
|
||||||
|
source = "github.com/aws-ia/terraform-aws-eks-blueprints"
|
||||||
|
|
||||||
|
cluster_name = local.name
|
||||||
|
cluster_version = "1.22"
|
||||||
|
|
||||||
|
vpc_id = module.vpc.vpc_id
|
||||||
|
private_subnet_ids = module.vpc.private_subnets
|
||||||
|
|
||||||
|
managed_node_groups = {
|
||||||
|
t3_l = {
|
||||||
|
node_group_name = "managed-ondemand"
|
||||||
|
instance_types = ["t3.large"]
|
||||||
|
min_size = 2
|
||||||
|
subnet_ids = module.vpc.private_subnets
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tags = local.tags
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
module "observability_accelerator" {
|
||||||
|
source = "../../"
|
||||||
|
|
||||||
|
aws_region = local.region
|
||||||
|
eks_cluster_id = module.eks_blueprints.eks_cluster_id
|
||||||
|
|
||||||
|
enable_alertmanager = true
|
||||||
|
enable_managed_grafana = false
|
||||||
|
|
||||||
|
managed_grafana_workspace_id = var.managed_grafana_workspace_id
|
||||||
|
managed_grafana_region = var.managed_grafana_region
|
||||||
|
|
||||||
|
grafana_api_key = var.grafana_api_key
|
||||||
|
|
||||||
|
tags = {
|
||||||
|
Source = "aws-observability-accelerator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module "infra" {
|
||||||
|
source = "../../modules/workloads/infra"
|
||||||
|
|
||||||
|
dashboards_folder_id = module.observability_accelerator.dashboards_folder_id
|
||||||
|
eks_cluster_id = module.eks_blueprints.eks_cluster_id
|
||||||
|
enable_alerting_rules = false
|
||||||
|
|
||||||
|
managed_prometheus_workspace_id = module.observability_accelerator.managed_prometheus_workspace_id
|
||||||
|
managed_prometheus_workspace_region = module.observability_accelerator.managed_prometheus_workspace_region
|
||||||
|
|
||||||
|
tags = {
|
||||||
|
Source = "aws-observability-accelerator"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user