-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcf-template.yaml
190 lines (190 loc) · 4.88 KB
/
cf-template.yaml
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
---
AWSTemplateFormatVersion: '2010-09-09'
Description: Neptune full stack with gremlin and rd4j console
Parameters:
EC2SSHKeyPairName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances.
Required Input
Type: AWS::EC2::KeyPair::KeyName
ConstraintDescription: Must be the name of an existing EC2 KeyPair in same region.
Env:
Description: Environment tag, e.g. prod, nonprod.
Default: test
Type: String
AllowedPattern: "[a-z0-9]+"
MaxLength: 15
Resources:
NeptuneStack:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL:
Fn::Join:
- ''
- - https://s3.amazonaws.com/aws-neptune-customer-samples/v2/cloudformation-templates/neptune-base-stack.json
TimeoutInMinutes: '15'
Parameters:
Env:
Ref: Env
DBReplicaIdentifierSuffix: ''
DbInstanceType: db.r4.large
NeptuneQueryTimeout: 20000
NeptuneEnableAuditLog: 0
IamAuthEnabled: 'false'
NeptuneEC2Client:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL:
Fn::Join:
- ''
- - https://s3.amazonaws.com/aws-neptune-customer-samples/v2/cloudformation-templates/neptune-ec2-client.json
TimeoutInMinutes: '30'
Parameters:
Env:
Ref: Env
EC2SSHKeyPairName:
Ref: EC2SSHKeyPairName
EC2ClientInstanceType: t2.micro
SetupGremlinConsole: 'true'
SetupRDF4JConsole: 'true'
AttachBulkloadIAMRoleToNeptuneCluster: 'true'
VPC:
Fn::GetAtt:
- NeptuneStack
- Outputs.VPC
Subnet:
Fn::GetAtt:
- NeptuneStack
- Outputs.PublicSubnet1
NeptuneDBCluster:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterId
NeptuneDBClusterEndpoint:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterEndpoint
NeptuneDBClusterPort:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterPort
NeptuneLoadFromS3IAMRoleArn:
Fn::GetAtt:
- NeptuneStack
- Outputs.NeptuneLoadFromS3IAMRoleArn
NeptuneSG:
Fn::GetAtt:
- NeptuneStack
- Outputs.NeptuneSG
NeptuneEC2InstanceProfile:
Fn::GetAtt:
- NeptuneStack
- Outputs.NeptuneEC2InstanceProfile
Outputs:
DBClusterId:
Description: Neptune Cluster Identifier
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterId
DBSubnetGroupId:
Description: Neptune DBSubnetGroup Identifier
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBSubnetGroupId
DBClusterResourceId:
Description: Neptune Cluster Resource Identifier
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterResourceId
DBClusterEndpoint:
Description: Master Endpoint for Neptune Cluster
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterEndpoint
DBInstanceEndpoint:
Description: Master Instance Endpoint
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBInstanceEndpoint
SparqlEndpoint:
Description: Sparql Endpoint for Neptune
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.SparqlEndpoint
GremlinEndpoint:
Description: Gremlin Endpoint for Neptune
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.GremlinEndpoint
LoaderEndpoint:
Description: Loader Endpoint for Neptune
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.LoaderEndpoint
DBClusterReadEndpoint:
Description: DB cluster Read Endpoint
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterReadEndpoint
DBClusterPort:
Description: Port for the Neptune Cluster
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.DBClusterPort
NeptuneLoadFromS3IAMRoleArn:
Description: IAM Role for loading data in Neptune
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.NeptuneLoadFromS3IAMRoleArn
NeptuneIamAuthUser:
Description: IAM User for IAM Auth
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.NeptuneIamAuthUser
EC2Client:
Description: EC2 client Identifier
Value:
Fn::GetAtt:
- NeptuneEC2Client
- Outputs.EC2Client
SSHAccess:
Description: This is how you gain remote access to the EC2 client.
Value:
Fn::GetAtt:
- NeptuneEC2Client
- Outputs.SSHAccess
VPC:
Description: VPC
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.VPC
Subnet1:
Description: Subnet1
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.PublicSubnet1
Subnet2:
Description: Subnet2
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.PublicSubnet2
Subnet3:
Description: Subnet3
Value:
Fn::GetAtt:
- NeptuneStack
- Outputs.PublicSubnet3