Post Syndicated from The History Guy: History Deserves to Be Remembered original https://www.youtube.com/watch?v=filpWyZjcpk
Yearly Archives: 2024
How an insurance company implements disaster recovery of 3-tier applications
Post Syndicated from Amit Narang original https://aws.amazon.com/blogs/architecture/how-an-insurance-company-implements-disaster-recovery-of-3-tier-applications/
A good strategy for resilience will include operating with high availability and planning for business continuity. It also accounts for the incidence of natural disasters, such as earthquakes or floods and technical failures, such as power failure or network connectivity. AWS recommends a multi-AZ strategy for high availability and a multi-Region strategy for disaster recovery. In this post, we explore how one of our customers, a US-based insurance company, uses cloud-native services to implement the disaster recovery of 3-tier applications.
At this insurance company, a relevant number of critical applications are 3-tier Java or .Net applications. These applications require access to IBM DB2, Oracle, or Microsoft SQLServer databases that run on Amazon EC2 instances. The requirement was to create a disaster recovery strategy that implements a Pilot Light or Warm/Standby scenario. This design needs to keep costs at a minimum, and it needs to allow for failure detection and manual failover of resources. Furthermore, it needs to keep the Recovery Time Objective (RTO) and the Recovery Point Objective (RPO) under 15 minutes. Finally, the solution could not use any public resources.
The solution
Amazon Route53 Application Recovery Controller (Route53 ARC) helps manage and orchestrate application failover and recovery across multiple AWS Regions or on-premises environments. It is specifically focused on managing DNS routing and traffic management during failover and recovery operation; however, some customers decide to implement their own strategies for application recovery. In this blog, we are going to focus on how one of our financial services customer implements it.
The Well-Architected framework explains that a good disaster recovery plan needs to manage configuration drift. A good practice is to use the delivery pipeline to deploy to both Regions and to regularly test the recovery pattern. There are customers that go a step further and even choose to operate in the secondary Region for a period of time.
The solution chosen by one of our leading insurance customers encompasses two distinct scenarios: a failover and a failback scenario. The failover scenario covers a list of steps to failover applications from the primary Region to the secondary Region. The failback process is the return of the operations to the primary Region.
Failover
Our customer decided to test the Pilot Light scenario. This scenario considers an application and a database deployed both in the primary and secondary Regions. As a requirement to achieve the 15-minute RPO, an application deployed in the primary Region needs to replicate data to the secondary Region. This async replication is implemented for each of the company’s database engines (DB2, SQLServer, Oracle) using native tooling. Leveraging native tooling was an existing practice and going with it would help minimize any operational impact.
It is important to notice that the detection and failover mechanisms is created in the secondary Region. This ensures these components will remain available when the primary Region becomes unavailable. Another important aspect is to establish connectivity between the two networks. This is needed to allow for the database replication.
Figure 1. The Pilot Light scenario for a 3-tier application that has application servers and a database deployed in two Regions
The failover procedure uses the following steps for detection and failover:
- An Amazon EventBridge scheduler runs the AWS Lambda function every 60 seconds.
- The Lambda function tests the application endpoint and adds a custom metric to Amazon CloudWatch. If the application is unavailable, a CloudWatch Alarm will start the Lambda Function that initiates the failover.
- A Lambda function initiates the failover by starting a Jenkins pipeline. The pipeline will failover the application and the database to the secondary Region. The Jenkins pipeline starts with a manual approval step, ensuring that the failover process does not start automatically.
- Once approvers validate the necessity of the failover, they approve the workflow, and the pipeline moves to the next stage.
- The pipeline failovers the database, promoting the database in the secondary Region to the primary state and enables write operations.
- Next, start or scale out application servers that run on EC2 instances or containers. This is important to assure they will support the increased load in the secondary Region once failover is complete.
- At this point, database and application servers are ready to receive load. Next, the Application Load Balancer (ALB) needs to failover to the secondary Region. Route53 failover routing policy automatically failovers between Regions, but this customer wanted to manually control this step using a health check. To implement a manual failover of the ALB, the pipeline creates a file in a designated S3 bucket. A Lambda function regularly checks if this file exists in the expected location. If so, it triggers a CloudWatch Alarm and the Route53 health check will fail. At this point, Route 53 will redirect traffic to the ALB in the secondary Region, becoming the new active endpoint.
Failback
The failback scenario starts when all the required services become online in the primary Region. AWS recommends using AWS Personal Health Dashboard to check for service health. Figure 2 illustrates the failback process in detail. It shows the step-by-step flow from initiating the failback procedure to the final DNS switchover, highlighting the key components and interactions involved in each stage. This visual representation helps to clarify the complex process of returning operations to the primary Region.
Figure 2. Diagram of the failback process
The failback procedure is implemented in six steps:
- A cloud operator or Site Reliability Engineer (SRE) initiates the failback procedure by submitting a form on an HTML page. A Lambda function starts a Jenkins pipeline.
- The pipeline initiates the delta sync replication of the database. This ensures that data changes made in the secondary Region are replicated to the primary Region.
- The next stage is a manual approval to recover back to the primary Region, where the SRE verifies that the databases are in sync and all services needed are online in the primary Region.
- Upon approval, the pipeline starts the application servers in the primary Region.
- Next, the database in the primary Region is promoted for write operations. The database endpoint in the secondary Region is updated to point to the primary Region’s database.
- As explained in the failover section, the DNS switchover depends on a file existing in S3. Since this file was created for our failover event, the pipeline will now remove this file. The Lambda function identifies the change and updates the state of the CloudWatch Alarm, then the Route53 Healthcheck will change the state. At this point, the ALB in the primary Region becomes active and failback completes successfully.
Benefits
This customer identified the following benefits in implementing this design:
- Customizable solution that aligns with the company’s internal processes, operating model, and technologies in use
- Standardized pattern applicable across the organization for applications with different technologies, including databases, Windows and Linux applications running on EC2
- Recovery Point Objective (RPO) and Recovery Time Objective (RTO) of less than 15 minutes
- A cost optimized solution that uses cloud native services to implement the detection and failover scenarios
Conclusion
The solution for the disaster recovery of 3-tier applications demonstrates this financial services customer’s commitment to ensuring business continuity and resilience. This design showcases the company’s ability to tailor their architecture to their specific requirements. Achieving an RPO and RTO of less than 15 minutes for critical applications is a remarkable feat. It ensures minimal disruption to business operations during regional outages.
Furthermore, this solution leverages existing technologies and processes within the company, allowing for seamless integration and adoption across the organization. The ability to standardize this pattern for applications with different technologies helps simplifying the operating model.
If you’re an enterprise seeking to enhance the resilience of your critical applications, this disaster recovery solution from one of our enterprise customers serves as an inspiring example. To further explore the disaster recovery strategies and best practices on AWS, we recommend the following resources:
- Disaster Recovery of Workloads on AWS: Recovery in the Cloud: Provides a comprehensive overview of disaster recovery concepts and strategies on AWS.
- Creating a Multi-Region Application with AWS Services: A three-part blog post offers insights into designing applications that span multiple AWS Regions for improved resilience.
- AWS Well-Architected Framework – Reliability Pillar: Discusses best practices for building reliable and resilient systems on AWS.
- Disaster Recovery Architectures on AWS: A four-part blog post with a collection of reference architectures for various disaster recovery scenarios.
Peek inside your AWS CloudFormation Deployments with timeline view
Post Syndicated from Idriss Laouali Abdou original https://aws.amazon.com/blogs/devops/peek-inside-your-aws-cloudformation-deployments-with-timeline-view/
AWS CloudFormation makes it easy to model and provision your cloud application infrastructure as code. CloudFormation templates can be written directly in JSON or YAML, or they can be generated by tools like the AWS Cloud Development Kit (CDK). These templates are submitted to the CloudFormation service and the resources are deployed together as stacks, in dependency order. Stack events can be viewed in a tabular format in the console, which provides fine-grained details about each event. And now there is a new feature that offers a more visually intuitive view of the events called the deployment timeline view, which provides a visualization of the sequence of actions CloudFormation took in a stack operation. This visual timeline shows you the exact order in which resources are provisioned, dependencies between resources, provisioning times, and likely root causes for any deployment failures. It complements the existing tabular stack events view by giving you additional context and visibility into what happens behind the scenes during deployments.

Figure 1: CloudFormation deployment timeline view feature overview
How It Works
To use the new deployment timeline view, simply initiate a stack create, update, or delete operation. In the AWS CloudFormation Console, choose the Events tab, then click the Timeline view tab next to Table View. As CloudFormation begins provisioning the resources defined in your template, you’ll see each resource operation appear as a bar in the timeline view. The resources are organized in a vertical stack, chronologically ordered with the most recent resource operation at the top. Each resource action is visualized horizontally, segmented by different color bars for each resource action:

In dark mode, in-progress rollback and completed rollback switch colors.
You can hover over any bar to see additional details like the full resource name and the start/end times of the resource action. If a deployment fails, CloudFormation will highlight the resource operation that was the likely root cause node in a red-and-white striped bar, which you can hover over to see the specific failure reason.
Creating a simple stack
Create a simple stack using CloudFormation Console. You will initiate a deployment and then explore the visual timeline view.
1. From the CloudFormation console, click Create stack and then choose with new resources.

Figure 2: CloudFormation’s create stack console button
2. In the Create stack wizard, click Choose an existing template and then choose Upload a template file. Click Choose file to select and upload the template file of the stack to deploy. In this blog you will use the template available here. Download the template or you can use your own template. If you decide to use your own template, it will result in a different deployment timeline view.
Figure 3: CloudFormation’s create stack console wizard
The application stack includes the following key resources: Amazon EC2 instance (AWS::EC2::Instance), an Amazon VPC (AWS::EC2::VPC) and related VPC resources like subnets (AWS::EC2::Subnet) and an internet gateway (AWS::EC2::InternetGateway).
3. Once the template is uploaded to S3, click Next, then provide a stack name and parameters if needed. Complete the remaining stack deployment configuration steps, then initiate the stack creation operation.
4. On the stack events page, click the Deployment timeline tab next to Events.
You should now see the deployment timeline view rendering in real-time as CloudFormation provisions the VPC networking resources first, followed by the security group, subnet, and lastly, the EC2 instance.
Figure 4: Real-time CloudFormation in-progress deployment timeline view
5. The timeline refreshes every five seconds to update the deployment progress. Five seconds later you have the below timeline view.

Figure 5: Updated CloudFormation deployment timeline after five second
Figure 6: CloudFormation completed deployment timeline view
The above timeline shows, from the bottom to the top, bars representing each resource CloudFormation provisioned, with virtual vertical dependency lines showing the orders in which each resource operation occurred. The bars change colors as operations progress from blue (in-progress), to yellow consistency check, green (success) or red (failed).
Figure 7: CloudFormation deployment timeline view – resource detail popover
Hover over any bar to see details like the start/end time of each deployment phase and the full resource name. The detailed information in the graph’s popover shows that CloudFormation created the InternetGateway resource in two seconds, then waited for 15-seconds to check if the resource was fully operational before marking as complete. This phase is called the resource consistency check phase, also known as the resource stabilization phase. It allows CloudFormation and other Infrastructure as Code (IaC) tools to ensure resilient deployments. To learn more, read this post about CloudFormation optimistic stabilization strategy.
Stack in a rollback complete state
When a stack deployment fails, CloudFormation rolls your stack back to its initial stable state before the current stack operation. The deployment timeline view below shows a failed stack operation in a complete rollback state. You can see the likely root cause resource highlighted in a red-and-white striped color so you can instantly identify it and start troubleshooting.


Figure 8: Deployment timeline view of a stack in rollback complete
Conclusion
The new CloudFormation deployment timeline view provides visibility into the orchestration flow and dependencies involved when CloudFormation provisions resources defined in your infrastructure-as-code templates. With this visual timeline view, you can quickly identify the root cause of deployment failures before operations complete and better understand the provisioning process. This feature is available now in all AWS regions where CloudFormation is supported. Visit the CloudFormation console to start using deployment timeline view.
About the authors:
How to build custom nodes workflow with ComfyUI on Amazon EKS
Post Syndicated from Wang Rui original https://aws.amazon.com/blogs/architecture/how-to-build-custom-nodes-workflow-with-comfyui-on-amazon-eks/
ComfyUI is an open-source node-based workflow solution for Stable Diffusion and increasingly being used by many creators. We previously published a blog and solution about how to deploy ComfyUI on AWS.
Typically, ComfyUI users use various custom nodes, which extend the capabilities of ComfyUI, to build their own workflows, often using ComfyUI-Manager to conveniently install and manage their custom nodes.
Following our blog post, we received numerous customer requests to integrate ComfyUI custom nodes into our solution. This post will guide you through the process of integrating custom nodes within ComfyUI-on-EKS.
Architecture overview
Figure 1. Architecture diagram showing the ComfyUI integration with Amazon EKS
To integrate custom nodes within ComfyUI-on-EKS solution, we need to prepare custom nodes codes and environment, as well as needed models:
- Code and Environment: Custom node code is placed in
$HOME/ComfyUI/custom_nodes, and the environment is prepared by running pip install -r on all requirements.txt files in the custom node directories (any dependency conflicts between custom nodes need to be handled separately). Additionally, any system packages required by the custom nodes also should be installed. All these operations are performed through the Dockerfile, building an image containing the required custom nodes. - Models: Models used by custom nodes are placed in different directories under
s3://comfyui-models-{account_id}-{region}. This triggers a Lambda function to send commands to all GPU nodes to synchronize the newly uploaded models to local instance store.
We’ll use the Stable Video Diffusion (SVD) – Image to video generation with high FPS workflow as an example to illustrate how to integrate custom nodes (you can also use your own workflow).
Build docker image
When loading this workflow, it will display the missing custom nodes. Next, we will build the missing custom nodes into the docker image.
Figure 2. Error message showing the missing node types
There are two ways to build the image:
- Build from GitHub: In the Dockerfile, download the code for each custom node and set up the environment and dependencies separately.
- Build locally: Copy all the custom nodes from your local Dev environment into the image and set up the environment and dependencies.
Before building the image, please switch to the corresponding branch
git clone https://github.com/aws-samples/comfyui-on-eks ~/comfyui-on-eks
cd ~/comfyui-on-eks && git checkout custom_nodes_demo
Build from GitHub
Install custom nodes and dependencies with RUN command in the Dockerfile. You’ll need to find the GitHub URLs for all missing custom nodes.
...
RUN apt-get update && apt-get install -y \
git \
python3.10 \
python3-pip \
# needed by custom node ComfyUI-VideoHelperSuite
libsm6 \
libgl1 \
libglib2.0-0
...
# Custom nodes demo of https://comfyworkflows.com/workflows/bf3b455d-ba13-4063-9ab7-ff1de0c9fa75
## custom node ComfyUI-Stable-Video-Diffusion
RUN cd /app/ComfyUI/custom_nodes && git clone https://github.com/thecooltechguy/ComfyUI-Stable-Video-Diffusion.git && cd ComfyUI-Stable-Video-Diffusion/ && python3 install.py
## custom node ComfyUI-VideoHelperSuite
RUN cd /app/ComfyUI/custom_nodes && git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git && pip3 install -r ComfyUI-VideoHelperSuite/requirements.txt
## custom node ComfyUI-Frame-Interpolation
RUN cd /app/ComfyUI/custom_nodes && git clone https://github.com/Fannovel16/ComfyUI-Frame-Interpolation.git && cd ComfyUI-Frame-Interpolation/ && python3 install.py
...
Refer to comfyui-on-eks/comfyui_image/Dockerfile.github for the complete Dockerfile.
Run following command to build and push Docker image
region="us-west-2" # Modify the region to your current region.
cd ~/comfyui-on-eks/comfyui_image/ && bash build_and_push.sh $region Dockerfile.github
Building from GitHub provides a clear understanding of the installation method, version, and environmental dependencies for each custom node, providing better control over the entire ComfyUI environment.
However, when there are too many custom nodes, installation and management can be time-consuming, and you need to find the URL for each custom node yourself (on the other hand, this can also be seen as a pro, as it makes you more familiar with the entire ComfyUI environment).
Build locally
Often, we use ComfyUI-Manager to install missing custom nodes. ComfyUI-Manager hides the installation details, and we cannot clearly know which custom nodes have been installed. In this case, we can build the image by COPY the entire ComfyUI directory (except the input, output, models, and other directories) into the Dockerfile.
The prerequisite for building the image locally is that you already have a working ComfyUI environment with custom nodes. In the same directory as ComfyUI, create a .dockerignore file and add the following content to ignore these directories when building the Docker image
ComfyUI/models
ComfyUI/input
ComfyUI/output
ComfyUI/custom_nodes/ComfyUI-Manager
Copy the two files comfyui-on-eks/comfyui_image/Dockerfile.local and comfyui-on-eks/comfyui_image/build_and_push.sh to the same directory as your local ComfyUI, like this:
ubuntu@comfyui:~$ ll
-rwxrwxr-x 1 ubuntu ubuntu 792 Jul 16 10:27 build_and_push.sh*
drwxrwxr-x 19 ubuntu ubuntu 4096 Jul 15 08:10 ComfyUI/
-rw-rw-r-- 1 ubuntu ubuntu 784 Jul 16 10:41 Dockerfile.local
-rw-rw-r-- 1 ubuntu ubuntu 81 Jul 16 10:45 .dockerignore
...
The Dockerfile.local builds the image by COPY the directory
...
# Python Evn
RUN pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121
COPY ComfyUI /app/ComfyUI
RUN pip3 install -r /app/ComfyUI/requirements.txt
# Custom Nodes Env, may encounter some conflicts
RUN find /app/ComfyUI/custom_nodes -maxdepth 2 -name "requirements.txt"|xargs -I {} pip install -r {}
...
Refer to comfyui-on-eks/comfyui_image/Dockerfile.local for the complete Dockerfile.
Run the following command to build and upload the Docker image
region="us-west-2" # Modify the region to your current region.
bash build_and_push.sh $region Dockerfile.local
With this method, you can easily and quickly build your local Dev environment into an image for deployment, without paying attention to the installation, version, and dependency details of custom nodes when there are many of them.
However, not paying attention to the deployment environment of custom nodes may cause conflicts or missing dependencies, which need to be manually tested and resolved.
Upload models
Upload all the models needed for the workflow to the s3://comfyui-models-{account_id}-{region} corresponding directory using your preferred method. The GPU nodes will automatically sync from Amazon S3 (triggered by Lambda). If the models are large and numerous, you might need to wait. You can log into the GPU nodes using the aws ssm start-session --target ${instance_id} command and use the ps command to check the progress of the aws s3 sync process.
To set up this demo, you need to download the following models to s3://comfyui-models-{account_id}-{region}/svd/:
Test the Docker image locally (optional)
Since there are many types of custom nodes with different dependencies and versions, the runtime environment is quite complex. We recommend testing the Docker image locally after building it to ensure it runs correctly.
Refer to the code in comfyui-on-eks/comfyui_image/test_docker_image_locally.sh. Prepare the models and input directories (assuming the models and input images are stored in /home/ubuntu/ComfyUI/models and /home/ubuntu/ComfyUI/input respectively), and run the script to test the Docker image:
bash comfyui-on-eks/comfyui_image/test_docker_image_locally.sh
Rolling update K8S pods
Use your preferred method to perform a rolling update of the image for the online K8S pods, and then test the service.
Note, to run this demo, you need to:
- use g5.2xlarge GPU node
- set lower num_frames in Load Stable Video Diffusion Model (for example to 6)
- set lower decoding_t in Stable Video Diffusion Decoder node (for example to 1)
Figure 3. Screenshot showing the rolling update demo
Conclusion
Custom nodes empower creators to unleash the full potential of ComfyUI by seamlessly integrating a wide range of capabilities into their own workflows.
This article demonstrate how to build custom nodes into ComfyUI-on-EKS solution, you can build your own ComfyUI CI/CD pipeline following the instructions.
Use Amazon Kinesis Data Streams to deliver real-time data to Amazon OpenSearch Service domains with Amazon OpenSearch Ingestion
Post Syndicated from M Mehrtens original https://aws.amazon.com/blogs/big-data/use-amazon-kinesis-data-streams-to-deliver-real-time-data-to-amazon-opensearch-service-domains-with-amazon-opensearch-ingestion/
In this post, we show how to use Amazon Kinesis Data Streams to buffer and aggregate real-time streaming data for delivery into Amazon OpenSearch Service domains and collections using Amazon OpenSearch Ingestion. You can use this approach for a variety of use cases, from real-time log analytics to integrating application messaging data for real-time search. In this post, we focus on the use case for centralizing log aggregation for an organization that has a compliance need to archive and retain its log data.
Kinesis Data Streams is a fully managed, serverless data streaming service that stores and ingests various streaming data in real time at any scale. For log analytics use cases, Kinesis Data Streams enhances log aggregation by decoupling producer and consumer applications, and providing a resilient, scalable buffer to capture and serve log data. This decoupling provides advantages over traditional architectures. As log producers scale up and down, Kinesis Data Streams can be scaled dynamically to persistently buffer log data. This prevents load changes from impacting an OpenSearch Service domain, and provides a resilient store of log data for consumption. It also allows for multiple consumers to process log data in real time, providing a persistent store of real-time data for applications to consume. This allows the log analytics pipeline to meet Well-Architected best practices for resilience (REL04-BP02) and cost (COST09-BP02).
OpenSearch Ingestion is a serverless pipeline that provides powerful tools for extracting, transforming, and loading data into an OpenSearch Service domain. OpenSearch Ingestion integrates with many AWS services, and provides ready-made blueprints to accelerate ingesting data for a variety of analytics use cases into OpenSearch Service domains. When paired with Kinesis Data Streams, OpenSearch Ingestion allows for sophisticated real-time analytics of data, and helps reduce the undifferentiated heavy lifting of creating a real-time search and analytics architecture.
Solution overview
In this solution, we consider a common use case for centralized log aggregation for an organization. Organizations might consider a centralized log aggregation approach for a variety of reasons. Many organizations have compliance and governance requirements that have stipulations for what data needs to be logged, and how long log data must be retained and remain searchable for investigations. Other organizations seek to consolidate application and security operations, and provide common observability toolsets and capabilities across their teams.
To meet such requirements, you need to collect data from log sources (producers) in a scalable, resilient, and cost-effective manner. Log sources may vary between application and infrastructure use cases and configurations, as illustrated in the following table.
| Log Producer | Example | Example Producer Log Configuration |
| Application Logs | AWS Lambda | Amazon CloudWatch Logs |
| Application Agents | FluentBit | Amazon OpenSearch Ingestion |
| AWS Service Logs | Amazon Web Application Firewall | Amazon S3 |
The following diagram illustrates an example architecture.

You can use Kinesis Data Streams for a variety of these use cases. You can configure Amazon CloudWatch logs to send data to Kinesis Data Streams using a subscription filter (see Real-time processing of log data with subscriptions). If you send data with Kinesis Data Streams for analytics use cases, you can use OpenSearch Ingestion to create a scalable, extensible pipeline to consume your streaming data and write it to OpenSearch Service indexes. Kinesis Data Streams provides a buffer that can support multiple consumers, configurable retention, and built-in integration with a variety of AWS services. For other use cases where data is stored in Amazon Simple Storage Service (Amazon S3), or where an agent writes data such as FluentBit, an agent can write data directly to OpenSearch Ingestion without an intermediate buffer thanks to OpenSearch Ingestion’s built-in persistent buffers and automatic scaling.
Standardizing logging approaches reduces development and operational overhead for organizations. For example, you might standardize on all applications logging to CloudWatch logs when feasible, and also handle Amazon S3 logs where CloudWatch logs are unsupported. This reduces the number of use cases that a centralized team needs to handle in their log aggregation approach, and reduces the complexity of the log aggregation solution. For more sophisticated development teams, you might standardize on using FluentBit agents to write data directly to OpenSearch Ingestion to lower cost when log data doesn’t need to be stored in CloudWatch.
This solution focuses on using CloudWatch logs as a data source for log aggregation. For the Amazon S3 log use case, see Using an OpenSearch Ingestion pipeline with Amazon S3. For agent-based solutions, see the agent-specific documentation for integration with OpenSearch Ingestion, such as Using an OpenSearch Ingestion pipeline with Fluent Bit.
Prerequisites
Several key pieces of infrastructure used in this solution are required to ingest data into OpenSearch Service with OpenSearch Ingestion:
- A Kinesis data stream to aggregate the log data from CloudWatch
- An OpenSearch domain to store the log data
When creating the Kinesis data stream, we recommend starting with On-Demand mode. This will allow Kinesis Data Streams to automatically scale the number of shards needed for your log throughput. After you identify the steady state workload for your log aggregation use case, we recommend moving to Provisioned mode, using the number of shards identified in On-Demand mode. This can help you optimize long-term cost for high-throughput use cases.
In general, we recommend using one Kinesis data stream for your log aggregation workload. OpenSearch Ingestion supports up to 96 OCUs per pipeline, and 24,000 characters per pipeline definition file (see OpenSearch Ingestion quotas). This means that each pipeline can support a Kinesis data stream with up to 96 shards, because each OCU processes one shard. Using one Kinesis data stream simplifies the overall process to aggregate log data into OpenSearch Service, and simplifies the process for creating and managing subscription filters for log groups.
Depending on the scale of your log workloads, and the complexity of your OpenSearch Ingestion pipeline logic, you may consider more Kinesis data streams for your use case. For example, you may consider one stream for each major log type in your production workload. Having log data for different use cases separated into different streams can help reduce the operational complexity of managing OpenSearch Ingestion pipelines, and allows you to scale and deploy changes to each log use case separately when required.
To create a Kinesis Data Stream, see Create a data stream.
To create an OpenSearch domain, see Creating and managing Amazon OpenSearch domains.
Configure log subscription filters
You can implement CloudWatch log group subscription filters at the account level or log group level. In both cases, we recommend creating a subscription filter with a random distribution method to make sure log data is evenly distributed across Kinesis data stream shards.
Account-level subscription filters are applied to all log groups in an account, and can be used to subscribe all log data to a single destination. This works well if you want to store all your log data in OpenSearch Service using Kinesis Data Streams. There is a limit of one account-level subscription filter per account. Using Kinesis Data Streams as the destination also allows you to have multiple log consumers to process the account log data when relevant. To create an account-level subscription filter, see Account-level subscription filters.
Log group-level subscription filters are applied on each log group. This approach works well if you want to store a subset of your log data in OpenSearch Service using Kinesis Data Streams, and if you want to use multiple different data streams to store and process multiple log types. There is a limit of two log group-level subscription filters per log group. To create a log group-level subscription filter, see Log group-level subscription filters.
After you create your subscription filter, verify that log data is being sent to your Kinesis data stream. On the Kinesis Data Streams console, choose the link for your stream name.

Choose a shard with Starting position set as Trim horizon, and choose Get records.

You should see records with a unique Partition key column value and binary Data column. This is because CloudWatch sends data in .gzip format to compress log data.
Configure an OpenSearch Ingestion pipeline
Now that you have a Kinesis data stream and CloudWatch subscription filters to send data to the data stream, you can configure your OpenSearch Ingestion pipeline to process your log data. To begin, you create an AWS Identity and Access Management (IAM) role that allows read access to the Kinesis data stream and read/write access to the OpenSearch domain. To create your pipeline, your manager role that is used to create the pipeline will require iam:PassRole permissions to the pipeline role created in this step.
- Create an IAM role with the following permissions to read from your Kinesis data stream and access your OpenSearch domain:
- Give your role a trust policy that allows access from osis-pipelines.amazonaws.com:
For a pipeline to write data to a domain, the domain must have a domain-level access policy that allows the pipeline role to access it, and if your domain uses fine-grained access control, then the IAM role needs to be mapped to a backend role in the OpenSearch Service security plugin that allows access to create and write to indexes.
- After you create your pipeline role, on the OpenSearch Service console, choose Pipelines under Ingestion in the navigation pane.
- Choose Create pipeline.

- Search for Kinesis in the blueprints, select the Kinesis Data Streams blueprint, and choose Select blueprint.

- Under Pipeline settings, enter a name for your pipeline, and set Max capacity for the pipeline to be equal to the number of shards in your Kinesis data stream.
If you’re using On-Demand mode for the data stream, choose a capacity equal to the current number of shards in the stream. This use case doesn’t require a persistent buffer, because Kinesis Data Streams provides a persistent buffer for the log data, and OpenSearch Ingestion tracks its position in the Kinesis data stream over time, preventing data loss on restarts.

- Under Pipeline configuration, update the pipeline source settings to use your Kinesis data stream name and pipeline IAM role Amazon Resource Name (ARN).
For full configuration information, see . For most configurations, you can use the default values. By default, the pipeline will write batches of 100 documents every 1 second, and will subscribe to the Kinesis data stream from the latest position in the stream using enhanced fan-out, checkpointing its position in the stream every 2 minutes. You can adjust this behavior as desired to tune how frequently the consumer checkpoints, where it begins in the stream, and use polling to reduce costs from enhanced fan-out.
- Update the pipeline sink settings to include your OpenSearch domain endpoint URL and pipeline IAM role ARN.
The IAM role ARN must be the same for both the OpenSearch Servicer sink definition and the Kinesis Data Streams source definition. You can control what data gets indexed in different indexes using the index definition in the sink. For example, you can use metadata about the Kinesis data stream name to index by data stream (${getMetadata("kinesis_stream_name")), or you can use document fields to index data depending on the CloudWatch log group or other document data (${path/to/field/in/document}). In this example, we use three document-level fields (data_stream.type, data_stream.dataset, and data_stream.namespace) to index our documents, and create these fields in our pipeline processor logic in the next section:
Finally, you can update the pipeline configuration to include processor definitions to transform your log data before writing documents to the OpenSearch domain. For example, this use case adopts Simple Schema for Observability (SS4O) and uses the OpenSearch Ingestion pipeline to create the desired schema for SS4O. This includes adding common fields to associate metadata with the indexed documents, as well as parsing the log data to make data more searchable. This use case also uses the log group name to identify different log types as datasets, and uses this information to write documents to different indexes depending on their use cases.
- Rename the CloudWatch event timestamp to mark the observed timestamp when the log was generated using the rename_keys processor, and add the current timestamp as the processed timestamp when OpenSearch Ingestion handled the record using the date processor:
- Use the add_entries processor to include metadata about the processed document, including the log group, log stream, account ID, AWS Region, Kinesis data stream information, and dataset metadata:
- Use conditional expression syntax to update the
data_stream.datasetfields depending on the log source, to control what index the document is written to, and use the delete_entries processor to delete the original CloudWatch document fields that were renamed: - Parse the log message fields to allow structured and JSON data to be more searchable in the OpenSearch indexes using the grok and parse_json
Grok processors use pattern matching to parse data from structured text fields. For examples of built-in Grok patterns, see java-grok patterns and dataprepper grok patterns.
When it’s all put together, your pipeline configuration will look like the following code:
- When your configuration is complete, choose Validate pipeline to check your pipeline syntax for errors.

- In the Pipeline role section, optionally enter a suffix to create a unique service role that will be used to start your pipeline run.

- In the Network section, select VPC access.
For a Kinesis Data Streams source, you don’t need to select a virtual private cloud (VPC), subnets, or security groups. OpenSearch Ingestion only requires these attributes for HTTP data sources that are located within a VPC. For Kinesis Data Streams, OpenSearch Ingestion uses AWS PrivateLink to read from Kinesis Data Streams and write to OpenSearch domains or serverless collections.

- Optionally, enable CloudWatch logging for your pipeline.
- Choose Next to review and create your pipeline.
If you’re using account-level subscription filters for CloudWatch logs in the account where OpenSearch Ingestion is running, this log group should be excluded from the account-level subscription. This is because OpenSearch Ingestion pipeline logs could cause a recursive loop with the subscription filter that could lead to high volumes of log data ingestion and cost.

- In the Review and create section, choose Create pipeline.

When your pipeline enters the Active state, you’ll see logs begin to populate in your OpenSearch domain or serverless collection.

Monitor the solution
To maintain the health of the log ingestion pipeline, there are several key areas to monitor:
- Kinesis Data Streams metrics – You should monitor the following metrics:
- FailedRecords – Indicates an issue in CloudWatch subscription filters writing to the Kinesis data stream. Reach out to AWS Support if this metric stays at a non-zero level for a sustained period.
- ThrottledRecords – Indicates your Kinesis data stream needs more shards to accommodate the log volume from CloudWatch.
- ReadProvisionedThroughputExceeded – Indicates your Kinesis data stream has more consumers consuming read throughput than supplied by the shard limits, and you may need to move to an enhanced fan-out consumer strategy.
- WriteProvisionedThroughputExceeded – Indicates your Kinesis data stream needs more shards to accommodate the log volume from CloudWatch, or that your log volume is being unevenly distributed to your shards. Make sure the subscription filter distribution strategy is set to random, and consider enabling enhanced shard-level monitoring on the data stream to identify hot shards.
- RateExceeded – Indicates that a consumer is incorrectly configured for the stream, and there may be an issue in your OpenSearch Ingestion pipeline causing it to subscribe too often. Investigate your consumer strategy for the Kinesis data stream.
- MillisBehindLatest – Indicates the enhanced fan-out consumer isn’t keeping up with the load in the data stream. Investigate the OpenSearch Ingestion pipeline OCU configuration and make sure there are sufficient OCUs to accommodate the Kinesis data stream shards.
- IteratorAgeMilliseconds – Indicates the polling consumer isn’t keeping up with the load in the data stream. Investigate the OpenSearch Ingestion pipeline OCU configuration and make sure there are sufficient OCUs to accommodate the Kinesis data stream shards, and investigate the polling strategy for the consumer.
- CloudWatch subscription filter metrics – You should monitor the following metrics:
- DeliveryErrors – Indicates an issue in CloudWatch subscription filter delivering data to the Kinesis data stream. Investigate data stream metrics.
- DeliveryThrottling – Indicates insufficient capacity in the Kinesis data stream. Investigate data stream metrics.
- OpenSearch Ingestion metrics – For recommended monitoring for OpenSearch Ingestion, see Recommended CloudWatch alarms.
- OpenSearch Service metrics – For recommended monitoring for OpenSearch Service, see Recommended CloudWatch alarms for Amazon OpenSearch Service.
Clean up
Make sure you clean up unwanted AWS resources created while following this post in order to prevent additional billing for these resources. Follow these steps to clean up your AWS account:
- Delete your Kinesis data stream.
- Delete your OpenSearch Service domain.
- Use the DeleteAccountPolicy API to remove your account-level CloudWatch subscription filter.
- Delete your log group-level CloudWatch subscription filter:
- On the CloudWatch console, select the desired log group.
- On the Actions menu, choose Subscription Filters and Delete all subscription filter(s).
- Delete the OpenSearch Ingestion pipeline.
Conclusion
In this post, you learned how to create a serverless ingestion pipeline to deliver CloudWatch logs in real time to an OpenSearch domain or serverless collection using OpenSearch Ingestion. You can use this approach for a variety of real-time data ingestion use cases, and add it to existing workloads that use Kinesis Data Streams for real-time data analytics.
For other use cases for OpenSearch Ingestion and Kinesis Data Streams, consider the following:
- Use anomaly detection in OpenSearch Service to perform real-time anomaly detection on logs, events, or other data
- Use trace analytics in OpenSearch Service to analyze trace data from distributed applications
- Use hybrid search with OpenSearch Service to perform natural language and neural search queries using the native machine learning and vector database functionality in OpenSearch Service
To continue improving your log analytics use cases in OpenSearch, consider using some of the pre-built dashboards available in Integrations in OpenSearch Dashboards.
About the authors
M Mehrtens has been working in distributed systems engineering throughout their career, working as a Software Engineer, Architect, and Data Engineer. In the past, M has supported and built systems to process terrabytes of streaming data at low latency, run enterprise Machine Learning pipelines, and created systems to share data across teams seamlessly with varying data toolsets and software stacks. At AWS, they are a Sr. Solutions Architect supporting US Federal Financial customers.
Arjun Nambiar is a Product Manager with Amazon OpenSearch Service. He focuses on ingestion technologies that enable ingesting data from a wide variety of sources into Amazon OpenSearch Service at scale. Arjun is interested in large-scale distributed systems and cloud-centered technologies, and is based out of Seattle, Washington.
Muthu Pitchaimani is a Search Specialist with Amazon OpenSearch Service. He builds large-scale search applications and solutions. Muthu is interested in the topics of networking and security, and is based out of Austin, Texas.
Дугин, Паскал и ние
Post Syndicated from Григор original http://www.gatchev.info/blog/?p=2655
Често чета канала в Телеграм на Александър Дугин. Интересен е.
Помните ли соц-вица как милиционерът се скрива в кофа за боклук, за да не го видят хората, но оставя фуражката си върху нея, за да ги „респектира“? Руското правителство е така. Официалните му изявления задължително са лъжа, част от „принципа на маскировка“ е. Но в същото време си има говорители на ниско ниво, да предупреждават хората за истинските му намерения, че да не смеят да им противоречат.
Дугин е може би най-известният от тези говорители. Той е… не точно консерватор, не точно и екстремен консерватор. Пред него екстремните консерватори са екстремни либерали – прочетете книгите му, ще се убедите. (И поопулите.) Властта в Русия е зад маската реално феодално-робовладелска, така че той е адекватният ѝ говорител. Например официалните реакции на Кремъл за победата на Тръмп бяха хладни, но Дугин обяви в канала си: „Победихме!“.
Този път ме впечатли друго негово изявление. Как следва безмилостно да се борим с трансджендърите и квадроберите, като символи на духовното падение и прочее.
То хубаво, ама трансджендърът е медицински проблем. Като примерно апандисита. Адекватната реакция към болен с апандисит е да го пратите да се оперира. Човек, който вместо това се бори с тия болни… какво е мнението ви за интелекта и адекватността му? Е, същото е за борбата с трансджендърите.
Квадроберите вероятно дори не знаете какво са. Деца (задължително западни), които според руската пропаганда са научени, че са животни, и изискват в училище да ходят на четири крака и да ползват по нужда сандъчета с пясък. Вест от оная вселена, в която американските войници се напиват с кока-кола и се търкалят пияни по земята. Какво е мнението ви за интелекта и адекватността на човек, който вярва в съществуването им? И в подкрепата на западните правителства и либералфашизма за тях? И би положил усилия, за да се бори с тях?
Естествено, Дугин няма как да вярва в това. Чак такъв идиот / луд ще е труден за контролиране, няма как да е неофициален говорител на руската стратегия. Но, като част от руската пропаганда, той търси сред нас идиотите / лудите, които биха му повярвали. Те са нужни на Русия.
Защо? Паскал казва: „Който може да ви накара да вярвате в абсурди, може да ви накара и да извършвате жестокости“. Да предаваш родината си, да предаваш или избиваш приятелите си – всичко, за което тези хора са нужни на Русия – е жестокост. Затова един от начините за намирането им е търсене кой би повярвал на абсурди. После тези хора биват прикотквани, вземани под контрол, организирани и запращани да съсипват „врага“ на Русия – България и нас лично.
Хубавото е, че тези хора лесно се издават, че вярват в такива неща. За разумния човек това е знак, че те са опасни идиоти / луди, от които трябва да се пази. Много внимателно – не знаете кога някой Дугин ще им прошушне, че вие сте рептил или либералфашист, и майчица България трябва спешно да бъде спасена от вас, дори на цената те да идат в затвора за убийство…
Предупредени сте.
Achieve data resilience using Amazon OpenSearch Service disaster recovery with snapshot and restore
Post Syndicated from Samir Patel original https://aws.amazon.com/blogs/big-data/achieve-data-resilience-using-amazon-opensearch-service-disaster-recovery-with-snapshot-and-restore/
Amazon OpenSearch Service is a fully managed service offered by AWS that enables you to deploy, operate, and scale OpenSearch domains effortlessly. OpenSearch is a distributed search and analytics engine, which is an open-source project. OpenSearch Service seamlessly integrates with other AWS offerings, providing a robust solution for building scalable and resilient search and analytics applications in the cloud.
Disaster recovery is vital for organizations, offering a proactive strategy to mitigate the impact of unforeseen events like system failures, natural disasters, or cyberattacks.
In Disaster Recovery (DR) Architecture on AWS, Part I: Strategies for Recovery in the Cloud, we introduced four major strategies for disaster recovery (DR) on AWS. These strategies enable you to prepare for and recover from a disaster. By using the best practices provided in the AWS Well-Architected Reliability Pillar to design your DR strategy, your workloads can remain available despite disaster events such as natural disasters, technical failures, or human actions. OpenSearch Service provides various DR solutions, including active-passive and active-active approaches. This post focuses on introducing an active-passive approach using a snapshot and restore strategy.
Snapshot and restore in OpenSearch Service
The snapshot and restore strategy in OpenSearch Service involves creating point-in-time backups, known as snapshots, of your OpenSearch domain. These snapshots capture the entire state of the domain, including indexes, mappings, and settings. In the event of data loss or system failure, these snapshots will be used to restore the domain to a specific point in time. Implementing a snapshot and restore strategy helps organizations meet Recovery Point Objectives (RPOs) and Recovery Time Objectives (RTOs), providing minimal data loss and rapid system recovery in case of disasters.
Snapshot and restore results in longer downtimes and greater loss of data between when the disaster event occurs and recovery. However, backup and restore can still be the right strategy for your workload because it is the most straightforward and least expensive strategy to implement. Additionally, not all workloads require RTO and RPO in minutes or less.
Solution overview
The following architecture diagram illustrates how manual snapshots are taken from the OpenSearch Service domain in the primary AWS Region and stored in an Amazon Simple Storage Service (Amazon S3) bucket in the secondary Region.
We walk through each step and discuss scenarios for failing over to the OpenSearch Service domain in the secondary Region in the event of a disaster in the primary Region, as well as how to fail back to the OpenSearch Service domain to resume operations in the primary Region.

The workflow consists of the following initial steps:
- OpenSearch Service is hosted in the primary Region, and all the active traffic is routed to the OpenSearch Service domain in the primary Region.
- The manual snapshots from the OpenSearch Service domain in the primary Region are transferred to the S3 bucket in the secondary Region on a predefined schedule.
This process can be programmatically scheduled using an AWS Lambda function, as described in Unleash the power of Snapshot Management to take automated snapshots using Amazon OpenSearch Service. This gives you the most effective protection from disasters of any scope of impact. In the event of a disaster in the primary Region, in addition to OpenSearch data recovery from backup, you must also be able to restore your infrastructure in the secondary Region. Infrastructure as code (IaC) methods such as using AWS CloudFormation or the AWS Cloud Development Kit (AWS CDK) enable you to deploy consistent infrastructure across Regions.
The following diagram illustrates the architecture in the event of a disaster.

The workflow consists of the following steps:
- In the event of a disaster making the OpenSearch Service domain in the primary Region unavailable, all active traffic routed to the primary Region’s OpenSearch Service domain will cease.
- When the OpenSearch Service domain becomes unavailable, the manual snapshots to Amazon S3 will no longer be taken at the predefined intervals.
- To fail over, launch the OpenSearch Service domain in the secondary Region using IaC. Restore manual snapshots from the S3 bucket in the secondary Region to the OpenSearch Service domain in the secondary domain. For log workloads, restore only recent or relevant logs to save time and use this opportunity to purge unnecessary documents or indexes.
- Update the DNS controller (Amazon Route 53) to redirect traffic to the OpenSearch Service domain in the secondary Region.
- When the primary Region becomes available, set up manual snapshots from the OpenSearch Service domain in the secondary Region to the S3 bucket in the primary Region.
The following diagram illustrates the architecture after the primary Region becomes available.

The workflow consists of the following steps:
- When the primary Region becomes available again, destroy the existing OpenSearch domain in the primary Region. Launch a new OpenSearch Service domain in the primary Region.
- Restore manual snapshots from the S3 bucket in the primary Region to the new OpenSearch Service domain created in the previous step.
- Update Route 53 to redirect traffic to the new OpenSearch Service domain in the primary Region.
- Set up manual snapshots from the new OpenSearch Service domain in the primary Region to a new prefix in the S3 bucket in the secondary Region.
- After successfully failing back to the OpenSearch Service domain in the primary Region, destroy the OpenSearch Service domain in the secondary Region.
In this post, we demonstrate how to launch an OpenSearch Service domain in the primary Region and set up manual snapshots to an S3 bucket in the secondary Region. Then we simulate a failover to resume operations using the OpenSearch Service domain in the secondary Region in the event of a disaster. Finally, we illustrate the failback mechanism by reverting to the OpenSearch Service domain in the primary Region.
Regular operations
In this section, we discuss the regular operations to set up the solution architecture.
Launch an OpenSearch Service domain in the primary Region
Create an OpenSearch Service domain in the primary Region by following the instructions in Creating and managing Amazon OpenSearch Service domains with fine-grained access control enabled. Do not enable standby mode. Create indexes and populate them with documents.
Create an S3 bucket in the secondary Region
To store OpenSearch snapshots in the secondary Region, you need to create S3 buckets in that Region. For instructions, see Creating a bucket.
Create the snapshot IAM role
The snapshot AWS Identity and Access Management (IAM) role is necessary to grant permissions specifically for managing snapshots within the OpenSearch Service domain. For instructions, see Creating an IAM role (console). We refer to this role as TheSnapshotRole in this post.
- Attach the following IAM policy to
TheSnapshotRole: - Edit the trust relationship of
TheSnapshotRoleto specify OpenSearch Service in thePrincipalstatement, as shown in the following example:
To register the snapshot repository, you need to be able to pass TheSnapshotRole to OpenSearch Service. You also need access to the es:ESHttpPut action.
- To grant both of these permissions, attach the following policy to the IAM role whose credentials are being used to sign the request:
Associate the IAM role or user to the OpenSearch security role for manual snapshots
Fine-grained access control introduces an additional step when registering a repository. Even if you use HTTP basic authentication for all other purposes, you need to map the manage_snapshots role to your IAM role that has iam:PassRole permissions to pass TheSnapshotRole. Snapshots can only be taken by a process or user associated with an IAM identity. This makes sure only authorized entities can create, manage, or restore snapshots.
One such method is to use Amazon Cognito. With Amazon Cognito, users can sign in with IAM credentials indirectly, either using proxy mapping with SAML or through user pool credentials. This setup provides a secure way to manage access while using the capabilities of IAM. The preferred method is to use a process that signs requests with AWS SigV4. This approach involves programmatically signing each request to OpenSearch with the appropriate IAM credentials, making sure only authorized processes can manage snapshots. This method is recommended because it provides a higher level of security and can be automated using Lambda functions as part of your backup and DR workflows.
- On OpenSearch Dashboards, navigate to the main menu and choose Security.
- Choose Roles and search for the
manage_snapshots - Choose Mapped users and choose Manage mappings.
- Add the Amazon Resource Name (ARN) of
TheSnapshotRoleto the backend roles.

Register a snapshot repository on the OpenSearch Service domain
To register a snapshot repository, send a signed PUT request to the OpenSearch Service domain endpoint using Curl; integrated development environments (IDEs) like PyCharm or VS Code, Postman; or another method. Using a PUT request in OpenSearch Dashboards for repository registration is not supported. For more details, see Using OpenSearch Dashboards with Amazon OpenSearch Service.
The curl command is as follows:
curl —aws-sigv4 "aws:amz:us-east-1:es" —user "ACCESS_KEY:SECRET_KEY" -XPUT "https://DOMAIN_ENDPOINT/_snapshot/REPOSITORY_NAME" -H 'Content-Type: application/json' -d '{ "type": "s3", "settings": { "bucket": "BUCKET_NAME", "endpoint": "s3.amazonaws.com", "role_arn": "ROLE_ARN" }}'
Use the curl command to register a snapshot repository in the OpenSearch Service domain in the primary Region pointing to the S3 bucket in the secondary Region.
To verify the snapshot repository creation, run the following query:
GET /_snapshot/os-snapshot-repo

Take manual snapshots
To take a manual snapshot, perform the following steps from OpenSearch Dashboards. To include or exclude certain indexes and specify other settings, add a request body. For the request structure, see Take snapshots in the OpenSearch documentation.
- To create a manual snapshot, use the following query. In this query, the repository name is
os-snapshot-repoand the snapshot name is2023-11-18.
PUT /_snapshot/os-snapshot-repo/2023-11-18

- Verify the snapshot has been created and indexes for which snapshot was taken:
GET /_snapshot/os-snapshot-repo/_all

- Schedule your manual snapshot at a defined interval (for example, every 1 hour) based on your RPO requirements.
You can schedule this by creating an Amazon EventBridge rule to invoke a Lambda function every hour. For instructions, see Tutorial: Create an EventBridge scheduled rule for AWS Lambda functions. The Lambda function will transfer incremental manual snapshots into Amazon S3. For more information, see Unleash the power of Snapshot Management to take automated snapshots using Amazon OpenSearch Service.
Failover scenario
In a disaster, if your OpenSearch Service domain in the primary Region goes down, you can fail over to a domain in the secondary Region. This provides business continuity and minimizes downtime during unexpected Region failures.
To maintain business continuity during a disaster, you can use message queues like Amazon Simple Queue Service (Amazon SQS) and streaming solutions like Apache Kafka or Amazon Kinesis. These tools buffer incoming data in the primary Region, allowing you to replay traffic on a predefined period in the secondary Region when you fail over, to keep the OpenSearch Service domain up to date with all recent changes.
Launch an OpenSearch Service domain in the Secondary Region
Create an OpenSearch Service domain in the secondary Region by following the instructions in Creating and managing Amazon OpenSearch Service domains with fine-grained access control enabled. Do not enable standby mode.
Depending on your RTO requirements, you can keep the OpenSearch Service domain in the secondary Region up and running if you have an RTO of less than 1 hour. However, it will incur additional costs. If you have an RTO of more than 1 hour, you can launch a new OpenSearch Service domain in the secondary Region during the failover activity to reduce operational costs.
Associate the IAM role or user to the OpenSearch security role for manual snapshots
Follow the instructions in the previous section to associate the IAM role with the OpenSearch security role.
Register a snapshot repository on the OpenSearch Service domain
To make sure your data is available for failover, you need to register a snapshot repository on the OpenSearch Service domain in the secondary Region. The snapshots taken from your OpenSearch Service domain in the primary Region can be restored. Use the following command:
curl —aws-sigv4 "aws:amz:us-west-2:es" —user "ACCESS_KEY:SECRET_KEY" -XPUT "https://DOMAIN_ENDPOINT/_snapshot/REPOSITORY_NAME" -H 'Content-Type: application/json' -d '{ "type": "s3", "settings": { "bucket": "BUCKET_NAME", "endpoint": "s3.amazonaws.com", "role_arn": "ROLE_ARN" }}'
The S3 bucket should be the bucket created in the secondary Region where the snapshots from your OpenSearch Service domain in the primary Region are stored.
Restore snapshots
Before you restore a snapshot, make sure that the destination domain doesn’t use Multi-AZ with standby.
After you register the snapshot repository on your OpenSearch Service domain in the secondary Region, the next step is to restore the desired indexes from the snapshot repository. This step makes sure your data is available in the OpenSearch Service domain in the secondary Region. This step allows you to selectively restore specific index from your snapshot, providing flexibility to recover only the necessary data. Use the following command:
POST /_snapshot/<REPOSITORY_NAME>/<SNAPSHOT_NAME>/_restore
{
"indices": "movie-index"
}

Verify the snapshots for all the necessary indexes are stored in the OpenSearch Service domain in the secondary Region.
Update Route 53 to redirect traffic to the OpenSearch Service domain in the secondary Region
After you restore the snapshots to the OpenSearch Service domain in the secondary Region, update the DNS settings (Route 53) with the new OpenSearch Service domain endpoint to redirect indexing traffic to the OpenSearch Service domain in the secondary Region. Route 53, a scalable DNS service, can seamlessly redirect traffic to the new OpenSearch endpoint by updating its DNS records.
A Route 53 resource record set directs internet traffic to specific resources, such as an OpenSearch Service domain. It includes a domain name, a record type (for example, CNAME), and the DNS name or IP address of the endpoint. To redirect traffic to a new endpoint, update or create a new record set.
Set up manual snapshots from the OpenSearch Service domain in the secondary Region to the Amazon S3 bucket in the primary Region
Complete the following steps to set up manual snapshots from the OpenSearch Service domain in the secondary Region to the S3 bucket in the primary Region:
- Create S3 bucket in the primary Region, following the steps from earlier in this post.
- Associate the IAM role or user to the OpenSearch security role for taking manual snapshots in your OpenSearch Service domain in the secondary Region. For instructions, refer to the earlier section in this post.
- Register a snapshot repository on the OpenSearch Service domain in the secondary Region pointing to the S3 bucket in the primary Region. For instructions, refer to the earlier section in this post.
- Take manual snapshots of the OpenSearch Service domain in the secondary Region to the S3 bucket in the primary Region, following the instructions from earlier in this post.
- Schedule your manual snapshot from the OpenSearch Service domain in the secondary Region to the S3 bucket in the primary Region at a defined interval (for example, every 1 hour) based on your RPO requirements.
Failback scenario
When the primary Region becomes available again, you can seamlessly revert to the OpenSearch Service domain in the primary Region. This failback process involves the following steps.
Destroy an existing OpenSearch Service domain in the primary Region
When the primary Region becomes available again, destroy the existing OpenSearch Service domain in the primary Region from the OpenSearch Service console. In the following screenshot, the primary Region is US East (N. Virginia).

Launch a new OpenSearch Service domain in the primary Region
Create an OpenSearch Service domain in the primary Region by following the instructions in Creating and managing Amazon OpenSearch Service domains with fine-grained access control. Do not enable standby mode.
Associate the IAM role or user to the OpenSearch security role for restoring manual snapshots
Follow the instructions from earlier in this post to associate the IAM role or user to the OpenSearch security role.
Register a snapshot repository on the OpenSearch Service domain
To make sure your data is available for failover, you need to register a snapshot repository on the new OpenSearch Service domain in the primary Region. The snapshots taken from your OpenSearch Service domain in the secondary Region can be restored. Use the following command:
curl —aws-sigv4 "aws:amz:us-west-2:es" —user "ACCESS_KEY:SECRET_KEY" -XPUT "https://DOMAIN_ENDPOINT/_snapshot/REPOSITORY_NAME" -H 'Content-Type: application/json' -d '{ "type": "s3", "settings": { "bucket": "BUCKET_NAME", "endpoint": "s3.amazonaws.com", "role_arn": "ROLE_ARN" }}'
The S3 bucket should be the bucket created in the primary Region where the snapshots from your OpenSearch Service domain in the secondary Region are stored.
Restore manual snapshots from the S3 bucket in the primary Region to the new OpenSearch Service domain in the primary Region
To restore the manual snapshots, complete the following steps:
- Use the following code to restore the manual snapshots from the S3 bucket in the primary Region to the new OpenSearch Service domain in the primary Region:
POST /_snapshot/os-snapshot-repo/2023-11-18/_restore
{
"indices": "movie-index"
}

- Verify data integrity and make sure the primary domain is up to date by checking the document count of the index:
GET movie-index/_count

- Update Route 53 to redirect traffic to the new OpenSearch Service domain in the primary Region.
- Set up manual snapshots from the new OpenSearch Service domain in the primary Region to a new prefix in the S3 bucket in the secondary Region.
Destroy the OpenSearch Service domain in the secondary Region
After you have successfully failed back to the OpenSearch Service domain in the primary Region, destroy the OpenSearch Service domain in the secondary Region. In the following screenshot, the secondary Region is US West (Oregon).

Conclusion
In this post, we explained how you can implement a DR pattern on OpenSearch Service using a snapshot and restore strategy. It’s highly recommended to define your RPO and RTO for your workload and choose an appropriate DR strategy. Then, using AWS services, you can design an architecture that achieves the RTO and RPO for your business needs.
About the Authors
Samir Patel is a Senior Data Architect at Amazon Web Services, where he specializes in OpenSearch, data analytics, and cutting-edge generative AI technologies. Samir works directly with enterprise customers to design and build customized solutions catered to their data analytics and cybersecurity needs. When not immersed in technical work, Samir pursues his passion for outdoor activities, including hiking, pickleball, and grilling with family and friends.
Sesha Sanjana Mylavarapu is an Associate Data Lake Consultant at AWS Professional Services. She specializes in cloud-based data management and collaborates with enterprise clients to design and implement scalable data lakes. She has a strong interest in data analytics and enjoys assisting customers solve their business and technical challenges. Beyond her professional pursuits, Sanjana enjoys hiking, playing guitar, and is passionate about teaching yoga.
Vivek Gautam is a Senior Data Architect with specialization in data analytics at AWS Professional Services. He works with enterprise customers building data products, analytics platforms, streaming, and search solutions on AWS. When not building and designing data products, Vivek is a food enthusiast who also likes to explore new travel destinations and go on hikes.
AWS BuilderCards second edition at re:Invent 2024
Post Syndicated from Jeff Barr original https://aws.amazon.com/blogs/aws/aws-buildercards-second-edition-available-at-reinvent-2024-and-online/
I have been following the progress of AWS BuilderCards for several years. Players of all skill levels use the cards to learn about AWS in a fun and engaging way, competing (in a friendly fashion) to combine their cards to form architectures, gaining knowledge and scoring points as they play:

To date, more than 15,000 sets of BuilderCards have been printed and put to use over the course of three re:Invents, fifteen AWS Summits, and multiple community events. For example, here is a group of AWS enthusiasts having a good time in Tokyo during JAWS Days 2024:

Feedback from players has been incredibly positive, with a 4.8 star customer satisfaction score (CSAT) across more than 1500 replies.
Second Edition Now Available
I am happy to announce that the second edition of AWS BuilderCards will be distributed at re:Invent 2024 and will soon be available for purchase online. In response to feedback on the first edition, we have made many changes to the second edition. Here’s a summary:
Design — The revised design focuses on the contents of the card, with additional gradients and patterns to make the cards more attractive and playful. The font size was increased, game effects are now represented as icons, and the QR codes now point to the BuilderCards site:

Game Mechanics — The mechanics have been revised to improve balance, simplify play, and remove some bias. There are also some starter cards that represent a common on-premises data center environment.
Generative AI Add-On Pack — This new deck includes 50 additional BuilderCards designed to show how Generative AI and AWS architecture align. This add-on pack also includes a set of Mission cards. These cards add context, with QR codes that link to published best practices or solutions. The cards are larger, with additional text and an architecture diagram. Use is optional, with players earning extra points for completing a mission. Each deck also includes five blank BuilderCards and two blank Mission cards to support customization:

Get Your BuilderCards
If you will be at re:Invent 2024, make plans to visit the BuilderCards play area on Level 1 of Caesar’s Forum next to the PeerTalk area:
Sunday – 10 AM to 6 PM
Monday – 9 AM to 5 PM
Tuesday – 9 AM to 5 PM
Wednesday – 9 AM to 5 PM
Thursday – 9 AM to 4 PM
You can play against other re:Invent attendees and also get your own game and add-on packs to take home (we’ll give away 1,000 per day). Thanks to hard work by Masanori Yamaguchi (AWS Hero) and Kosuke Enomoto (AWS Community Builder) we will also have BuilderCards in Japanese for on-site play. You can read Kosuke’s blog post (AWS BuilderCards Japanese Edition for JAWS DAYS) to learn more about the translation process.
If you won’t be able to attend re:Invent, you will soon be able to purchase a deck of your own. Check back here for more info!
Stay Tuned
The BuilderCards team is working on additional goodies including expansion packs and additional language packs.
— Jeff;
AWS Weekly Roundup: 20 years of AWS News Blog, Express brokers for Amazon MSK, Windows Server 2025 images on EC2, and more (Nov 11, 2024)
Post Syndicated from Channy Yun (윤석찬) original https://aws.amazon.com/blogs/aws/aws-weekly-roundup-20-years-of-aws-news-blog-express-brokers-for-amazon-msk-windows-server-2025-images-on-ec2-and-more-nov-11-2024/
Happy 20th Anniversary of the AWS News Blog! 

On November 9, 2004, Jeff Barr published his first blog post. At the time, he started a personal blog site using TypePad. He wanted to speak to his readers with his personal voice, not the company or team.

On April 29, 2014, we created a new AWS blog site and migrated all posts to that page. There are currently over 4,300 posts on the AWS News Blog, with Jeff contributing over 3,200 of them.
Since December 2016, the AWS News Blog has added new writers, but we are still following Jeff’s leadership principals for AWS News Bloggers in accordance with Day One. What’s unique about the AWS News Blog is that the blog writers get to use the features of the product team in advance, following the Customer Obsession leadership principle, and focus on walk-throughs of how customers can quickly use them to save time, with the Frugality principle.
I am very grateful for Jeff’s fundamental and pivotal role over the past 20 years, and I look forward to the next 20 years!
Last week’s launches
Here are some launches that got my attention:
New Express brokers for Amazon MSK – Express brokers are a new broker type for Amazon MSK Provisioned designed to deliver up to three times more throughput per broker, scale up to 20 times faster, and reduce recovery time by 90 percent as compared to standard Apache Kafka brokers. Express brokers come preconfigured with Kafka best practices by default, support all Kafka APIs, and provide the same low-latency performance, so you can continue using existing client applications without any changes.
New Amazon Kinesis Client Library 3.0 – You can now reduce compute costs to process streaming data by up to 33 percent with Kinesis Client Library (KCL) 3.0, compared to previous KCL versions. KCL 3.0 introduces an enhanced load balancing algorithm that continuously monitors resource utilization of the stream processing workers and automatically redistributes the load from overutilized workers to other underutilized workers. To learn more, read the AWS Big Data Blog post.
Microsoft Windows Server 2025 images on Amazon EC2 – We now support Microsoft Windows Server 2025 with License Included (LI) Amazon Machine Images (AMIs), providing customers with an easy and flexible way to launch the latest version of Windows Server. By running Windows Server 2025 on Amazon EC2, customers can take advantage of the security, performance, and reliability of AWS with the latest Windows Server features. To learn more about running Windows Server 2025 on Amazon EC2, visit Windows Workloads on AWS.
Anthropic’s Claude 3.5 Haiku model in Amazon Bedrock – Claude 3.5 Haiku is the next generation of Anthropic’s fastest model, combining rapid response times with improved reasoning capabilities, making it ideal for tasks that require both speed and intelligence. Claude 3.5 Haiku improves across every skill set and surpasses even Claude 3 Opus, the largest model in Anthropic’s previous generation, on many intelligence benchmarks—including coding. To learn more, read the AWS News Blog post.
Amazon Bedrock Prompt Management GA – You can simplify the creation, testing, versioning, and sharing of prompts in Amazon Bedrock Prompt Management. At general availability, we added new features that provide enhanced options for configuring your prompts and enabling seamless integration for invoking them in your generative AI applications, such as structured prompts and Converse and InvokeModel API integration. To learn more, read the AWS Machine Learning blog post.
Six new synthetic generative voices for Amazon Polly – The generative engine is Amazon Polly’s most advanced text-to-speech (TTS) model leveraging the generative AI technology. We added six new synthetic female-sounding generative voices: Ayanda (South African English), Léa (French), Lucia (European Spanish), Lupe (American Spanish), Mía (Mexican Spanish), and Vicki (German). This extends thirteen voices and nine locales to provide you with more options of highly expressive and engaging voices.
Amazon OpenSearch Service Extended Support – We announce the end of Standard Support and Extended Support timelines for legacy Elasticsearch versions and OpenSearch Versions. Standard Support ends on Nov 7, 2025, for legacy Elasticsearch versions up to 6.7, Elasticsearch versions 7.1 through 7.8, OpenSearch versions from 1.0 through 1.2, and OpenSearch versions 2.3 through 2.9. With Extended Support, for an incremental flat fee over regular instance pricing, you continue to get critical security updates beyond the end of Standard Support. To learn more, read the AWS Big Data Blog post.
For a full list of AWS announcements, be sure to keep an eye on the What’s New at AWS page.
Other AWS news
Here are some additional news items that you might find interesting:
CEO’s visiting at AWS data center – Matt Garman, CEO of AWS, had a great time visiting one of our AWS data centers recently, and was able to get a look at the continuous innovation delivered by the team. Of course, it’s no surprise that Amazon’s senior executives visit fulfillment centers, contact centers, and data centers, to do real work for customers. AWS data centers are designed for customers in every aspect, for maximum resilience, performance, and energy efficiency.

AWS supports small businesses, creates jobs, sets up sustainability initiatives, and develops educational programs near AWS data centers. Get the latest updates – AWS in your community: Here’s what’s happening near data centers across the US on About Amazon News.
Amazon Q Business at Amazon – I introduced an Amazon story to use Code transformation in Amazon Q Developer to migrate more than old 30,000 Java applications to Java 17 version. It saved over 4,500 developer years of effort compared to previous manual jobs and saved the company $260 million in annual by moving to the latest Java version.
Here is another dogfooding story of Amazon Q Business at Amazon. Amazon built an internal chatbot with Amazon Q Business and it has resolved over 1 million internal Amazon developer questions, reducing time spent churning on manual technical investigations by more than 450,000 hours.

Our team onboarded Amazon Q Business with millions of internal documents and integrated Q Business into the tools our team use every day. Now, instead of waiting hours for responses to complex technical questions on Q&A boards or Slack channels, developers can get answers in seconds.
TOURCast at PGA TOUR – If you enjoy golf, this news will be of interest to you. The PGA TOUR debuted TOURCast in Japan at the 2024 ZOZO Championship to capture and disseminate better statistical data and bring fans closer to the game based on new scoring system called ShotLink, powered by CDW. This marks the first time the PGA TOUR has been able to bring this technology to Asia, leveraging the flexibility and scalability of AWS to overcome unique challenges.

PGA TOUR volunteer setting up GPS equipment on the fairway at ZOZO championship that will input specific shot data and feed back to Shotlink Select Plus. [IMAGE: PGA TOUR]
They’ve completely rebuilt their scoring system over the past two years on a new cloud stack. With AWS cloud, whether data comes from high-tech radar systems, cameras, or manual input, the system processes it all seamlessly.
Upcoming AWS events
Check your calendars and sign up for these AWS events:
AWS GenAI Lofts – AWS GenAI Lofts are about more than just the tech, they bring together startups, developers, investors, and industry experts. Whether you’re looking to gain deep insights, or get your questions answered by generative AI pros, our GenAI Lofts have you covered, and provide everything you need to start building your next innovation. Join events in São Paulo (through November 20), and Paris (through November 25).
AWS Community Days – Join community-led conferences that feature technical discussions, workshops, and hands-on labs led by expert AWS users and industry leaders from around the world: Jakarta, Indonesia (November 23), Kochi, India (December 14).
AWS re:Invent – You can still register for the annual learning event, taking place December 2–6 in Las Vegas. Surprisingly Andy Jassy, CEO of Amazon said he will come back and participate in AWS re:Invent this year. He said “As always, the priority is to make this a learning event so customers can take nuggets back and change their own customer experiences and businesses. We’ll also have a bunch of goodies for you that we’ll announce and that we think folks will like.” Let’s meet there!
You can browse all upcoming in-person and virtual events.
That’s all for this week. Check back next Monday for another Weekly Roundup!
— Channy
This post is part of our Weekly Roundup series. Check back each week for a quick roundup of interesting news and announcements from AWS!
[$] The top open-source security events in 2024
Post Syndicated from corbet original https://lwn.net/Articles/996955/
What have been the most significant security-related incidents for the
open-source community in 2024 (so far)? Marta Rybczyńska recently ran a
poll and got some interesting results. At the 2024 Open
Source Summit Japan, she presented those results along with some
commentary of her own. The events in question are unlikely to be a
surprise to LWN readers, but the overall picture that was presented was
worth a look.
RIP Jérémy Bobbio (Lunar)
Post Syndicated from jake original https://lwn.net/Articles/997775/
Longtime Debian and Tor developer, Jérémy Bobbio—perhaps better known as
“Lunar”—died
on November 8. Lunar was one of the founders of the reproducible
builds movement and more recently had been working with Software Heritage. More
information and tributes in French can be found at this site. They will be missed.
Security updates for Monday
Post Syndicated from jake original https://lwn.net/Articles/997774/
Security updates have been issued by AlmaLinux (podman), Debian (guix, libarchive, and nss), Fedora (expat, iaito, opendmarc, python-werkzeug, radare2, squid, and xorg-x11-server), Mageia (htmldoc, libheif, nspr, nss, firefox & rust, python-urllib3, python-werkzeug, quictls, ruby-webrick, and thunderbird), Oracle (firefox and NetworkManager-libreswan), SUSE (apache2, chromedriver, chromium, coredns, expat, govulncheck-vulndb, httpcomponents-client, java-17-openjdk, java-21-openjdk, libheif, python-wxPython, python311, python312, qbittorrent, ruby3.3-rubygem-actionmailer, ruby3.3-rubygem-actiontext, ruby3.3-rubygem-puma, ruby3.3-rubygem-rails, and virtualbox), and Ubuntu (openjdk-17, openjdk-21, openjdk-8, openjdk-lts, and qemu).
Археология на утопията. Посткомунистическото във видеоигрите
Post Syndicated from original https://www.toest.bg/arheologia-na-utopiata-postkomunistcheskoto-vuv-videoigrite/
Разговарят Миглена Николчина и Северина Станкева

Видеоигрите като че ли винаги се обръщат към една глобална аудитория. Дали въпреки това те могат да се окажат закрепени към някакъв локален контекст? Ако да, по какъв начин? Тези въпроси ще повдигнем в разговора, който несъмнено ще се нуждае от продължение.
Северина Станкева: Като погледнем обичайните способи за класификация на видеоигрите, за разлика от тези в литературата и киното, изглежда, че географският произход не е от особено значение. Говори се за западни и японски игри например, но в контекста на поджанровите им особености, като самите жанрове са основани на разлики в игровата механика. Японските ролеви игри (т.нар. JRPGs) не са непременно създадени в Япония, макар че исторически поджанрът възниква там, а имат определени характеристики: затворен свят, предварително зададен(и) игрови персонаж(и), липса на тежест на решенията и др. По тази причина много от ролевите игри на японски студиа не могат да се нарекат японски ролеви игри, както и много игри на западни студиа пък са определени като такива. Любопитно е, че в това отношение игрите от постсъветските държави правят изключение. Практически всички те влизат в категорията Eurojank, на български нещо като „евровехтория“. Отличителният белег на такива игри е, че амбицията на разработчиците им далеч надхвърля ресурсите. Игрите от Централна и Източна Европа попадат под тази шапка без изключение, от нискобюджетни заглавия до такива със значително повече финансови възможности и комерсиален и критически успех, като Вещерът и Диско Елизиум. За сметка на това няма нито американска, нито японска евровехтория. Да започнем оттук. Съгласна ли си с това описание? Как си го обясняваш?
Миглена Николчина: Факт е, че видеоигрите винаги като че ли имат за изходна точка обръщането към една наднационална и надрегионална аудитория. Да се види дали въпреки това те остават закрепени към някакъв локален контекст и ако да, по какъв начин, ми изглежда крайно интересен въпрос, който обаче ме сварва неподготвена – не бях чувала за юроджанка. Все пак веднага бих преформулирала описанието ти: амбицията на игри като Вещерът или Диско Елизиум е въпреки ограничените или не съвсем ограничени ресурси да се прави изкуство.
Тоест става дума за усилие да се противостои на свеждането на игрите до индустрия.
С това май по-скоро изключвам от тази група повечето български разработчици – това е отделна тема – и отварям вратичка за френските и скандинавските. Така че нека потърсим други критерии, които биха могли да сложат под обща шапка, заедно с Вещерът и Диско Елизиум, разнородни игри, като хърватската Принципът на Талос, чешката Идното кралство: Спасение, игри със сложен постсъветски произход, като поредицата Метро. Бихме могли да тръгнем по посока било на естетиката, било на светогледа.
Ще дам пример, който като че ли събира и двете насоки. В Диско Елизиум можеш да намериш книга, озаглавена „Шестнайсет дни от най-студения април“. Ако въпреки предупрежденията прочетеш книгата, преди персонажът ти да е морално „заякнал“, играта може преждевременно да приключи с присъдата „ченгето се отказва от детективския жанр в полза на реализма“. Има и други начини да се стигне до този комичен финал (ченгето се пропива и пр.), но сблъсъкът с реализма на „Шестнайсет дни…“ ми се струва особено показателен: иронията на този сблъсък всъщност подчертава мрачно-реалистичния субстрат на самата игра, която е колкото кримка, толкова и научна фантастика, сюрреалистично бълнуване, социална сатира, политически памфлет, апокалиптично откровение, онтология… Подчертавам тук темата за широко разбран реализъм, който отбягва както клишираното фантазиране, така и политкоректните ерзаци на социален ангажимент.


Кадри от „Вещерът“ и „Диско Елизиум“
Северина Станкева: Наистина изглежда, че тези заглавия имат амбицията да са изкуство и правят лесно говоренето за видеоигрите като изкуство въобще (не непременно „високо“, макар че и такива примери има: Диско Елизиум и Принципът на Талос са от този тип; Вещерът ми се струва с по-скромни претенции). Интересното за мен е как постигат това не през търсене на някаква автономия от индустрията, а напротив – изотвътре, при това без видимо да ѝ се противопоставят. Позицията им на пазара е изключително добра, продават се, печелят награди и прочее. Разбира се, видеоигрите не са единствената форма, в която такива стратегии са възможни, но като имаме предвид все още широко разпространените стереотипи и по отношение на играчите, и що се отнася до самата медия и нейните смислови възможности, подобни ходове се оказват особено дръзки.
Продължавайки по допирателната ос на двете насоки, що се отнася до реализма, и в най-повърхностния си пласт (като външен облик и обстановка), и като смисъл, той се появява в игрите след 2000-та година, тоест съвпада с взрива на техническите възможности за създаването им. Тъкмо оттогава изведнъж започнаха да излизат много игри в „постсъветски стил“, които обаче не са непременно правени в съответните държави, а използват някои от стереотипните им сурови реалии – панелки, студ, алкохолизъм и така нататък, – за да си придадат реалистичен вид. Такива са Полуживот, Документите, моля, Бягство от Тарков. Същият период бележи и началото на разцвета на самия Eurojank, със или без локалния лик, но с гореспоменатата амбиция. Чудя се дали все пак тук не можем да открием
известна регионална патина, която остава въпреки иначе глобалната настройка.
Културната памет за видеоигрите е различна в нашата част от света, което би могло донякъде да обясни защо игрите, които се произвеждат в нея, често са със сериозни технически недостатъци. Тук отварям скоба да отбележа, че за съжаление, през последните години стана практика дори игрите на големите студиа да се пускат на пазара „недопечени“, с т.нар. „пач на първия ден“, който се стреми да поправи най-належащите им проблеми, така че да станат малко по-играеми. Нямам това предвид. Говоря за такива недостатъци, които разработчиците така и не поправят, ако въобще са поправими, и които в най-добрия случай разчитат на милостта и творчеството на някой играч.
Това ми се струва свързано с паметта и игралните практики на постсъветските държави, в които купуването на видеоигри е сравнително нов феномен. Доскоро повечето хора се сдобиваха с тях по пиратски способи – било чрез теглене от интернет, било чрез преди това разпространеното купуване на дискове или дискети с разнообразни селекции, в зависимост от това, с което продавачът (в компютърния клуб или на улицата) разполага. Съответно много от игрите достигаха до публиката си в доста очукан вид: на неразбираем език, без сигурност, че щом са тръгнали веднъж, ще могат да се играят след това, с множество бъгове и прочее. Това никога не е пречило особено на играчите, тъкмо напротив, дори е ставало условие игрите да се ценят повече, а и добавя допълнително усилие в практиката на играене. Техническите проблеми са вкоренени толкова надълбоко в разбирането за това какво е игра в постсъветските държави, че някак не е учудващо, че те от своя страна създават такива игри – на разработчиците това никога не им е пречило като играчи.



Кадри от „Бягство от Тарков“, „Полуживот“, „Документите, моля“
Миглена Николчина: Не знам дали съм те разбрала правилно, но няма да стигнем далече със свеждането на проблема до печено и недопечено: отвъд всякаква география има един тип форумна истерика, която често се излива върху най-интересните заглавия. Втората част на Рицари на старата република, частта за Френската революция на Кредото на убиеца са за мене особено ярки примери – съсипаха ги, защото имало бъгове, като ги пуснали, незавършени били и пр.! Е, хубаво, обущарю, ама не по-горе от обущата! И нека тук не се съглася с тебе за Вещерът – психологизмът на персонажите, сложността на взаимоотношенията, сюжетните разплитания, алегоричната историческа рефлексия, атмосферността, специфичната ирония – това са заявки за извеждане на игрите до голямото изкуство. Ако то може да бъде и успешно, толкова по-добре.
Аз се опитах да издърпам разговора към реализма по две причини. Едната ми се вижда структурна:
ако материалната основа на киното е документалното око на камерата, основата на игрите е математическата абстракция, алгоритъмът.
Тоест в играта структурно е заложено Марио да може да скача точно толкова, колкото на разработчика му е хрумнало: играта е принципно фантасмагорична. Но както правилно отбелязваш, играта може да тръгне в търсене на реалност, както и камерата да побегне от нея, така че с втората причина ще преобърна първата. Една шега, която обичам да си правя и която ми се вижда повече от шега, е, че реализмът, който догматичната социалистическа естетика изискваше, доведе до имплозията на Източния блок – победител се оказа Холивуд, подмяната на реалността. В постсъветското обаче продължава да живее тягата да се казва все пак нещо за света и тази тяга преминава в игрите – като това включва усилието да се противостои на клишетата на политическата коректност и новата комсомолска прескриптивност, която ни залива.
Оттук насетне за мене интересният въпрос е какви конкретни форми добива тази тяга: детайлите, нюансите, двойните дъна, но и едри теми като мисленето за времето като история и като утопия. Игрите, които изредих, заслужават внимание с оглед на тези теми.
Северина Станкева: Все пак има разлика между оплакване за бъгове в игра и невъзможността да я играеш въобще, след като си платил крупна сума за нея. Но това е друга тема. Нека уплътним проблемите, които засегнахме, с примери от игрите, които споменахме дотук.
Винаги когато ми зададат онези досадни въпроси от типа на „Какви игри играеш?“ или „Кои са ти любимите игри?“, без колебание започвам с Диско Елизиум. Ние сме говорили специално за нея, но за щастие, като всяко произведение от голямото изкуство, тя е неизчерпаема. Постановката ѝ е обичайна и за ролевите игри, и за криминалния жанр като цяло – има убит човек, играчът влиза в ролята на детектив, който трябва да разкрие кой е убиецът. Толкова с традицията. Детективът е пияндурник, който се събужда гол в хотелската си стая, която е разпердушинил предната вечер, не помни нищо, загубил е значката и оръжието си, въобще е много далеч от фалическата власт, която би трябвало да онагледява.
Преди да види този аватар, играчът трябва да избере как да го точкува по леко нестандартни признаци – интелект, психика, физика, моторика. Избира и отличително умение, което ще го ръководи. В зависимост от тези избори, особено от последния, играта се развива драматично различно – това, което човек не подозира в началото, е, че всички тези умения представляват вътрешният диалог на героя. Освен че са в постоянни спорове едни с други и често си противоречат, това колко често се „обаждат“, зависи от това колко са развити съответните им области. Така играта е съвсем различна, ако си избрал нещо като „Тръпки“, благодарение на които героят усеща града в гръбнака си, „Логика“, която студено разсъждава за случващото се, или „Вътрешна империя“ (по едноименния филм на Дейвид Линч), която ти дава възможност да разговаряш с неодушевени предмети. Отделно от това, вместо да се вдигат нива по обичайния начин, на героя му хрумват различни мисли, които се складират в т.нар. „Мисловен шкаф“. Не всички от тях могат да се доразвият, но онези, които играчът решава да запази или да премисли по-сериозно, имат ефект върху развитието на личността на разбитото ченге.

Във всеки случай обаче изключителната смес от хумор и меланхолия се запазва и проблясък от нея може да бъде видян в примера ти с „Шестнайсет дни…“. Без да знам нищо от това, бях убедена, че с тази игра съм открила нещо специално, още от първата реплика в нея, когато се вижда единствено черен екран и дрезгавият глас на някой, наречен Древен влечогуподобен мозък, казва: „Няма нищо. Само топла първична тъмнина. Съзнанието ти ферментира в нея – не по-голямо от едно-единствено малцово зърно. Не трябва да правиш нищо повече. Никога. Никога повече.“
Миглена Николчина: Действително тази игра е неизчерпаема. За да се върна към посткомунистическото в нея (този термин ми се вижда по-точен), при цялата условност на времето и пространството белезите на провалени едри национални, социални, но и цивилизационни проекти (като Просвещението например) са много конкретни. Конкретна е и разрухата на настоящето между глобалисткия „моралинтерн“, който се опитва да наложи собствения си ред, и корумпирания, циничен и карикатурно обрисуван профсъюзен бос, когото работниците все пак май усещат като по-загрижен за тях.
Доколкото конфликтът в играта има за център корабостроителница, за мене е невъзможно да не си припомня Лех Валенса и „Солидарност“ – тъкмо с корабостроителните заводи в Полша започна началото на края на соца. Чаровна, женствено неясна, нелишена от сложна биография, но зад всичко това неумолима и хлъзгава, недосегаема, „ултралибералната“ представителка на компанията, която владее пристанището и има индикативното име Реджойс („Възрадвай се“), ще предложи, ако успееш да я разговориш, мрачната онтологическа визия на играта за разяжданата и изчезваща реалност, през която само сродните на Реджойс имат средствата да навигират. Между тези два полюса отчаяното ченге, което е аватарът ни, се среща и със симпатични индивиди, но и с всякакви чудаци и теркове, с отрепки на необратима деградация (пияници, наркомани), с различни отломки на загиваща култура (художничката, книжарката) и със странни фигури на мистична надежда (майсторката на заровете, криптозоолозите). Наемникът на компанията, около чийто труп се гради криминалният сюжет, неговата „ноар“ любовница и най-вече абектно разиграната аутопсия на трупа му се превръщат в централна метафора на този разпад, сред който играчът трябва да решава непрестанни интелектуални и емоционални предизвикателства.
Играта обаче ни изправя пред друг принципен въпрос, който бих искала да обсъдим при друг случай.
Каква е ролята и доколко е възможна въобще ролята на индивидуалния талант в едно изкуство, което обикновено се прави от големи екипи при тежък финансов натиск?
Диско Елизиум е в много висока степен авторска игра на една ключова фигура – Роберт Курвиц. Като по чудо този „заумен“ шедьовър (студиото ала авангардиста Хлебников се казва ЗА/УМ) имаше и пазарен успех. Тъкмо успехът се оказа май пагубен: между Курвиц и част от екипа на играта, включително продуцента ѝ, но не само, избухна огромен скандал – за пари, но не само. В големите студиа има подобни скандали, но те бързо се запушват, там хората са заменими (докато в един момент не са и също виждаме криви на възход и падение, свързани с грешки спрямо творците). Курвиц е може би неприятен, налуден дори, но със сигурност незаменим. За разлика от романтическия гений обаче, той не може да се уедини нейде и да чака славата да го споходи посмъртно.
Северина Станкева: Да, този въпрос заслужава отделен разговор. Изглежда, че при всички игри, които разгледахме, макар и не в детайли, фигурата на разпада е неотделима от тази на утопията. Може би в това е ключът към посткомунистическото им наследство.
(Следва продължение.)
В рубриката „Игромислие“ публикуваме разговори, в които се срещат, съпоставят и противопоставят различни гледни точки към многоизмерния, многожанров феномен на видеоигрите – не толкова като електронен спорт, колкото като нов синтез на изкуствата и като ново поле на общуване и социалност.
Maximize your cloud security experience at AWS re:Invent 2024: A comprehensive guide to security sessions
Post Syndicated from Apurva More original https://aws.amazon.com/blogs/security/maximize-your-cloud-security-experience-at-aws-reinvent-2024-a-comprehensive-guide-to-security-sessions/
AWS re:Invent 2024, which takes place December 2–6 in Las Vegas, will be packed with invaluable sessions for security professionals, cloud architects, and compliance leaders who are eager to learn about the latest security innovations. This year’s event puts best practices for zero trust, generative AI–driven security, identity and access management (IAM), DevSecOps, network and infrastructure security, data protection, and threat detection and incident response at the forefront. The event will provide invaluable learning and networking opportunities for professionals focused on cloud security.
To help you navigate the extensive list of sessions and maximize your learning, we’ve curated a list of must-attend security sessions at re:Invent 2024. To join us, register today, and we’ll see you in Vegas!
Keynotes and innovation talks
The re:Invent 2024 keynote and innovation talks offer the opportunity to gain direct, transformative insights from senior AWS leaders. Delve into the latest breakthroughs in generative AI, cloud security, and cutting-edge architectural innovations that are redefining the future of application development and the AWS Cloud.
- KEY002 – CEO Keynote with Matt Garman. Discover how AWS is innovating across the cloud, from reinventing core services to creating new experiences, empowering customers and partners to build a secure and better future.
- SEC203-INT – Security insights and innovation from AWS with Chris Betz. Discover how groundbreaking security innovations and generative AI empower your organization to accelerate innovation securely, as AWS CISO Chris Betz reveals transformative strategies to integrate and automate security, freeing your team to focus on high-value initiatives.
Check out the full list of innovation talks. Not attending live this year? The keynote and innovation talks will be live streamed.
Sessions
To add sessions to your re:Invent 2024 agenda and find time and location information, choose the session title link.
Accelerating least privilege with advanced access analysis
Explore identity management and access control best practices to minimize your attack surface and enable a zero-trust architecture.
- SEC325 | Chalk talk | A least privilege journey made easier by IAM Access Analyzer: Learn how centralized security teams and IAM policy authors are using IAM Access Analyzer to gain visibility into unused, overly permissive access and use actionable recommendations to achieve least privilege at scale.
- SEC337 | Chalk talk | Scaling IAM: advanced administration and delegation patterns: Discover innovative strategies for effective access management, balancing security and agility as your organization expands. Learn from real-world scenarios, best practices, and cutting-edge techniques to optimize your IAM infrastructure for scalability, performance, and future growth.
- SEC202 | Builders’ session | API Authorization with Amazon Cognito and Verified Permissions: In this session, gain hands-on experience with modern authorization in a microservices-based architecture on AWS and learn how to externalize and customize authentication with Amazon Cognito, apply fine-grained authorization with policy-based access controls using Amazon Verified Permissions, and integrate with APIs that are protected by Amazon API Gateway. You must bring your laptop to participate.
- SEC334 | Chalk talk | Building zero trust architectures with AWS practical guidance: This chalk talk delves into building zero-trust network architectures using AWS services. Learn how to secure user-to-application, application-to-application, and other access scenarios through a zero-trust lens.
- SEC232 | Breakout session | Secure by design: Enhancing the posture of root with central control: This session explores how to manage root access securely across your AWS environment, while maintaining centralized control and governance. Additionally, discover the latest tools and initiatives AWS offers to enforce multi-factor authentication (MFA), align with industry initiatives, and help your environment to remain secure.
Fortifying your security posture with threat detection and incident response
Use AWS security services to help you enhance your security posture and streamline security operations by continuously identifying and prioritizing security risks.
- SEC321 | Breakout session | Innovations in AWS detection and response: This session focuses on practical use cases, such as threat detection, workload and data protection, automated and continual vulnerability management, centralized monitoring, continuous cloud security posture management, unified security data management, investigation and response, and generative AI. Gain a deeper understanding of how you can seamlessly integrate AWS detection and response services to help protect your workloads at scale, enhance your security posture, and streamline security operations across your entire AWS environment.
- SEC332 | Chalk talk | Anatomy of a ransomware event targeting data within AWS: In this chalk talk, learn the anatomy of a ransomware event that targets data within AWS, including detection, response, and recovery. Leave with a deeper understanding of the AWS services and features you can use to protect against ransomware events in your environment and the knowledge to investigate possible ransomware events if they occur.
- SEC301 | Workshop | Threat detection and response using AWS security services: This workshop simulates several security events across different resources and behaviors. Get hands-on in a provided sandbox environment to review and respond to findings from the simulated events. You must bring your laptop to participate.
- SEC219 | Breakout session |Uncovering sophisticated cloud threats with Amazon GuardDuty: Learn how Amazon GuardDuty offers fully managed threat detection that gives you end-to-end visibility across your AWS environment. The unique detection capabilities of GuardDuty are guided by AWS visibility into the cloud threat landscape and can help responders address issues faster, minimizing the mean time to repair (MTTR) and optimizing security resources—so your teams can spend more time innovating and less time chasing down security risks.
- SEC343 | Chalk talk | Identify a prioritization strategy for security response & remediation: Join this chalk talk to learn about a framework for automating your response and remediation to security findings for your accounts. With AWS Security Hub as the foundation, explore the decision-making process regarding which findings could be auto-remediated, the implications of an auto-remediation approach, and how to achieve a quick and thorough response.
- SEC401 | Code talk| Inspect and secure your application with generative AI: Explore how to use generative AI to improve the security of your applications. Learn how AI-powered tools can help rapidly identify and then recommend remediations for security issues. Learn about how Amazon Inspector detects software and code vulnerabilities in your applications, and discover how to scan for issues and remediate them using generative AI in your integrated development environment (IDE).
Securing the edge against evolving risks with confidence
Use AWS edge security services to help protect against distributed denial of service (DDoS) and exploits directed against applications and achieve a more consistent security posture.
- SEC322 | Breakout session | Reduce your risk exposure with least privilege egress controls: Join this session to learn how to align your egress control strategy with the principle of least privilege. Learn how the recent launches for AWS Network Firewall, Amazon Route 53 Resolver DNS Firewall, and other security services can help you to reduce your exposure to a variety of risks. Simplify implementation and make rule recommendations that are specific to your use cases. Gain the confidence that your security policies meet their intended needs.
- SEC344 | Chalk talk | Lessons learned from DDoS mitigation: Insights from AWS Shield Response Team (AWS SRT) escalations: In this chalk talk, dive into past DDoS events and find out how the AWS SRT helped to mitigate security escalations. Gain insights into this type of intrusion and how you can apply mitigation strategies to make your application more DDoS-resilient.
- SEC327| Chalk talk | Building secure network designs for generative AI applications: In this chalk talk, learn how to build layered network security controls to protect, detect, and respond to issues faster and to accelerate your generative AI applications securely on AWS. Discover key considerations, best practices, and reference architectures to achieve your defense-in-depth network design objectives.
- SEC304 | Workshop | Mitigate zero-day events and ransomware risks with VPC egress controls: In this network security workshop, learn how to implement AWS best practices for egress controls to mitigate risks from software supply chain dependencies, zero-day events, cryptocurrency mining, and ransomware. You must bring your laptop to participate.
- SEC317 | Breakout session | How Amazon threat intelligence helps protect your infrastructure: Explore AWS threat intelligence capabilities and learn how they power managed firewall rules and security findings in security services such as AWS WAF, AWS Network Firewall, and Amazon Route 53 Resolver DNS Firewall. Learn about the threat intelligence AWS uses to protect AWS infrastructure, build new security features, and empower customers to enhance their application protection on AWS.
Safeguarding sensitive data in the age of generative AI
Discover advanced techniques and AWS services to help you protect the confidentiality and privacy of your data when you implement emerging AI technologies.
- SEC323 | Breakout session | The AWS approach to secure generative AI: Join this session to learn how AWS thinks about security across the three layers of our generative AI stack, from the bottom infrastructure layer to the middle layer (which provides access to the models and tools customers need to build and scale generative AI applications) to the top layer (which includes applications that make use of large language models (LLMs) and other foundation models (FMs) to make work easier).
- SEC310 | Workshop | Persona-based access to data for generative AI applications: In this workshop, manage document access in a chatbot application tailored to various user roles within an organization. Learn how to address challenges around secure information distribution, enhancing efficiency and compliance by aligning access rights with job functions. You must bring your laptop to participate.
- SEC336 | Chalk talk |Security and compliance considerations using Amazon Q Business: This chalk talk covers best practices for securing your Amazon Q Business application, including access control, data protection, and compliance considerations.
To find more generative AI–focused sessions, see this blog post.
Empowering developers with a security-minded culture
Integrate security seamlessly within your DevSecOps practices to accelerate time to market and reduce risk.
- SEC216 | Breakout session | Build trust in your CI/CD pipeline: Codify container security at scale: In this session, learn how to automate container security and compliance at scale. Explore how Amazon Q Developer, Amazon Inspector, and Amazon Elastic Compute Cloud (Amazon EC2) Image Builder complement each other, helping to automate the creation of secured container images and their eventual storage in Amazon Elastic Container Registry (Amazon ECR). Leave knowing how to support your builders and allow them to develop quickly without compromising on security.
- SEC217 | Breakout session | Building a resilient and effective culture of security: This talk offers guidance on cultivating a resilient, empowered culture of security, including gaining leadership support, distributing security ownership, and embedding psychological safety to build trust, transparency, and a proactive security-first mindset.
- SEC218 | Breakout session | Emotionally intelligent security leadership to drive business impact: Elevate your leadership and learn to align security needs with strategic business outcomes, spearhead impactful transformations, and cultivate a sustainable security culture. Get an inside look how AWS and its customers lead security with empathy, translate security purpose into results, inspire innovation, and foster connections to improve positive escalation culture. Become empowered to lead with precision, acquire the art of connecting security objectives to meaningful business impact, and steer your organization toward a future where security is a catalyst for success and resilience.
- SEC314 | Code talk | Accelerate your DevOps pipeline and remain secure with policy as code: In this code talk, learn how to define compliance rules for your AWS infrastructure and evaluate them using AWS CloudFormation Guard, which is an open source, general-purpose, policy-as-code evaluation tool. Explore how to seamlessly integrate automated policy validation into your existing deployment pipeline, empowering DevOps engineers to build policy assessment steps into their CI/CD pipelines. Security assessors will experience streamlined review processes while maintaining a robust security posture.
- SEC302 | | Breakout session | Better together: Protecting data through culture and technology: This session examines the full range of data protection capabilities that are available with AWS and how best practices and culture can complement these capabilities to improve security outcomes. Learn more about the defense-in-depth perspective, which details how organizations can protect their data and bolster their security culture by consistently building security into every layer.
Expo
Want to talk directly with an AWS expert on cloud security? Then don’t miss this opportunity to have one-on-one conversations with leading AWS security experts in the Security Activation area of the expo floor to help you take your organization’s security posture to new heights.
Delve into key security domains such as:
- Detection and response: Explore techniques for detecting and responding to security risks to help protect your workloads at scale.
- Network and infrastructure security: Learn how to build and manage a secure global network with AWS services.
- Application security: Discover strategies to ship secure software and address the challenges of application security.
- Identity and access management: Adopt modern cloud-native identity solutions and apply least-privilege access controls.
- Digital sovereignty and data protection: Maintain control over your data and choose how to secure and manage it in the AWS Cloud.
Still time for fun!
After an inspiring week of transformative insights and deep learning, join us for the world renowned re:Play party—the ultimate re:Invent sendoff! Immerse yourself in live entertainment from headlining musical artists, scrumptious cuisine, and flowing refreshments as we come together to unwind, connect, and toast to a future of limitless possibilities.
Register today
It’s going to be an amazing event, and we can’t wait to see you at re:Invent 2024! Register now to secure your spot.
If you have feedback about this post, submit comments in the Comments section below. If you have questions about this post, contact AWS Support.
The "Great Blue Norther" of 11/11/11
Post Syndicated from The History Guy: History Deserves to Be Remembered original https://www.youtube.com/watch?v=jGK7dWd8o6Y
S11 E29: Trump’s Reelection: 11/10/24: Last Week Tonight with John Oliver
Post Syndicated from LastWeekTonight original https://www.youtube.com/watch?v=s76vrcwpLMo
New Shots of the NVIDIA HGX B200
Post Syndicated from Eric Smith original https://www.servethehome.com/new-shots-of-the-nvidia-hgx-b200-astera-labs/
We saw another NVIDIA HGX B200 8-GPU platform with bare NVLink Switch chips and Astera Labs PCIe retimers onboard
The post New Shots of the NVIDIA HGX B200 appeared first on ServeTheHome.
Kernel prepatch 6.12-rc7
Post Syndicated from corbet original https://lwn.net/Articles/997678/
Linus has released 6.12-rc7 for testing.
“No big surprises, and I think everything is on track for a final 6.12
“
release next weekend.
Nuclear Bomber Alert
Post Syndicated from The History Guy: History Deserves to Be Remembered original https://www.youtube.com/watch?v=myMph03SvU8
Comic for 2024.11.11 – Cant Stop
Post Syndicated from Explosm.net original https://explosm.net/comics/cant-stop
New Cyanide and Happiness Comic





