forked from aws-samples/data-lineage-for-data-lake-example
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstorage.tf
75 lines (64 loc) · 2.16 KB
/
storage.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
################################################################
# S3 buckets for data lake
################################################################
module "s3_bucket_raw" {
source = "./modules/data_lake_s3_bucket"
name = "data-lake-raw-${local.post_fix}"
}
resource "aws_s3_bucket_object" "employee" {
bucket = module.s3_bucket_raw.bucket.bucket
key = "employee/employee.csv"
source = "asset/sample_data/employee.csv"
etag = filemd5("asset/sample_data/employee.csv")
}
module "s3_bucket_curated" {
source = "./modules/data_lake_s3_bucket"
name = "data-lake-curated-${local.post_fix}"
}
module "s3_bucket_aggregated" {
source = "./modules/data_lake_s3_bucket"
name = "data-lake-aggregated-${local.post_fix}"
}
################################################################
# Neptune database
################################################################
locals {
neptune_db_port = 8182
}
resource "aws_neptune_subnet_group" "default" {
name = "data-lineage-neptune-subnet-group"
subnet_ids = "${aws_subnet.subnet.*.id}"
}
resource aws_security_group "sg_neptune_db" {
name = "sg_lineage_neptune_db"
ingress {
from_port = local.neptune_db_port
to_port = local.neptune_db_port
protocol = "tcp"
cidr_blocks = [aws_vpc.main.cidr_block]
}
egress {
from_port = 0
protocol = "-1"
to_port = 0
cidr_blocks = ["0.0.0.0/0"]
}
vpc_id = aws_vpc.main.id
}
resource "aws_neptune_cluster" "default" {
cluster_identifier = "data-lineage-neptune-cluster"
skip_final_snapshot = true
iam_database_authentication_enabled = false
apply_immediately = true
neptune_subnet_group_name = aws_neptune_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.sg_neptune_db.id]
port = local.neptune_db_port
}
resource "aws_neptune_cluster_instance" "data_lineage_instance" {
identifier = "data-lineage-neptune-instance"
cluster_identifier = aws_neptune_cluster.default.id
apply_immediately = true
instance_class = "db.t3.medium"
neptune_subnet_group_name = aws_neptune_subnet_group.default.name
port = local.neptune_db_port
}