关于 developing-applications-on-managed-service-for-apache-flink
为在 Amazon Managed Service for Apache Flink 上构建应用的开发者提供领域指导,涵盖开发、资源管理、部署与迁移。通过按任务加载参考文件,提供服务特定的实践和约束。
主要功能
- 01Flink 应用开发指导
- 02KPU 资源管理
- 03连接器与状态管理
- 04监控和 IaC 部署
- 05版本迁移参考
适用场景
- 01规划新 Flink 应用
- 02诊断资源与性能问题
- 03配置连接器和状态
- 04部署或迁移托管应用
MCP 相关
连接 AWS MCP 服务时,可使用其沙盒执行命令;不可用时可改用 AWS CLI 或 shell。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill developing-applications-on-managed-service-for-apache-flink安装后在 Claude Code 中输入/developing-applications-on-managed-service-for-apache-flink确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/application-lifecycle.mdbest-practices.mdcdc-connector-guide.mdcheckpoint-tuning.mddependency-management.mdenvironment-setup.mdfirst-fault-isolation.mdflink-2x-migration.mdfoundation-operations.mdiac-and-deployment.mdiceberg-connector-guide.mdiceberg-tuning-and-operations.mdjob-graph-anti-patterns.mdjob-graph-architecture.mdkinesis-connector-guide.mdkinesis-efo-guide.mdlogging-configuration.mdmonitoring-and-metrics.mdmsf-constraints-and-patterns.mdmsf-overview.mdpricing-calculator.mdresource-optimization.mdscaling-decisions.mdserialization-guide.mdstate-management.md详细介绍
Managed Service for Apache Flink
概述
为 Amazon Managed Service for Apache Flink(MSF)上的 Apache Flink 应用程序提供领域专业知识。涵盖开发、KPU 资源管理、连接器、状态管理、监控、IaC 部署和版本迁移。
连接后,使用 AWS MCP 服务提供的可用工具执行命令 — 它支持沙盒化执行、审计日志记录和可观测性。MCP 服务不可用时,根据需要改用 AWS CLI 或 Shell。
通用指南
开始前,请确保充分了解用户画像、使用场景和需求:
停止:继续之前,先确定用户的背景和使用场景:
- 他们是 Flink 新手吗?是 Managed Service for Apache Flink 的新手吗?
- 他们熟悉 Java 开发吗?
- 使用场景是否复杂,包含大量业务逻辑?还是简单且声明式?
这些信息有助于确定项目的组织方式,以及应使用 Flink Table API 还是 DataStream API。一般情况下,默认使用 DataStream API。
新应用的示例工作流
1. User asks to build a Flink application
2. Confirm user's goals and use case
3. READ [best-practices.md](references/best-practices.md)
4. READ [dependency-management.md](references/dependency-management.md)
5. READ relevant connector guides (e.g. [kinesis-connector-guide.md](references/kinesis-connector-guide.md))
6. Generate code following the loaded guidance
7. Validate against best practices
8. READ environment-setup.md via [environment-setup.md](references/environment-setup.md)
9. Compile and test locally
常见问题的示例工作流
1. User asks about real time delivery of data to Iceberg
2. Confirm user's goals and use case
3. READ [best-practices.md](references/best-practices.md)
4. READ [iceberg-connector-guide.md](references/iceberg-connector-guide.md)
5. READ other reference files as needed
6. Answer question with loaded guidance
参考文件
- 回答任何关于这些主题的问题时,必须使用此技能及其参考文件。
- 如果问题涉及 Apache Flink、Managed Service for Apache Flink、KPU 规格配置、Flink 监控、部署、迁移、实时分析,或使用 Flink 进行 Iceberg/LakeHouse 流式处理,请勿依据训练知识作答,也不要搜索通用 AWS 文档。
- 在采取其他步骤之前,必须先加载以下相关参考文件。
- 参考文件包含特定于 MSF 的详细信息(阈值、统计数据、命名空间、限制条件),这些信息与通用 Flink 指南不同,是确保回答正确所必需的。
| 目标 | 参考文档 | 加载时机 |
|------|-----------|-------------|
| 最佳实践 | best-practices.md | 编写代码前始终加载 |
| Maven 依赖 | dependency-management.md | 新建项目或添加连接器时 |
| 本地开发环境 | environment-setup.md | 基于 Docker 的本地开发 |
| MSF 架构 | msf-overview.md | KPU 模型和服务约束 |
| MSF 约束和模式 | msf-constraints-and-patterns.md | MSF 与自管理 Flink 的对比、服务级与应用级配置的分离、MSF 特有的资源/网络/存储限制、常见 MSF 模式 |
| 配额、ENI 规划、MSF 与 EMR 对比、源/接收器选择 | foundation-operations.md | 容量规划、服务选择、架构设计、CLI/IAM/CloudWatch 标识符辨析 |
| IAM 执行角色、信任策略、操作前缀、服务主体 | foundation-operations.md | 为 MSF 编写 IAM 策略时加载——涵盖
kinesisanalytics:(不带 v2)操作前缀、kinesisanalytics.amazonaws.com(不带 v2)信任主体,以及最常导致权限和 AssumeRole 失败的 v2/非 v2 不一致问题 | | Flink 2.x 迁移 | flink-2x-migration.md | 版本升级、状态兼容性 | | KPU 规格选择 | resource-optimization.md | 规格优化、性能诊断、扩缩容 | | 运行中应用的扩缩容决策 | scaling-decisions.md | 扩缩容过程中的决策矩阵、扩缩容对成本/内存的影响、自动扩缩容行为、反模式 | | 成本估算 | pricing-calculator.md | 预算规划、规格与成本映射、优化手段 | | 应用生命周期运维 | application-lifecycle.md | 启动/停止、部署代码、回滚、快照生命周期、运行时属性、删除 | | 重启循环诊断 | first-fault-isolation.md | 应用崩溃/重启时,查找原始故障与导致循环持续的因素、通过 Flink Dashboard 实时诊断 | | 检查点调优 | checkpoint-tuning.md | 检查点对 KPU 内存和 CPU 的影响、频率与网络带宽的权衡、检查点耗时超过间隔、检查点期间的 OOM/GC | | 作业图设计 | job-graph-architecture.md | 性能问题、拆分作业 | | 作业图反模式 | job-graph-anti-patterns.md | 数据倾斜检测与缓解、单体作业反模式、高扇出反模式、移除多次 Shuffle、何时拆分大型应用 | | 监控和告警 | monitoring-and-metrics.md | CloudWatch 控制面板、告警、指标 | | 日志记录 | logging-configuration.md | Log4j2、CloudWatch Logs 设置 | | Kinesis 连接器 | kinesis-connector-guide.md | Kinesis 源和接收器构建器、轮询配置与限流(READER_EMPTY_RECORDS_FETCH_INTERVAL、SHARD_GET_RECORDS_MAX、ReadProvisionedThroughputExceeded、LimitExceededException)、旧版连接器迁移 | | Kinesis 增强型扇出(EFO) | kinesis-efo-guide.md | 何时使用 EFO 而非轮询、EFO 源配置、使用者生命周期(JOB_MANAGED与SELF_MANAGED)、并行度与分片数、IAM 权限、故障排查 | | Iceberg 集成(写入 API、分发模式、分区) | iceberg-connector-guide.md | Iceberg 写入 API(追加、更新插入、动态)、分发模式(NONE/HASH/RANGE)、CoW 与 MoR、读取模式、分区、DDL。不包含目录选择或维护方案——这些内容请加载iceberg-tuning-and-operations.md。 | | Iceberg 调优、运维、目录选择、维护 | iceberg-tuning-and-operations.md | 介绍 S3 Tables、Glue + Glue 自动压缩以及带 JDBC 锁的 Glue + Flink 嵌入式维护方案,供选择目录时参考;小文件问题及缓解措施;Flink TableMaintenance API、提交后维护、锁工厂;IcebergSink 监控和反模式。 | | CDC 连接器 | cdc-connector-guide.md | MySQL、PostgreSQL、Oracle、SQL Server、MongoDB CDC | | IaC 和部署 | iac-and-deployment.md | CloudFormation、CDK、Terraform、两阶段部署 | | 序列化 | serialization-guide.md | POJO、Avro、Kryo 指南 | | 状态管理 | state-management.md | TTL、状态类型、迁移安全性 |
Additional Resources
评论
支持 Markdown