<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yasuyuki Sato</title>
    <description>The latest articles on DEV Community by Yasuyuki Sato (@yasai).</description>
    <link>https://dev.to/yasai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1129732%2Fc39b92f8-b7bb-4017-b375-6aff243d2c20.jpg</url>
      <title>DEV Community: Yasuyuki Sato</title>
      <link>https://dev.to/yasai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yasai"/>
    <language>en</language>
    <item>
      <title>My Recent Favorite AWS Topics "Enhance AI-assisted development with Amazon ECS, Amazon EKS and AWS Serverless MCP server" etc</title>
      <dc:creator>Yasuyuki Sato</dc:creator>
      <pubDate>Sun, 01 Jun 2025 23:33:29 +0000</pubDate>
      <link>https://dev.to/aws-builders/my-recent-favorite-aws-topics-enhance-ai-assisted-development-with-amazon-ecs-amazon-eks-and-aws-3him</link>
      <guid>https://dev.to/aws-builders/my-recent-favorite-aws-topics-enhance-ai-assisted-development-with-amazon-ecs-amazon-eks-and-aws-3him</guid>
      <description>&lt;p&gt;Hello everyone!! Last weekend, I maintained some of my Serverless Application. This included a GenAI application by Amazon Bedrock and a Slack App. I will also start studying for the "AWS Solutions Architect - Professional" certificate renewal. The deadline is the end of August in this year, I absolutely cannot lose this battle!&lt;/p&gt;

&lt;p&gt;This post introduces my favorite recent AWS topic. Especially, Amazon ECS, Amazon EKS and AWS Serverless MCP server are very attention for me! Using MCP Servert to get context of specific knowledge is useful! Have fun vibe coding with MCP server!&lt;/p&gt;

&lt;p&gt;Collection period: 2025/05/26 Mon ~ 2025/06/01 Sun&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Blog
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Enhance AI-assisted development with Amazon ECS, Amazon EKS and AWS Serverless MCP server | AWS News Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/aws/enhance-ai-assisted-development-with-amazon-ecs-amazon-eks-and-aws-serverless-mcp-server/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Enhance AI-assisted development with Amazon ECS, Amazon EKS and AWS Serverless MCP server&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;AWS has introduced specialized Model Context Protocol (MCP) servers for Amazon ECS, EKS, and AWS Serverless, now available as open source solutions in the AWS Labs GitHub repository. These tools enhance AI development assistants by providing real-time, contextual responses beyond pre-trained knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Amazon ECS MCP Server&lt;/strong&gt;: Containerizes and deploys applications within minutes, configuring load balancers, networking, auto-scaling, and monitoring using natural language instructions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amazon EKS MCP Server&lt;/strong&gt;: Provides AI assistants with up-to-date contextual information about specific EKS environments and latest features&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS Serverless MCP Server&lt;/strong&gt;: Enhances serverless development with comprehensive knowledge of patterns, best practices, and AWS SAM CLI integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Demonstration:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The article shows practical examples using Amazon Q CLI:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Created a serverless backend application for video/image metadata extraction using Amazon Nova models&lt;/li&gt;
&lt;li&gt;Migrated the application to containerized architecture on ECS&lt;/li&gt;
&lt;li&gt;Built a web application marketplace on EKS cluster&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The MCP servers automatically handle troubleshooting, code review, deployment, and error resolution through natural language commands. They work with popular AI-enabled IDEs and support the complete application lifecycle from development to production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Additional Tools:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The repository also includes AWS Lambda MCP server and Amazon Bedrock Knowledge Bases Retrieval MCP server for enhanced functionality.&lt;br&gt;
These tools accelerate development by providing AI assistants with deep AWS service understanding and current best practices.&lt;/p&gt;
&lt;h3&gt;
  
  
  Amazon Aurora DSQL, the fastest serverless distributed SQL database is now generally available | AWS News Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/aws/amazon-aurora-dsql-is-now-generally-available/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Amazon Aurora DSQL, the fastest serverless distributed SQL database is now generally available&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Amazon Aurora DSQL, the fastest serverless distributed SQL database, is now generally available. It offers virtually unlimited scale, highest availability, and zero infrastructure management for always-available applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disaggregated architecture with independent components (query processor, adjudicator, journal, crossbar)&lt;/li&gt;
&lt;li&gt;99.99% availability in single Region, 99.999% across multiple Regions&lt;/li&gt;
&lt;li&gt;Active-active distributed architecture with strong consistency&lt;/li&gt;
&lt;li&gt;Multi-Region support with synchronized endpoints&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Single-Region clusters replicate data across three Availability Zones. Multi-Region clusters use two Regional endpoints with a third witness Region, enabling concurrent read/write operations with strong data consistency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simple console experience allows creating single or multi-Region clusters. Users can connect via familiar SQL clients (PostgreSQL terminal, DBeaver, DataGrip) or programmatically using various languages (Python, Java, JavaScript, etc.).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New Capabilities Since Preview:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved console experience with AWS CloudShell integration&lt;/li&gt;
&lt;li&gt;Enhanced PostgreSQL features (views, unique secondary indexes, Auto-Analyze)&lt;/li&gt;
&lt;li&gt;AWS service integrations (Backup, PrivateLink, CloudFormation, CloudTrail)&lt;/li&gt;
&lt;li&gt;Model Context Protocol server for AI interaction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Availability &amp;amp; Pricing:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Available in US East/West, Asia Pacific (Osaka/Tokyo), and Europe (Ireland/London/Paris) regions. Billing uses Distributed Processing Units (DPUs) for requests and GB-months for storage. AWS Free Tier includes 100,000 DPUs and 1 GB-month storage monthly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Overview of Niconico's large-scale security reform realized with AWS by Dwango Co., Ltd. | Amazon Web Services Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/news/overview-niconico-security-governance-on-aws/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Overview of Niconico's large-scale security reform realized with AWS by Dwango Co., Ltd.&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This article describes Dwango's cloud security reform following a cyberattack on their Niconico platform in June 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dwango, operator of Japan's major video/livestreaming platform Niconico, was migrating from on-premises infrastructure to AWS when the cyberattack occurred. Fortunately, their existing security measures prevented AWS environment compromise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-existing Security Measures:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Internal security guidelines&lt;/li&gt;
&lt;li&gt;AWS Trusted Advisor and Security Hub for preventive measures&lt;/li&gt;
&lt;li&gt;Amazon GuardDuty for incident management&lt;/li&gt;
&lt;li&gt;AWS CloudTrail for user activity monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Security Reform Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The company implemented a comprehensive security platform based on two pillars:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Prevention:&lt;/strong&gt; Enhanced AWS Security Hub, Trusted Advisor, and Service Control Policy implementation across all AWS accounts to establish unified security baselines while maintaining team agility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Detection:&lt;/strong&gt; GuardDuty-based threat detection with CloudTrail monitoring for suspicious activities, enabling immediate incident response through automated notifications.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Key Solutions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-account architecture using AWS Control Tower and Organizations&lt;/li&gt;
&lt;li&gt;External security vendor collaboration for 24/7 monitoring&lt;/li&gt;
&lt;li&gt;Implementation of AWS Security Incident Response service for automated triage and investigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The reform successfully prevented attack-like behaviors and received positive external security assessments. The flexible configuration options of AWS security services allowed cost-effective security improvements tailored to their specific needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While AWS wasn't compromised during the attack, the company emphasizes that cloud security requires proactive customer responsibility under AWS's shared responsibility model. They continue advancing security measures across the KADOKAWA Group with AWS Japan's support.&lt;/p&gt;

</description>
      <category>aws</category>
    </item>
    <item>
      <title>My Recent Favorite AWS Topics "Introducing Claude 4 in Amazon Bedrock, the most powerful models for coding from Anthropic" etc</title>
      <dc:creator>Yasuyuki Sato</dc:creator>
      <pubDate>Sun, 25 May 2025 17:22:00 +0000</pubDate>
      <link>https://dev.to/aws-builders/my-recent-favorite-aws-topics-introducing-claude-4-in-amazon-bedrock-the-most-powerful-models-for-h46</link>
      <guid>https://dev.to/aws-builders/my-recent-favorite-aws-topics-introducing-claude-4-in-amazon-bedrock-the-most-powerful-models-for-h46</guid>
      <description>&lt;p&gt;Hello everyone!! Recently, I updated my "AWS Community Builder" status. I can continue be "AWS Community Builder" in this year. I think the best way of using AWS credits of CB is Amazon Q Developer. Since pro Subscription costs $19, we can keep within the $500 yearly.  Since I don't setup AWS Organization in My AWS Account, I'd like to enable AWS Organization and Amazon Q Developer by the end of this month.&lt;/p&gt;

&lt;p&gt;This post is introduce my favorite recent AWS Topic. Especially, Claude 4 is very attention! Most AI Coding Agent can choose Claude, so I look forward to supporting Claude 4.&lt;/p&gt;

&lt;p&gt;Collection period: 2025/05/17 Mon ~ 2025/05/25 Sun&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Blog
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Introducing Claude 4 in Amazon Bedrock, the most powerful models for coding from Anthropic | AWS News Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/aws/claude-opus-4-anthropics-most-powerful-model-for-coding-is-now-in-amazon-bedrock/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Introducing Claude 4 in Amazon Bedrock, the most powerful models for coding from Anthropic&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This article announces the launch of two new AI models from Anthropic - Claude Opus 4 and Claude Sonnet 4 - which are now available on Amazon Bedrock. Here are the key points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Claude Opus 4 is Anthropic's most advanced model, designed for complex tasks like coding, advanced reasoning, and building autonomous AI agents.&lt;/li&gt;
&lt;li&gt;Claude Sonnet 4 is optimized for efficiency and high-volume tasks, making it suitable for production workloads.&lt;/li&gt;
&lt;li&gt;Both models are available on Amazon Bedrock, offering enterprise-grade security and responsible AI controls.&lt;/li&gt;
&lt;li&gt;Opus 4 excels in software development scenarios requiring extended context and deep reasoning, while Sonnet 4 is ideal for everyday development tasks and high-volume production workloads.&lt;/li&gt;
&lt;li&gt;Both models offer two modes: near-instant responses and extended thinking for deeper reasoning.&lt;/li&gt;
&lt;li&gt;The article provides code examples and instructions on how to get started using these models through the Bedrock Converse API.&lt;/li&gt;
&lt;li&gt;Claude Opus 4 is available in select North American AWS Regions, while Claude Sonnet 4 is available in North America, APAC, and Europe.&lt;/li&gt;
&lt;li&gt;The new models aim to enhance AI capabilities in areas such as coding, research, and enterprise workflows.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Exploring the latest features of the Amazon Q Developer CLI | AWS DevOps &amp;amp; Developer Productivity Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/devops/exploring-the-latest-features-of-the-amazon-q-developer-cli/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Exploring the latest features of the Amazon Q Developer CLI&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This article discusses recent updates and new features for the Amazon Q Developer Command Line Interface (CLI). Key improvements include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Conversation Persistence: Users can now save and resume conversations using commands like 'q chat --resume', '/save', and '/load'.&lt;/li&gt;
&lt;li&gt;MCP and Tool Use Enhancements: Background loading of Model Context Protocol (MCP) servers, a new 'q mcp' subcommand for managing MCP configurations, and the '/tools' command for controlling tool permissions.&lt;/li&gt;
&lt;li&gt;Improved Context Control: Git-aware file selection, fuzzy search for slash commands, enhanced context display, and dynamic context addition through hooks.&lt;/li&gt;
&lt;li&gt;Context Window Awareness: New '/usage' and '/compact' commands to manage context window usage efficiently.&lt;/li&gt;
&lt;li&gt;Image Support: Users can now share images in 'q chat' for visual information exchange.&lt;/li&gt;
&lt;li&gt;Editor for Long Prompts: The '/editor' command allows composing detailed prompts in a text editor.&lt;/li&gt;
&lt;li&gt;Expanded Region Support: Professional tier users can now access Q Developer in the Frankfurt region (eu-central-1).&lt;/li&gt;
&lt;li&gt;Issue Management: New '/issue' command and 'report_issue' tool for easier bug reporting and feature requests.&lt;/li&gt;
&lt;li&gt;Changelog Access: A '--changelog' flag added to the 'q version' command for viewing recent updates.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These updates aim to enhance user experience, improve context management, and add powerful new capabilities to the Amazon Q Developer CLI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Amazon Inspector enhances container security by mapping Amazon ECR images to running containers | AWS News Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/aws/amazon-inspector-enhances-container-security-by-mapping-amazon-ecr-images-to-running-containers/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Amazon Inspector enhances container security by mapping Amazon ECR images to running containers&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This article discusses new features in Amazon Inspector that enhance vulnerability management for container workloads:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Amazon Inspector now maps Amazon ECR images to running containers, allowing security teams to prioritize vulnerabilities based on currently running containers.&lt;/li&gt;
&lt;li&gt;Vulnerability scanning support has been extended to minimal base images and additional ecosystems.&lt;/li&gt;
&lt;li&gt;The new features provide visibility into which container images are actively running and where they're deployed in Amazon ECS and Amazon EKS.&lt;/li&gt;
&lt;li&gt;Users can configure image re-scan modes based on last in-use date or last pull date.&lt;/li&gt;
&lt;li&gt;The console now displays information about images running on containers, including last in-use and pull dates, and EKS pods or ECS tasks count.&lt;/li&gt;
&lt;li&gt;Cross-account visibility is supported, allowing users to see deployments across different AWS accounts.&lt;/li&gt;
&lt;li&gt;New filtering options are available in the Findings menu, including Account ID, Image in use count, and Image last in use at.&lt;/li&gt;
&lt;li&gt;The service now provides unified vulnerability assessments for both traditional Linux distributions and minimal base images.&lt;/li&gt;
&lt;li&gt;Enhanced cross-account visibility is supported through delegated administrator capabilities.&lt;/li&gt;
&lt;li&gt;These new container mapping capabilities are available in all AWS Regions where Amazon Inspector is offered at no additional cost.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The article emphasizes how these features help prioritize vulnerability management based on actual deployment and usage patterns of container images.&lt;/p&gt;

</description>
      <category>aws</category>
    </item>
    <item>
      <title>My Recent Favorite AWS Topics "Introducing Strands Agents, an Open Source AI Agents SDK" etc</title>
      <dc:creator>Yasuyuki Sato</dc:creator>
      <pubDate>Sat, 17 May 2025 19:17:15 +0000</pubDate>
      <link>https://dev.to/aws-builders/my-recent-favorite-aws-topics-introducing-strands-agents-an-open-source-ai-agents-sdk-etc-42kp</link>
      <guid>https://dev.to/aws-builders/my-recent-favorite-aws-topics-introducing-strands-agents-an-open-source-ai-agents-sdk-etc-42kp</guid>
      <description>&lt;p&gt;Hello everyone. Recentry, I have played "Legends of Zelda Tears of Kingdom". This video game is amazing. Especially, Changing scenery is great!! Beautiful sunset, sunrise ... these are very impressinve. But, Collecting "Zonaite" is bit tired. I don't like underground world in this game. So, I may more like "Legends of Zelda Breath of the Wild" than it. If you know place of local procurement for 3 "Fan" and "Steering Stick", please let me know.&lt;br&gt;
Of course, I'm preparing session material for AWS Ambassador Global Summit on June, 2025. The holding of last year is September 2024. I'm happy to be participating again this year.&lt;/p&gt;

&lt;p&gt;This blog post is introduce my favorite recent AWS Topics. Especially, Strands Agents released is very attention!&lt;/p&gt;

&lt;p&gt;Collection period: 2025/05/12 Mon ~ 2025/05/17 Sat&lt;/p&gt;
&lt;h2&gt;
  
  
  AWS Blog
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Introducing Strands Agents, an Open Source AI Agents SDK | AWS Open Source Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/opensource/introducing-strands-agents-an-open-source-ai-agents-sdk" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Introducing Strands Agents, an Open Source AI Agents SDK&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Strands Agents, an open-source SDK for building AI agents, has been released. Key points include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It uses a model-driven approach, simplifying agent development by leveraging advanced language models.&lt;/li&gt;
&lt;li&gt;Developers can define agents with just a prompt and a list of tools, then test locally and deploy to the cloud.&lt;/li&gt;
&lt;li&gt;Strands supports various models, including those from Amazon Bedrock, Anthropic, Ollama, Meta, and others.&lt;/li&gt;
&lt;li&gt;The SDK is already used by several AWS teams in production.&lt;/li&gt;
&lt;li&gt;Strands Agents consists of three core components: a model, tools, and a prompt.&lt;/li&gt;
&lt;li&gt;It features an "agentic loop" that allows the model to plan, reason, and select tools autonomously.&lt;/li&gt;
&lt;li&gt;The project includes pre-built tools and supports complex use cases like multi-agent collaboration.&lt;/li&gt;
&lt;li&gt;Strands offers flexibility in deployment, supporting various architectures for production use.&lt;/li&gt;
&lt;li&gt;The SDK provides observability features for monitoring agent performance in production.&lt;/li&gt;
&lt;li&gt;It's an open-source project, welcoming contributions from the community.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The article also includes a brief example of building a naming agent using Strands Agents and discusses different deployment architectures for production use.&lt;/p&gt;

&lt;h3&gt;
  
  
  Accelerate CI/CD pipelines with the new AWS CodeBuild Docker Server capability | AWS News Blog
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/aws/accelerate-ci-cd-pipelines-with-the-new-aws-codebuild-docker-server-capability/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Accelerate CI/CD pipelines with the new AWS CodeBuild Docker Server capability&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This article introduces a new feature for AWS CodeBuild called Docker Server capability. Here's points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS CodeBuild now offers a Docker Server capability that provides a dedicated and persistent Docker server within CodeBuild projects.&lt;/li&gt;
&lt;li&gt;This feature can significantly reduce build times for Docker images by centralizing image building and maintaining a persistent cache.&lt;/li&gt;
&lt;li&gt;In a benchmark test, the author saw a 98% reduction in build time (from 24 minutes 54 seconds to 16 seconds) for a complex Docker image.&lt;/li&gt;
&lt;li&gt;To use this feature, users can enable it when creating or editing a CodeBuild project through the AWS console.&lt;/li&gt;
&lt;li&gt;The Docker Server maintains layers between builds, which is particularly beneficial for large, complex Docker images with many layers.&lt;/li&gt;
&lt;li&gt;The feature is available for both x86 (Linux) and ARM builds, and is offered in all AWS Regions where CodeBuild is available.&lt;/li&gt;
&lt;li&gt;Pricing information for this feature can be found on the AWS CodeBuild pricing page.&lt;/li&gt;
&lt;li&gt;The article provides a step-by-step demonstration of how to enable and use the Docker Server capability, including sample build logs showing the improved performance.&lt;/li&gt;
&lt;li&gt;This feature aims to improve efficiency and reduce wait times for teams running numerous Docker builds in their CI/CD pipelines.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Simplify AWS AppSync Events integration with Powertools for AWS Lambda | Front-End Web &amp;amp; Mobile
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/jp/blogs/mobile/simplify-aws-appsync-events-integration-with-powertools-for-aws-lambda/" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;Simplify AWS AppSync Events integration with Powertools for AWS Lambda&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;This article discusses the integration of AWS AppSync Events with Powertools for AWS Lambda, introducing the new AppSyncEventsResolver feature. Here's points:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS AppSync Events enables real-time features through WebSocket APIs, allowing developers to build scalable and performant real-time applications.&lt;/li&gt;
&lt;li&gt;Powertools for AWS Lambda now supports AppSync Events through the new AppSyncEventsResolver, available in Python, TypeScript, and .NET.&lt;/li&gt;
&lt;li&gt;The AppSyncEventsResolver provides a simple interface for processing events, with built-in support for common patterns such as filtering, transforming, and routing events.&lt;/li&gt;
&lt;li&gt;Key features of AppSyncEventsResolver include:

&lt;ul&gt;
&lt;li&gt;Pattern-based routing for organizing event handlers&lt;/li&gt;
&lt;li&gt;Subscription handling for PUBLISH and SUBSCRIBE events&lt;/li&gt;
&lt;li&gt;Access to full event and context objects&lt;/li&gt;
&lt;li&gt;Built-in error handling&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Advanced patterns and best practices:

&lt;ul&gt;
&lt;li&gt;On publish processing for handling individual messages&lt;/li&gt;
&lt;li&gt;Aggregate processing for batch handling of multiple events&lt;/li&gt;
&lt;li&gt;Event filtering capabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The article provides code examples in TypeScript to demonstrate how to set up and use the AppSyncEventsResolver for various scenarios.&lt;/li&gt;
&lt;li&gt;The new feature aims to enhance the development experience by reducing boilerplate code and allowing developers to focus on business logic rather than infrastructure code.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The article concludes by encouraging developers to explore the Powertools documentation, AppSync Events documentation, and the GitHub repository for more information and to provide feedback on their experiences using the AppSyncEventsResolver.&lt;/p&gt;

</description>
      <category>aws</category>
    </item>
    <item>
      <title>Reduce the amount of code in AWS CDK: Apply OAC in Amazon CloudFront L2 constructs</title>
      <dc:creator>Yasuyuki Sato</dc:creator>
      <pubDate>Thu, 07 Nov 2024 16:41:45 +0000</pubDate>
      <link>https://dev.to/aws-builders/reduce-the-amount-of-code-in-aws-cdk-apply-oac-in-amazon-cloudfront-l2-constructs-27hi</link>
      <guid>https://dev.to/aws-builders/reduce-the-amount-of-code-in-aws-cdk-apply-oac-in-amazon-cloudfront-l2-constructs-27hi</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This post is a translation for Dev.to of a &lt;a href="https://blog.supica.work/entry/try-cloudfront-oac-cdk-l2-construct" rel="noopener noreferrer"&gt;blog originally posted in Japanese.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I have been working on my AWS certifications of late: SysOps Administrator - Associate in May, Data Engineer - Associate in June, Machine Learning - Specialty in July, Advanced Networking - Specialty in September, and AI Practitioner in November. The rush to take AWS certifications is beginning to slow down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A new AWS CDK L2 construct is now available for Amazon CloudFront Origin Access Control (OAC)!&lt;/strong&gt;&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://aws.amazon.com/jp/blogs/devops/a-new-aws-cdk-l2-construct-for-amazon-cloudfront-origin-access-control-oac/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fd2908q01vomqb2.cloudfront.net%2F7719a1c782a1ba91c031a682a0a2f8658209adbf%2F2024%2F10%2F31%2Foac-blog-feature-image.png" height="405" class="m-0" width="720"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://aws.amazon.com/jp/blogs/devops/a-new-aws-cdk-l2-construct-for-amazon-cloudfront-origin-access-control-oac/" rel="noopener noreferrer" class="c-link"&gt;
          A new AWS CDK L2 construct for Amazon CloudFront Origin Access Control (OAC) | AWS DevOps &amp;amp; Developer Productivity Blog
        &lt;/a&gt;
      &lt;/h2&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fa0.awsstatic.com%2Fmain%2Fimages%2Fsite%2Ffav%2Ffavicon.ico" width="16" height="16"&gt;
        aws.amazon.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;I have confirmed that the new L2 construct is available in our environment with CDK version 2.165.0.&lt;/p&gt;

&lt;p&gt;I immediately migrated our personal static hosting site to the new L2 construct for OAC, and we describe below how to write the new AWS CDK L2 construct and how it compares to the previous one!&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes you happy about the new AWS CDK L2 construct for OAC?
&lt;/h2&gt;

&lt;p&gt;Until the new AWS CDK L2 construct for OAC was available, the legacy configuration, written as Origin Access Identity (OAI), then using the escape hatch to use Origin Access Control (OAC) The OAC was then customized to use Origin Access Control (OAC) using an escape hatch.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;    &lt;span class="c1"&gt;// Code before new AWS CDK L2 constructs for OAC were available&lt;/span&gt;
    &lt;span class="c1"&gt;// Defining CloudFront Distribution&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;distribution&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudfront&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Distribution&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Distribution&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;defaultRootObject&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;index.html&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;defaultBehavior&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudfront_origins&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;S3Origin&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;originS3Bucket&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="c1"&gt;// Origin Access Control (OAC) Definition&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;originAccessControl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudfront&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CfnOriginAccessControl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;OriginAccessControl&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;originAccessControlConfig&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;OriginAccessControlForOriginS3Bucket&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;originAccessControlOriginType&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s3&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;signingBehavior&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;always&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;signingProtocol&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sigv4&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Access Control&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="c1"&gt;// Convert CloudFront distribution to L1 construct&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cfnDistribution&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;distribution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;node&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultChild&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudfront&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CfnDistribution&lt;/span&gt;

    &lt;span class="c1"&gt;// Customization by Escape Hatch&lt;/span&gt;
    &lt;span class="nx"&gt;cfnDistribution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addPropertyOverride&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DistributionConfig.Origins.0.OriginAccessControlId&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;originAccessControl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAtt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="nx"&gt;cfnDistribution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addPropertyOverride&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DistributionConfig.Origins.0.DomainName&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;originS3Bucket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;bucketRegionalDomainName&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nx"&gt;cfnDistribution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addOverride&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Properties.DistributionConfig.Origins.0.S3OriginConfig.OriginAccessIdentity&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nx"&gt;cfnDistribution&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addPropertyDeletionOverride&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DistributionConfig.Origins.0.CustomOriginConfig&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In addition to writing the above code, a bucket policy for S3 buckets in static hosting was also required. Since the above code was written once for OAI and customized by escape hatch, there was a situation where unused OAI resources would continue to exist.&lt;/p&gt;

&lt;p&gt;The above code description by the escape hatch method is completely unnecessary. The following code is all that is needed to implement OAC.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;    &lt;span class="c1"&gt;// Code using the new AWS CDK L2 construct for OAC&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;distribution&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudfront&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Distribution&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Distribution&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;defaultBehavior&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;aws_cloudfront_origins&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;S3BucketOrigin&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;withOriginAccessControl&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;originS3Bucket&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;... The difference in the amount of description is amazing. It looks like black magic. ... It is very useful if you know the type of resources to create and update in your CloudFront distribution.&lt;/p&gt;

&lt;h2&gt;
  
  
  The old description method is deprecated
&lt;/h2&gt;

&lt;p&gt;The S3Origin description method has been deprecated. Refactoring will be required when updating the aws-cdk-lib package.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhvlzyqmlv7pi0xp9nj1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjhvlzyqmlv7pi0xp9nj1.png" alt="The old description method is deprecated" width="800" height="176"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To avoid downtime when migrating from OAI, it is desirable to write a temporary S3 bucket policy that allows both OAI and OAC.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amount of CDK code description reduced to 60%.
&lt;/h2&gt;

&lt;p&gt;What is surprising is the amount of code written for CDK: we compared the number of lines before and after using the OAC for CDK L2 constructs. (This line count is based on the entire stack of lines for the simple static hosting site we use.)&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CDK L2 Construct OAC&lt;/th&gt;
&lt;th&gt;number of lines&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Before use&lt;/td&gt;
&lt;td&gt;106&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;After use&lt;/td&gt;
&lt;td&gt;73&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The amount of code written was reduced by 60%, and the amount of code written was reduced by 40%. The escape hatch, which is difficult to understand at a glance, has also been eliminated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;The new AWS CDK L2 construct for Amazon CloudFront Origin Access Control (OAC) eliminates the escape hatch (customization) that was previously required when applying OAC, allowing for concise code. Since this L2 construct creates multiple resources such as OAC and S3 bucket policies, it is desirable to use it after understanding the contents of the resources to be created. We would like to make positive use of this service.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>awscdk</category>
      <category>cloudfront</category>
    </item>
  </channel>
</rss>
