diff --git a/knowledge base/cloud computing/aws/ebs.md b/knowledge base/cloud computing/aws/ebs.md
index a825cc8..11c19c0 100644
--- a/knowledge base/cloud computing/aws/ebs.md
+++ b/knowledge base/cloud computing/aws/ebs.md
@@ -49,6 +49,32 @@ Volume costs depend on its type, provisioned size, IOPS and throughput.
Volumes are billed per-second increments, with a 60-seconds minimum period.
Refer [Amazon EBS pricing]
+EBS volumes attached to instances based on the Nitro system are exposed as NVMe devices.
+
+Usage monitoring is available via instance-level metrics on CloudWatch per operations (`EBSReadOps` and `EBSWriteOps`)
+and bytes transferred (`EBSReadBytes` and `EBSWriteBytes`).
+
+[Instances built on the AWS Nitro system] (_EBS-Optimized_) are capable of bursting performance.
+`large`, `xlarge`, and `2xlarge` instances provide burst balance metrics to give information about the percentage of I/O
+and bytes credits remaining in the respective burst buckets:
+
+- `EBSIOBalance%` monitors the instance's I/O burst bucket.
+- `EBSByteBalance%` monitors the instance's byte burst bucket.
+
+Large block workloads usually do not drive enough IOPS to deplete `EBSIOBalance%`, depleting `EBSByteBalance%`
+instead.
+Small block workloads usually drive higher IOPS than bytes/second, dropping `EBSIOBalance%` faster than
+`EBSByteBalance%`.
+
+Instances can drive EBS burst performance as long as `EBSIOBalance%` and `EBSByteBalance%` are above 0%.
+When the I/O activity is below the baseline rate, the burst buckets refill.
+
+The refill rate for burst buckets is the difference between the baseline rate and the I/O activity.
+In addition, burst buckets are topped off every 24 hours, allowing instances to have burst performance available for at
+least 30 minutes per day.
+
+Refer [Amazon EBS-optimized instance types] for details
+
## Volume types
Refer [Amazon EBS volume types].
@@ -242,6 +268,8 @@ aws ec2 describe-volumes --filters "Name=volume-type,Values=gp2" --query 'Volume
- [Extend the file system after resizing an EBS volume]
- [Pricing][amazon ebs pricing]
- [Hands-on Guide: How to migrate from gp2 to gp3 volumes and lower AWS cost]
+- [Amazon EBS-optimized instance types]
+- [Instances built on the AWS Nitro System]
### Sources
@@ -252,6 +280,7 @@ aws ec2 describe-volumes --filters "Name=volume-type,Values=gp2" --query 'Volume
- [Modify an Amazon EBS volume using Elastic Volumes operations]
- [How do I increase or decrease the size of my EBS volume?]
- [How Amazon EBS encryption works]
+- [Improving application performance and reducing costs with Amazon EBS-Optimized Instance burst capability]
[amazon ebs pricing]: https://aws.amazon.com/ebs/pricing/
[amazon ebs volume types]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html
+[amazon ebs-optimized instance types]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
[archive amazon ebs snapshots]: https://docs.aws.amazon.com/ebs/latest/userguide/snapshot-archive.html
[automate snapshot lifecycles]: https://docs.aws.amazon.com/ebs/latest/userguide/snapshot-ami-policy.html
[choose the best amazon ebs volume type for your self-managed database deployment]: https://aws.amazon.com/blogs/storage/how-to-choose-the-best-amazon-ebs-volume-type-for-your-self-managed-database-deployment/
@@ -275,6 +305,8 @@ aws ec2 describe-volumes --filters "Name=volume-type,Values=gp2" --query 'Volume
[extend the file system after resizing an ebs volume]: https://docs.aws.amazon.com/ebs/latest/userguide/recognize-expanded-volume-linux.html
[how amazon ebs encryption works]: https://docs.aws.amazon.com/ebs/latest/userguide/how-ebs-encryption-works.html
[how do i increase or decrease the size of my ebs volume?]: https://repost.aws/knowledge-center/ebs-increase-decrease-volume-size
+[improving application performance and reducing costs with amazon ebs-optimized instance burst capability]: https://aws.amazon.com/blogs/compute/improving-application-performance-and-reducing-costs-with-amazon-ebs-optimized-instance-burst-capability/
+[instances built on the aws nitro system]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html
[modify an amazon ebs volume using elastic volumes operations]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html
[what is block storage?]: https://aws.amazon.com/what-is/block-storage/
diff --git a/knowledge base/cloud computing/aws/ec2.md b/knowledge base/cloud computing/aws/ec2.md
index dc5e83c..2472e0d 100644
--- a/knowledge base/cloud computing/aws/ec2.md
+++ b/knowledge base/cloud computing/aws/ec2.md
@@ -20,7 +20,7 @@ Use an instance profile to allow an EC2 instance to use an IAM role.
`T` instances launch as `unlimited` by default. Launch them in `standard` mode to avoid paying for surplus credits.
-The instance type [_can_ be changed][change the instance type]. The procedure depends on the root volume, but does
+The instance type [_can_ be changed][change the instance type]. The procedure depends on the root volume, and **does**
require downtime.
Clone EC2 instances by:
@@ -189,7 +189,7 @@ Also see [CompleteLifecycleAction].
## Image customization
-Refer [ImageBuilder].
+Refer [Image Builder].
## Further readings
diff --git a/knowledge base/cloud computing/aws/rds.md b/knowledge base/cloud computing/aws/rds.md
index 39c5e37..42e3685 100644
--- a/knowledge base/cloud computing/aws/rds.md
+++ b/knowledge base/cloud computing/aws/rds.md
@@ -3,6 +3,7 @@
1. [TL;DR](#tldr)
1. [Engine](#engine)
1. [PostgreSQL](#postgresql)
+1. [Burstable instances](#burstable-instances)
1. [Storage](#storage)
1. [Parameter Groups](#parameter-groups)
1. [Option Groups](#option-groups)
@@ -13,16 +14,20 @@
1. [Restore](#restore)
1. [Encryption](#encryption)
1. [Operations](#operations)
- 1. [PostgreSQL: reduce allocated storage by migrating using transportable databases](#postgresql-reduce-allocated-storage-by-migrating-using-transportable-databases)
+ 1. [PostgreSQL: reduce allocated storage by migrating using transportable databases](#postgresql-reduce-allocated-storage-by-migrating-using-transportable-databases)
1. [Troubleshooting](#troubleshooting)
1. [ERROR: extension must be loaded via shared\_preload\_libraries](#error-extension-must-be-loaded-via-shared_preload_libraries)
1. [ERROR: must be superuser to alter _X_ roles or change _X_ attribute](#error-must-be-superuser-to-alter-x-roles-or-change-x-attribute)
1. [Transport fails asking for the remote user must have superuser, but it already does](#transport-fails-asking-for-the-remote-user-must-have-superuser-but-it-already-does)
+ 1. [The instance is unbearably slow](#the-instance-is-unbearably-slow)
1. [Further readings](#further-readings)
1. [Sources](#sources)
## TL;DR
+`T` instances are burstable for CPU, EBS, and network.
+They are **always** configured for `Unlimited` mode in RDS.
+
CLI usage
@@ -139,9 +144,20 @@ Maintenance windows are paused when their DB instances are stopped.
Refer [Understanding PostgreSQL roles and permissions].
+## Burstable instances
+
+`T` instances are burstable.
+
+Refer [the relative section in the EC2 article](ec2#burstable-instances), with the difference that, instances burst for
+CPU, EBS, **and** network.
+They are also **always** configured for `Unlimited` mode in RDS.
+
+Burstable performance instances for RDS provide baseline levels of CPU, EBS and network utilization, with the ability to
+burst all those utilization above the baseline levels.
+
## Storage
-Refer [Amazon RDS DB instance storage].
+Refer [Amazon RDS DB instance storage] and [EBS].
When selecting General Purpose SSD or Provisioned IOPS SSD, RDS automatically stripes storage across multiple volumes to
enhance performance depending on the engine selected and the amount of storage requested:
@@ -725,7 +741,8 @@ Actions involving altering protected roles or changing protected attributes are
### Transport fails asking for the remote user must have superuser, but it already does
-Error message example:
+
+ Error message example
> ```plaintext
> Cannot execute SQL 'SELECT transport.import_from_server(
@@ -739,9 +756,42 @@ Error message example:
> );' None: remote user must have superuser (or rds_superuser if on RDS)
> ```
-_Speculative_ root cause: RDS did not finish to properly apply the settings.
+
-Solution: reboot the source and target instance and retry.
+
+ Speculative Root cause
+
+RDS did not finish to properly apply the settings.
+
+
+
+
+ Solution
+
+Reboot the source and target instance and retry.
+
+
+
+### The instance is unbearably slow
+
+
+ Root cause
+
+The instance might be out of burst credits.
+
+If the available burst credits are depleted or zero, then the CPU, storage, or network throughput includes heavy read
+or write workloads and exceeds the instance type quotas.
+
+
+
+
+ Solution
+
+- Lower the throughput utilization, and/or
+- Scale up to an instance type that has a higher baseline and maximum throughput.
+ Refer [Amazon EBS-optimized instance types] to choose which one.
+
+
## Further readings
@@ -780,6 +830,7 @@ Solution: reboot the source and target instance and retry.
[backup]: #backup
+[ebs]: ebs.md
[s3]: s3.md
@@ -805,6 +856,7 @@ Solution: reboot the source and target instance and retry.
[working with db instance read replicas]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
[working with parameter groups]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html
[working with parameters on your rds for postgresql db instance]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.Parameters.html
+[amazon ebs-optimized instance types]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html
[backing up login roles aka users and group roles]: https://www.postgresonline.com/article_pfriendly/81.html