developing-applications-on-managed-service-for-apache-flink
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 またはシェルを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
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詳細
Apache Flink マネージドサービス
概要
Amazon Managed Service for Apache Flink(MSF)上の Apache Flink アプリケーションに関するドメイン知識です。開発、KPU リソース管理、コネクター、状態管理、モニタリング、IaC によるデプロイ、バージョン移行を扱います。
接続時は、AWS MCP サーバーで利用可能なツールを使用してコマンドを実行してください。サンドボックス化された実行、監査ログ、可観測性が提供されます。MCP サーバーを利用できない場合は、必要に応じて AWS CLI またはシェルに切り替えてください。
一般的なガイダンス
開始する前に、ユーザーのペルソナ、ユースケース、要件を明確に把握してください。
続行する前に、ユーザーの背景とユースケースを確認してください。
- 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 ドキュメントの検索に基づいて回答しないでください。
- ほかの手順に進む前に、以下の関連する参考ファイルを必ず読み込んでください。
- 参考ファイルには、一般的な Flink のガイダンスとは異なる MSF 固有の詳細(しきい値、統計、名前空間、制約)が記載されており、正確な回答に必要です。
| 目的 | リファレンス | 読み込むタイミング |
|------|-----------|-------------|
| ベストプラクティス | 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 | データスキューの検出と緩和、モノリシックなジョブのアンチパターン、高ファンアウトのアンチパターン、複数のシャッフルの削減、大規模アプリケーションを分割するタイミング | | モニタリングとアラーム | 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 Enhanced Fan-Out(EFO) | kinesis-efo-guide.md | EFO とポーリングの使い分け、EFO ソースの設定、コンシューマーのライフサイクル(JOB_MANAGEDとSELF_MANAGED)、並列度とシャード数、IAM 権限、トラブルシューティング | | Iceberg の統合(書き込み API、分散モード、パーティショニング) | iceberg-connector-guide.md | Iceberg の書き込み API(append、upsert、dynamic)、分散モード(NONE/HASH/RANGE)、CoW と MoR、読み取りパターン、パーティショニング、DDL。カタログの選択やメンテナンス手法は含まれません — それらについてはiceberg-tuning-and-operations.mdを読み込んでください。 | | Iceberg のチューニング、運用、カタログの選択、メンテナンス | iceberg-tuning-and-operations.md | カタログ選択に関する質問に向けて、S3 Tables、Glue + Glue auto-compaction、Glue + JDBC ロックを使用した 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、2 段階デプロイ | | シリアライゼーション | serialization-guide.md | POJO、Avro、Kryo に関するガイダンス | | 状態管理 | state-management.md | TTL、状態の種類、移行の安全性 |