diff --git a/knowledge base/cloud computing/aws/README.md b/knowledge base/cloud computing/aws/README.md index 189425e..ac967aa 100644 --- a/knowledge base/cloud computing/aws/README.md +++ b/knowledge base/cloud computing/aws/README.md @@ -58,6 +58,7 @@ One can can rapidly remapping addresses to other instances in one's account and | [EventBridge] | FIXME | | [GuardDuty] | Threat detection | | [Inspector] | FIXME | +| [OpenSearch] | ELK, logging | | [RDS] | Databases | | [S3] | Storage | | [Sagemaker] | Machine learning | @@ -315,6 +316,7 @@ Examples: [ecr]: ecr.md [ecs]: ecs.md [eks]: eks.md +[opensearch]: opensearch.md [s3]: s3.md [sagemaker]: sagemaker.md diff --git a/knowledge base/cloud computing/aws/opensearch.md b/knowledge base/cloud computing/aws/opensearch.md new file mode 100644 index 0000000..081fae7 --- /dev/null +++ b/knowledge base/cloud computing/aws/opensearch.md @@ -0,0 +1,63 @@ +# Amazon OpenSearch Service + +Amazon offering for managed OpenSearch clusters. + +1. [Cost-saving measures](#cost-saving-measures) +1. [Further readings](#further-readings) + 1. [Sources](#sources) + +## Cost-saving measures + +- Choose good instance types and sizes.
+ Leverage the ability to select them to tailor the service offering to one's needs. +- Consider using reserved instances for long-term savings. +- Enable index-level compression to save storage space and reduce I/O costs. +- Use Index Lifecycle Management policies to move old data in lower storage tiers. +- Consider using [S3] as data store for infrequently accessed or archived data. +- Consider adjusting the frequency and retention period of snapshots.
+ By default, AWS OpenSearch takes **daily** snapshots and retains them for **14 days**. +- Enable autoscaling. +- Optimize indexes' sharding and replication. +- Optimize queries. +- Optimize data ingestion. +- Optimize indexes' mapping and settings. +- Optimize the JVM heap size. +- Summarize and compress historical data using Rollups. +- Check out caches. +- Reduce the number of requests using throttling and rate limiting. +- Move to single-AZ deployments. +- Leverage Spot Instances for data ingestion and processing. +- Compress source data before sending it to OpenSearch to reduce the storage footprint and data transfer costs. +- Share a single OpenSearch cluster with multiple accounts to reduce the overall number of instances and resources. + +## Further readings + +- [OpenSearch] + +### Sources + +- [Cost-saving strategies for AWS OpenSearch(FinOps): optimize performance without breaking the bank] +- [OpenSearch cost optimization: 12 expert tips] +- [How do I reduce the cost of using OpenSearch Service domains?] +- [Right-size Amazon OpenSearch instances to cut costs by 50% or more] +- [Reducing Amazon OpenSearch service costs: our journey to over 60% savings] + + + + + +[opensearch]: ../../opensearch.md +[s3]: s3.md + + + +[how do i reduce the cost of using opensearch service domains?]: https://repost.aws/knowledge-center/opensearch-domain-pricing + + +[cost-saving strategies for aws opensearch(finops): optimize performance without breaking the bank]: https://ramchandra-vadranam.medium.com/cost-saving-strategies-for-aws-opensearch-finops-optimize-performance-without-breaking-the-bank-f87f0bb2ce37 +[opensearch cost optimization: 12 expert tips]: https://opster.com/guides/opensearch/opensearch-capacity-planning/how-to-reduce-opensearch-costs/ +[right-size amazon opensearch instances to cut costs by 50% or more]: https://cloudfix.com/blog/right-size-amazon-opensearch-instances-cut-costs/ +[reducing amazon opensearch service costs: our journey to over 60% savings]: https://medium.com/kreuzwerker-gmbh/how-we-accelerate-financial-and-operational-efficiency-with-amazon-opensearch-6b86b41d50a0 diff --git a/snippets/aws.fish b/snippets/aws.fish index 2f3bbab..2c262ef 100644 --- a/snippets/aws.fish +++ b/snippets/aws.fish @@ -75,7 +75,7 @@ aws iam list-instance-profiles | grep -i 'ssm' sudo ssm-cli get-diagnostics --output 'table' # Check instances are available -aws ssm get-connection-status --target "i-0915612ff82914822" --query "Status=='connected'" --output 'text' +aws ssm get-connection-status --query "Status=='connected'" --output 'text' --target "i-0915612ff82914822" # Connect to instances if they are available instance_id='i-08fc83ad07487d72f' \ @@ -96,3 +96,6 @@ set instance_id 'i-0915612f182914822' \ && aws ssm wait command-executed --command-id "$command_id" --instance-id "$instance_id" \ && aws ssm get-command-invocation --command-id "$command_id" --instance-id "$instance_id" \ --query '{"status": Status, "rc": ResponseCode, "stdout": StandardOutputContent, "stderr": StandardErrorContent}' + +aws imagebuilder list-image-recipes +aws imagebuilder get-image-recipe --image-recipe-arn 'arn:aws:imagebuilder:eu-west-1:012345678901:image-recipe/my-custom-image/1.0.12'