mcpField
S
sap-btp-best-practices

sap-btp-best-practices

github.com/secondskyクラウド・DevOps4801.0k 回インストール3 週間前に更新
リポジトリ

sap-btp-best-practices について

SAP BTP のアーキテクトやチーム向けのベストプラクティスガイドで、アカウントガバナンス、セキュリティ、開発、デリバリー、高可用性、運用の推奨事項をまとめています。BTP 環境の計画や実装前の設計レビューに役立ちます。

主な機能

  1. 01アカウント階層と環境の計画
  2. 02ID とアクセス制御の推奨事項
  3. 03チームガバナンスと開発ライフサイクルのガイド
  4. 04AI アプリ開発パターン
  5. 05デプロイ、デリバリー、フェイルオーバーの計画
  6. 06監視とコスト管理の推奨事項

活用シーン

  1. 01BTP アカウントとサブアカウント構成の設計
  2. 02本番環境の ID と認証の標準設定
  3. 03リージョン間デプロイとフェイルオーバーの計画
  4. 04CI/CD、監視、コスト管理の実践のレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/secondsky/sap-skills --skill sap-btp-best-practices

インストール後、Claude Code で/sap-btp-best-practicesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
agents/
openai.yaml
references/
account-models.md
ai-development-best-practices.md
deployment-and-delivery.md
failover-and-resilience.md
governance-and-teams.md
operations-and-monitoring.md
security-and-authentication.md
templates-and-examples.md

詳細

SAP BTP のベストプラクティス

関連するスキル

  • sap-btp-cloud-platform:技術的な実装の詳細、CLI コマンド、ランタイム構成に使用します
  • sap-btp-connectivity:接続パターン、宛先の構成、Cloud Connector のセットアップに使用します
  • sap-btp-service-manager:サービスのライフサイクル管理とプログラムによるサービス操作に使用します
  • sap-btp-developer-guide:開発ワークフロー、CAP との統合、アプリケーションパターンに使用します
  • sap-cap-capire:BTP 上の CAP アプリケーションを設計するとき、またはマルチテナントを実装するときに使用します
  • sap-ai-core:AI Core プラットフォームのセットアップ、モデルのデプロイ、オーケストレーションの構成に使用します
  • sap-cloud-sdk-ai:CAP アプリケーションまたはスタンドアロンの BTP アプリケーションでの SDK レベルの AI 統合に使用します
  • sap-fiori-tools:UI のデプロイ戦略とフロントエンドアプリケーションのガイドラインに使用します

このスキルを使用する場面

BTP アカウントモデルの設計、ガバナンスの設定、商用モデルや環境パターンの選択、セキュリティと認証のデフォルト設定、CI/CD と運用プラクティスの確立、または実装前の BTP ランドスケープの確認を行うときに、このスキルを使用します。

クイックスタート

  1. 対象となるアカウントモデルを特定します:グローバルアカウント、ディレクトリ、サブアカウント、環境、リージョン。
  2. ランタイムの選択肢を決定します:Cloud Foundry、Kyma、ABAP Environment、またはハイブリッド構成。
  3. セキュリティと認証のデフォルト設定を適用します。
  4. 詳細な実装には、関連する実装スキルを使用します:sap-btp-cloud-platform、sap-btp-connectivity、sap-btp-service-manager、sap-cap-capire、またはsap-fiori-tools。
  5. last_verifiedを変更する前に、本番環境固有の未対応事項をプロジェクト計画に記録します。

SAP の公式ドキュメントに基づく、ドキュメントを監査済みの SAP BTP 実装ガイダンスです。ソースの更新と、必要な実稼働アカウントの確認が完了するまで、last_verifiedの日付は古いままです。

クイックリンク:


目次

  1. プラットフォームの基礎
  2. アカウントモデルのセットアップ
  3. セキュリティと認証
  4. 接続
  5. ガバナンスとチーム
  6. 開発
  7. AI 開発
  8. デプロイと配信
  9. 高可用性とフェイルオーバー
  10. 運用とモニタリング
  11. コスト管理
  12. 同梱リソース

プラットフォームの基礎

アカウント階層
Global Account (SAP contract)
├── Directory (optional, up to 7 levels)
│   └── Subaccount (region-specific, apps run here)
│       ├── Cloud Foundry Org → Spaces
│       └── Kyma Cluster → Namespaces
└── Subaccount

要点:

  • グローバルアカウント=SAP との契約(商用モデルごとに1つ)
  • ディレクトリ=サブアカウントをグループ化します(最大7階層)
  • サブアカウント=特定のリージョンに配置され、ランタイムを有効にします
  • 仮想的なグループ化(開発/テスト/本番、コストセンター)にはラベルを使用します
環境
環境ユースケース主な機能
Cloud Foundryマルチ言語アプリ複数のビルドパック、スペース
Kymaクラウドネイティブな K8sオープンソース、名前空間
ABAPABAP 拡張RAP、クラウド対応 ABAP
Neoレガシー移行してください - HTML5、Java、HANA XS
商用モデル
  • 従量課金制(BTPEA/CPEA):柔軟に利用でき、パイロットに最適です
  • サブスクリプションベース:必要なサービスが明確な場合に適した固定費用モデルです

ベストプラクティス:従量課金制で開始し、ワークロードが安定したらサブスクリプションに移行します。


アカウントモデルのセットアップ

シンプルモデル(サブアカウント3つ)
Global Account
├── Dev Subaccount
├── Test Subaccount
└── Prod Subaccount

最適な対象:初期導入、単一チーム、3件未満のプロジェクト

ディレクトリモデル(スケーラブル)
Global Account
├── Directory: HR
│   ├── hr-dev / hr-test / hr-prod
├── Directory: Sales
│   ├── sales-dev / sales-test / sales-prod
└── Directory: Central IT
    ├── api-management
    └── shared-services

最適な対象:複数チーム、コスト配分、複雑なガバナンス

命名規則
エンティティ規則例
サブアカウント自然言語"HR Development"
サブドメイン小文字、ハイフン区切りhr-dev-acme
CF 組織会社のプレフィックスacme-hr-dev
CF スペースステージ間で統一hr-recruiting

ヒント:一貫性を保つため、サブアカウント名から CF 組織名/Kyma 名を導き出してください。


セキュリティと認証

ID プロバイダーの設定

常に SAP Cloud Identity Services - Identity Authentication を使用してください

Corporate IdP → Identity Authentication (proxy) → SAP BTP

重要な手順:

  1. 複数の管理者を追加します(異なるタイムゾーンの管理者)
  2. すべての管理者に MFA を有効化します
  3. セキュリティアラートを設定します
  4. SAP ID Service にバックアップ管理者を設定します
認可方式
方式最適な用途備考
プロビジョニング本番環境、多数のユーザーロールを一元管理し、オフボーディングを自動化します
フェデレーションシンプルなシナリオリアルタイム同期が可能ですが、拡張性に乏しい方式です
手動テストのみすばやく設定できますが、本番環境には適していません
デスティネーション認証

推奨:

  • PrincipalPropagation - SAP オンプレミスシステム
  • OAuth2SAMLBearerAssertion - サードパーティーシステム
  • OAuth2JWTBearer - ユーザートークンの交換

本番環境では避けてください:

  • BasicAuthentication
  • OAuth2Password

参照:詳しいガイダンスは references/security-and-authentication.md をご覧ください。


接続

リモートシステムへのアクセス
  • インターネットサービス:認証を設定したデスティネーション
  • オンプレミスシステム:デスティネーションと Cloud Connector
Cloud Connector
  • 軽量なオンプレミスエージェント
  • SAP BTP へのセキュアなトンネル(インバウンドポート不要)
  • きめ細かなアクセス制御
  • RFC および HTTP プロトコルをサポート
  • プリンシパル伝播を有効化

注:サブアカウントごとに別個の Cloud Connector 設定が必要です。


ガバナンスとチーム

必要なチーム

プラットフォームエンジニアリングチーム(CoE):

  • クラウドランドスケープのインフラストラクチャを管理します
  • アカウント運用とビルドインフラストラクチャを担当します
  • ガバナンスおよびコンプライアンスのガイドラインを策定します
  • 個々のアプリケーションのライフサイクルは管理しません

クラウド開発チーム:

  • DevOps(開発と運用の両方)を実践します
  • アプリケーションのライフサイクルを担当します
  • 定期的なメンテナンスを行います(例:6 か月ごとの UI 更新)
必須ドキュメント
  1. オンボーディング資料:組織、アプリ ID、タイムライン、技術スタック
  2. セキュリティ資料:データの機密性、ポリシー、認証フレームワーク
  3. サービスカタログ:デスティネーション、ビルド、スキーマのテンプレート

開発

プログラミングモデル

SAP CAP(Cloud Application Programming Model):

  • 言語、ライブラリ、ツールを備えたフレームワーク
  • Java、JavaScript、TypeScript をサポート
  • エンタープライズレベルのサービスとデータモデルを提供

ABAP Cloud:

  • クラウド対応アプリ向けの最新 ABAP
  • RAP(RESTful ABAP Programming Model)
  • ABAP ベースの製品向け拡張機能
開発ライフサイクル
  1. 探索:ビジネス機会、チームの役割
  2. 発見:ユースケース、技術の選択肢
  3. 設計:UX 設計、ドメイン駆動設計
  4. 提供:ランドスケープの設定、開発
  5. 運用と拡張:フィードバック、最適化

AI 開発

SAP BTP は、以下の AI 機能を SAP AI Core を通じて提供します。

  • 生成 AI(LLM、RAG)
  • 特化型 AI(従来型の機械学習)

主なリソース:

ベストプラクティス:

  • 安全な認証にはサービスキーを使用します
  • 個人を特定できる情報(PII)のデータマスキングを実装します
  • SAP HANA Cloud Vector Engine で RAG を構築します
  • コンテンツフィルタリングを設定します
  • モデルのドリフトを監視します

ユースケース:チャットボット、PDF 抽出、調達など、20 以上のサンプルがあります。

CAP + AI の統合パターン:

  • CAP のイベントハンドラー内では、AI 用 SAP Cloud SDK(@sap-ai-sdk/orchestration)を使用します。LLM プロバイダーへの生の HTTP 呼び出しは行わないでください
  • MTA を介して AI Core のサービスインスタンスを CAP アプリにバインドします(プラン:extended)。認証情報は BTP が管理するため、コード内に記述する必要はありません
  • 本番環境では、LLM 呼び出しは必ず非同期で処理します。202 Accepted を返し、cds.spawn を使用してバックグラウンドで処理します。LLM の応答には 30~60 秒かかる場合があり、BTP ロードバランサーのタイムアウトを超えることがあります
  • プロンプトは JSON ファイルまたは CDS エンティティに外部化し、再デプロイせずに更新できるようにします
  • HANA Vector Engine を使用する RAG シナリオでは、CDS エンティティで HANA Cloud の Vector(1536) 型を使用します
  • AI SDK で大きなテキストペイロードを処理する Node.js コンテナには、少なくとも 512MB のメモリを割り当てます
  • レジリエンスを実装します。データベースへの書き込み前に LLM の出力を検証してインジェクション攻撃を防ぎ、コストを抑えるために頻繁に使用する応答をキャッシュします

参照:パターンと例については、references/ai-development-best-practices.md を参照してください。CAP 固有のコードパターンについては、sap-cap-capire スキルを参照してください。SDK 統合については、sap-cloud-sdk-ai スキルを参照してください。


デプロイとデリバリー

デプロイ方法

Cloud Foundry/Neo:

  • MTA アーカイブとしてパッケージ化します
  • 次のいずれかを使用してデプロイします:BTP Cockpit、CF CLI、Business Application Studio

Kyma:

  • Docker イメージ(Dockerfile または Cloud Native Buildpacks)
  • 本番環境には Helm チャートを使用します
  • SAP Continuous Integration and Delivery を使用してデプロイします
CI/CD のアプローチ

SAP Continuous Integration and Delivery:

  • 高度な専門知識は不要です
  • すぐに使用できるインフラストラクチャを利用できます
  • SAP による直接サポートがあります

プロジェクト「Piper」:

  • 高度な専門知識が必要です
  • Jenkins ベースです
  • オープンソースコミュニティによるサポートがあります

ベストプラクティス:CI/CD と SAP Cloud Transport Management を組み合わせて、ガバナンスと俊敏性を両立させます。

参照:詳細な設定については、references/deployment-and-delivery.md を参照してください


高可用性とフェイルオーバー

マルチリージョンアーキテクチャ
Custom Domain URL
       │
    Load Balancer
       ├── Region 1 (active)
       └── Region 2 (passive/active)
フェイルオーバーの実装

4 つの基本原則:

  1. 2 つのリージョンにデプロイする:ユーザーやバックエンドシステムに近い場所に配置します
  2. 同期状態を維持する:CI/CD パイプラインまたは Cloud Transport Management を使用します
  3. 検知方法を定義する:5xx エラーやタイムアウトを監視します
  4. フェイルバックを計画する:視覚的に区別し、ユーザー主導で切り替えます

法的要件:リージョン間のデータ処理に関する制限を確認してください。

参照:実装の詳細については、references/failover-and-resilience.md を参照してください


運用と監視

本番稼働チェックリスト
  1. 本番環境にデプロイします
  2. 本番稼働の時期を設定します(四半期末は避けてください)
  3. SAP Fiori Launchpad に組み込みます
  4. ビジネスユーザーをプロビジョニングします
  5. ロールコレクションを設定します
監視ツール

SAP Cloud ALM(Enterprise Support):

  • 実ユーザー監視
  • ヘルス監視
  • 統合および例外監視
  • ジョブ自動化監視

SAP Cloud Logging:

  • CF、Kyma、Kubernetes 全体のオブザーバビリティ

SAP Alert Notification:

  • 複数チャネルでの通知(メール、チャット、チケット管理)

コスト管理

ベストプラクティス
  1. Costs and Usage を毎月確認します
  2. 必要最小限のエンタイトルメントを付与します
  3. コスト配分にラベルを使用します
  4. 自動アラートを設定します(Usage Data Management + Alert Notification)
契約戦略
  • 1 つのグローバルアカウントにサブスクリプションを集約します
  • 混在するワークロードにはハイブリッドアカウントを使用します
  • 注:消費クレジットはグローバルアカウント間で移行できません

バンドルされたリソース

このスキルでは、包括的なリファレンスドキュメントを提供しています。

アカウントとガバナンス
  • references/account-models.md(11K 行)

    • アカウント構造パターンの詳細
    • 命名規則と例
    • コスト配分戦略
  • references/governance-and-teams.md(13K 行)

    • プラットフォームエンジニアリングチームの構成
    • オンボーディングプロセス
    • ドキュメントテンプレート
セキュリティと接続性
  • references/security-and-authentication.md(13K 行)
    • 認証方式の完全な比較
    • 接続先の設定
    • Kyma RBAC マニフェスト
    • ID ライフサイクル管理
デプロイと運用
  • references/deployment-and-delivery.md(10K 行)

    • MTA 記述子テンプレート
    • CI/CD パイプライン設定
    • トランスポート管理のセットアップ
  • references/operations-and-monitoring.md(11K 行)

    • 本番稼働手順
    • モニタリング設定ガイド
    • トラブルシューティング用チェックリスト
高可用性
  • references/failover-and-resilience.md(12K 行)
    • マルチリージョンアーキテクチャ
    • ロードバランサーの設定
    • フェイルオーバー自動化スクリプト
テンプレートと例
  • references/templates-and-examples.md(18K 行)
    • 完全なコードテンプレート
    • Kubernetes RBAC マニフェスト
    • MTA 記述子
    • Helm チャート
    • CI/CD 設定
AI 開発
  • references/ai-development-best-practices.md(6K 行)
    • 生成 AI のパターン
    • RAG の実装
    • 20 件以上のユースケース集
進捗管理
  • 実装状況
  • 対応範囲の詳細
  • 検証用チェックリスト

管理ツール

ツール用途
SAP BTP Cockpitすべての管理タスクに使用する GUI
btp CLIターミナル/自動化スクリプト
REST APIsプログラムによる管理
Terraform ProviderInfrastructure as Code
SAP Automation Pilotローコード/ノーコードの自動化

共同責任モデル

SAP が管理する項目:

  • プラットフォームソフトウェアの更新/パッチ
  • インフラストラクチャと OS のモニタリング
  • BTP サービスのモニタリング
  • キャパシティ管理とインシデント
  • グローバルアカウントのプロビジョニング
  • HANA データベースの運用
  • Kyma kyma-system 名前空間

お客様が管理する項目:

  • グローバルアカウント戦略とサブアカウント設定
  • アプリケーションの開発、デプロイ、セキュリティ
  • ロールの割り当てと統合
  • アプリケーションのモニタリングとヘルスチェック
  • オープンソースの脆弱性スキャン
  • HANA リビジョン更新の開始

最終更新日: 2026-06-16 レビューの進捗: SAP_SKILLS_REVIEW_PROGRESS.md を参照してください 次回レビュー: ソースの更新待ちです。一次ソースの根拠なしに last_verified を進めないでください。

コメント