updating notes
This commit is contained in:
86
tempnotes.md
86
tempnotes.md
@@ -1,6 +1,29 @@
|
||||
<!-- vscode-markdown-toc -->
|
||||
|
||||
- [Decoupling](#Decoupling)
|
||||
- [Creating Database + VPC + Subnets in Cloudformation](#CreatingDatabaseVPCSubnetsinCloudformation)
|
||||
- [Single instance (no load balancer)](#Singleinstancenoloadbalancer)
|
||||
_ [EC2::VPC](#EC2::VPC)
|
||||
_ [Enable DNS](#EnableDNS)
|
||||
_ [EC2::Subnet](#EC2::Subnet)
|
||||
_ [EC2::InternetGateway](#EC2::InternetGateway)
|
||||
_ [EC2::VPCGatewayAttachment](#EC2::VPCGatewayAttachment)
|
||||
_ [AWS::EC2::RouteTable](#AWS::EC2::RouteTable)
|
||||
_ [AWS::EC2::Route](#AWS::EC2::Route)
|
||||
_ [AWS::EC2::SubnetRouteTableAssociation](#AWS::EC2::SubnetRouteTableAssociation)
|
||||
- [Running notes](#Runningnotes)
|
||||
- [Reference an input parameter, or a resource ID from inside current template](#ReferenceaninputparameteroraresourceIDfrominsidecurrenttemplate) \* [Using `Fn::Sub`](#UsingFn::Sub)
|
||||
- [Dynamically referencing resources from another stack.](#Dynamicallyreferencingresourcesfromanotherstack.)
|
||||
|
||||
<!-- vscode-markdown-toc-config
|
||||
numbering=false
|
||||
autoSave=true
|
||||
/vscode-markdown-toc-config -->
|
||||
<!-- /vscode-markdown-toc -->
|
||||
|
||||
# Temp Notes
|
||||
|
||||
## Decoupling
|
||||
## <a name='Decoupling'></a>Decoupling
|
||||
|
||||
When creating an ELB instance with `--single` and `--database` the following is created as part of the ELB deployment:
|
||||
|
||||
@@ -10,7 +33,7 @@ When creating an ELB instance with `--single` and `--database` the following is
|
||||
|
||||
Is the security group created without a databse? (probably yes...)
|
||||
|
||||
## Creating Database + VPC + Subnets in Cloudformation
|
||||
## <a name='CreatingDatabaseVPCSubnetsinCloudformation'></a>Creating Database + VPC + Subnets in Cloudformation
|
||||
|
||||
Template from AWS showing cross-stack referencing and creating and referencing a VPC: <https://s3.amazonaws.com/cloudformation-examples/user-guide/cross-stack/SampleNetworkCrossStack.template>.
|
||||
|
||||
@@ -24,7 +47,7 @@ You should use this VPC for you RDS instance.
|
||||
|
||||
Creating a VPC for ELB (with RDS) <https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/vpc-rds.html>
|
||||
|
||||
## Single instance (no load balancer)
|
||||
## <a name='Singleinstancenoloadbalancer'></a>Single instance (no load balancer)
|
||||
|
||||
Example cloudformation template that ELB uses: <https://raw.githubusercontent.com/awslabs/elastic-beanstalk-samples/master/cfn-templates/vpc-public.yaml>.
|
||||
|
||||
@@ -56,13 +79,13 @@ You should then create a public route table and associate it with the VPC you ha
|
||||
|
||||
You should then create a public route. You can then attach the internet gateway attachment to this route and specify a list of IPs that will go out to the internet. To allow all trafic to the internet set a `DestinationCidrBlock` of `0.0.0.0/0`.
|
||||
|
||||
### EC2::VPC
|
||||
### <a name='EC2::VPC'></a>EC2::VPC
|
||||
|
||||
#### Enable DNS
|
||||
#### <a name='EnableDNS'></a>Enable DNS
|
||||
|
||||
Enable `EnableDnsHostnames` + `EnableDnsSupport` - this allows resources in the VPC to use DNS in AWS.
|
||||
|
||||
### EC2::Subnet
|
||||
### <a name='EC2::Subnet'></a>EC2::Subnet
|
||||
|
||||
Go to the EC2 dashboard to find all availability zones. Create a subnet for each zone.
|
||||
|
||||
@@ -71,33 +94,70 @@ Go to the EC2 dashboard to find all availability zones. Create a subnet for each
|
||||
- `CidrBlock`
|
||||
- `MapPublicIpOnLaunch`
|
||||
|
||||
### EC2::InternetGateway
|
||||
### <a name='EC2::InternetGateway'></a>EC2::InternetGateway
|
||||
|
||||
### EC2::VPCGatewayAttachment
|
||||
### <a name='EC2::VPCGatewayAttachment'></a>EC2::VPCGatewayAttachment
|
||||
|
||||
- `VpcId`
|
||||
- `InternetGatewayId`
|
||||
|
||||
### AWS::EC2::RouteTable
|
||||
### <a name='AWS::EC2::RouteTable'></a>AWS::EC2::RouteTable
|
||||
|
||||
- `VpcId`
|
||||
|
||||
### AWS::EC2::Route
|
||||
### <a name='AWS::EC2::Route'></a>AWS::EC2::Route
|
||||
|
||||
- `RouteTableId`
|
||||
- `DestinationCidrBlock`
|
||||
- `GatewayId`
|
||||
|
||||
### AWS::EC2::SubnetRouteTableAssociation
|
||||
### <a name='AWS::EC2::SubnetRouteTableAssociation'></a>AWS::EC2::SubnetRouteTableAssociation
|
||||
|
||||
- `SubnetId`
|
||||
- `RouteTableId`
|
||||
|
||||
## Running notes
|
||||
## <a name='Runningnotes'></a>Running notes
|
||||
|
||||
If we specify the VPC + Subnets from Cloudformation in a config file, will it create the security groups automatically for the EC2 instances?
|
||||
If we specify the VPC + Subnets from Cloudformation in a config file, will it create the security groups automatically for the EC2 instances? - Yes
|
||||
|
||||
Database can use existing subnets.
|
||||
Database needs a security group creating
|
||||
EC2 security groups automatically created and associated with the VPC.
|
||||
Use aws:ec2:vpc (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-ec2vpc)
|
||||
|
||||
### Database
|
||||
|
||||
Needs:
|
||||
|
||||
- `AWS::RDS::DBSubnetGroup`
|
||||
- `AWS::EC2::SecurityGroupIngress`
|
||||
- `AWS::RDS::DBInstance`
|
||||
|
||||
Default ports:
|
||||
|
||||
| Database Engine | Default Port |
|
||||
| -------------------- | ------------ |
|
||||
| Aurora/MySQL/MariaDB | 3306 |
|
||||
| PostgreSQL | 5432 |
|
||||
| Oracle | 1521 |
|
||||
| SQL Server | 1433 |
|
||||
| DynamoDB | 8000 |
|
||||
|
||||
|
||||
|
||||
## Work Commands
|
||||
|
||||
### deploy
|
||||
|
||||
`aws --profile admin cloudformation deploy --template-file ./02-stack-vpc.yaml --stack-name temp-vpc --tags git=web-dev owner=home project=strapi-elb test=true deployment=cloudformation`
|
||||
|
||||
`aws --profile admin cloudformation deploy --template-file ./03-stack-rdsinstance.yaml --stack-name temp --parameter-overrides StackName=temp-vpc`
|
||||
|
||||
### delete
|
||||
|
||||
`aws --profile admin cloudformation delete-stack --stack-name temp-vpc`
|
||||
|
||||
`aws --profile admin cloudformation delete-stack --stack-name temp`
|
||||
|
||||
List of all RDS Engines available under "Engine" header: <https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html>.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user