Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(redshift): add initial L2 Redshift construct #5730

Merged
merged 54 commits into from
May 27, 2020
Merged
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
f9be652
initial commit that builds
Jan 9, 2020
539a003
adds initial tests
Jan 9, 2020
fe799a2
updates README.md
Jan 9, 2020
1e29ede
make naming more consistent
Jan 10, 2020
a30cb81
Merge branch 'master' into redshift_l2
bweigel Jan 10, 2020
f3e4dee
fix linter ignores
Jan 10, 2020
d7bf1cd
add some more tests
Jan 11, 2020
6d859e0
lower coverage requirements for ./lib/redshift.generated.ts
Jan 11, 2020
036e602
updastes README.md
Jan 11, 2020
d0fe63f
updates README.md
Jan 13, 2020
3a8acc3
add option to disable encryption
Jan 13, 2020
ebeeb11
Update README.md
bweigel Jan 13, 2020
3c6682e
start fixing review comments
Jan 22, 2020
41cbc16
refactor and work on some documentation
Jan 22, 2020
950d2a7
more review & documentation fixes
Jan 22, 2020
308a611
first batch of review fixes done
Jan 22, 2020
b5afc31
next batch of changes
Jan 30, 2020
5c319ef
Merge branch 'master' into redshift_l2
bweigel Feb 11, 2020
1781918
merge upstream/master
Apr 12, 2020
e46dffc
updates package.json
Apr 12, 2020
39223f9
fix linting errors
Apr 12, 2020
2e8f553
fix linting issues
Apr 12, 2020
a8089de
fix compile error
Apr 12, 2020
986a577
Merge branch 'master' into redshift_l2
bweigel Apr 12, 2020
c931c27
fix json bug
Apr 12, 2020
19c0edb
remove some troubling jest config
Apr 12, 2020
223adc9
set default removalpolicy
Apr 12, 2020
011fa5b
fix jsdoc
Apr 12, 2020
de16721
refactor parametergroup construct
Apr 12, 2020
140d9d0
ignore some linting errors
Apr 12, 2020
a1664de
fix method placement
Apr 12, 2020
4a6e8dd
straighten interface naming
Apr 12, 2020
bc998bc
refactoring
Apr 12, 2020
0e75225
refactor logging configuration
Apr 12, 2020
2b9bfea
Merge branch 'master' into redshift_l2
bweigel Apr 25, 2020
697c335
Merge branch 'master' into redshift_l2
bweigel Apr 27, 2020
d4e7706
fix linting error
Apr 27, 2020
a7c3ba6
Merge branch 'master' into redshift_l2
bweigel Apr 28, 2020
36d2422
changes to satisfy review comments
May 7, 2020
e8fb2db
green tests
May 7, 2020
fe0c88c
Merge remote-tracking branch 'upstream/master' into redshift_l2
May 7, 2020
d0bd5ce
update jest
May 7, 2020
da52d2c
remove just one lint exclude
May 7, 2020
d6ada4d
add docstrings for enums
May 7, 2020
a904f62
Merge branch 'master' into redshift_l2
bweigel May 8, 2020
f0e8c97
set encrypted cluster as default
May 10, 2020
59a288b
change clusterIdentifier to clusterName in props
May 10, 2020
2613639
adds test case
May 10, 2020
492da13
Merge branch 'master' into redshift_l2
mergify[bot] May 20, 2020
7c00c58
Merge branch 'master' into redshift_l2
skinny85 May 26, 2020
4dcb710
Remove familyGroup from ClusterParameterGroupProps.
skinny85 May 26, 2020
6dee681
Merge branch 'master' into redshift_l2
skinny85 May 27, 2020
1e298b0
Merge branch 'master' into redshift_l2
mergify[bot] May 27, 2020
8e2364c
Merge branch 'master' into redshift_l2
mergify[bot] May 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions packages/@aws-cdk/aws-redshift/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,52 @@
---
<!--END STABILITY BANNER-->

### Starting a Redshift Cluster Database

To set up a Redshift cluster, define a `Cluster`. It will be launched in a VPC.
You can specify a VPC, otherwise one will be created. The nodes are always launched in private subnets and are encrypted by default.

``` typescript
import redshift = require('@aws-cdk/aws-redshift');
...
const cluster = new redshift.Cluster(this, 'Redshift', {
masterUser: {
masterUsername: 'admin',
},
vpc
});
```
By default, the master password will be generated and stored in AWS Secrets Manager.

A default database named `default_db` will be created in the cluster. To change the name of this database set the `defaultDatabaseName` attribute in the constructor properties.

### Connecting

To control who can access the cluster, use the `.connections` attribute. Redshift Clusters have
a default port, so you don't need to specify the port:

```ts
cluster.connections.allowFromAnyIpv4('Open to the world');
```

The endpoint to access your database cluster will be available as the `.clusterEndpoint` attribute:

```ts
cluster.clusterEndpoint.socketAddress; // "HOSTNAME:PORT"
```

### Rotating credentials

When the master password is generated and stored in AWS Secrets Manager, it can be rotated automatically:
```ts
cluster.addRotationSingleUser(); // Will rotate automatically after 30 days
```

The multi user rotation scheme is also available:
```ts
cluster.addRotationMultiUser('MyUser', {
secret: myImportedSecret
});
```

This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
bweigel marked this conversation as resolved.
Show resolved Hide resolved
Loading