Skip to content

Commit 9ca95cc

Browse files
authored
Merge pull request #1 from getcft/release-1.0
Release 1.0
2 parents d7d5466 + 3385339 commit 9ca95cc

File tree

2 files changed

+84
-1
lines changed

2 files changed

+84
-1
lines changed

README.md

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,40 @@
1-
# aws-encrypted-dynamodb-cf-template
1+
# aws-encrypted-dynamodb-cf-template
2+
3+
## Description:
4+
5+
This solution creates an [AWS DynamoDB](https://aws.amazon.com/dynamodb/) encrypted table with a primary key and sort key.
6+
7+
The AWS CloudFormation template creates a AWS DynamoDB encrypted example table that reflects a scenario where you have clients and invoices associated to those clients. The primary keys would be email address and the sort key would be invoices
8+
9+
Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale. It's a fully managed, multi-region, multi-master database with built-in security, backup and restore, and in-memory caching for internet-scale applications.
10+
11+
_***note AWS DynamoDB will incur costs**_
12+
13+
* [DynamoDB pricing](https://aws.amazon.com/dynamodb/pricing/) resource used in example: 1 Provisioned Write and 1 Provisioned Read Capacity Unit
14+
15+
## Prerequisites:
16+
17+
* AWS account and environment configured with AWS Credentials
18+
* IAM user with AWSCloudFormationReadOnlyAccess, AmazonDynamoDBFullAccess
19+
20+
## See how it works:
21+
22+
AWS Management Console
23+
24+
* Login to AWS Management Console
25+
* Launch in CloudFormation encrypted-dynamodb-cf-template.yml (from the repo you cloned)
26+
27+
CloudFormation Fields
28+
29+
* Stack name (Enter a name to associate to your AWS VPC deployment)**Next**
30+
* Continue choosing **Next**
31+
* Click **Create**
32+
33+
## Test:
34+
35+
In the AWS Management Console under DynamoDB you should be able to verify the following have been created:
36+
37+
* 1 encrypted table named "Client_Invoice"
38+
* 1 Provisioned Write and 1 Provisioned Read Capacity Unit
39+
* Primary Key "client_email"
40+
* Sort Key "invoice_number"

encrypted-dynamodb-cf-template.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright [2018] [Phil Chen]
2+
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
AWSTemplateFormatVersion: 2010-09-09
16+
Description: 'Encrypted DynamoDB Template'
17+
18+
Resources:
19+
20+
ClientInvoiceTable:
21+
Type: 'AWS::DynamoDB::Table'
22+
Properties:
23+
SSESpecification:
24+
SSEEnabled: 'true'
25+
AttributeDefinitions:
26+
- AttributeName: 'client_email'
27+
AttributeType: 'S'
28+
- AttributeName: 'invoice_number'
29+
AttributeType: 'S'
30+
KeySchema:
31+
- AttributeName: 'client_email'
32+
KeyType: 'HASH'
33+
- AttributeName: 'invoice_number'
34+
KeyType: 'RANGE'
35+
ProvisionedThroughput:
36+
ReadCapacityUnits: 1
37+
WriteCapacityUnits: 1
38+
TableName: Client_Invoice
39+
40+
Outputs:
41+
ClientInvoiceTable:
42+
Description: 'Client Invoice Table'
43+
Value:
44+
Ref: 'ClientInvoiceTable'

0 commit comments

Comments
 (0)