sap-btp-best-practices について
SAP BTP のアーキテクトやチーム向けのベストプラクティスガイドで、アカウントガバナンス、セキュリティ、開発、デリバリー、高可用性、運用の推奨事項をまとめています。BTP 環境の計画や実装前の設計レビューに役立ちます。
主な機能
- 01アカウント階層と環境の計画
- 02ID とアクセス制御の推奨事項
- 03チームガバナンスと開発ライフサイクルのガイド
- 04AI アプリ開発パターン
- 05デプロイ、デリバリー、フェイルオーバーの計画
- 06監視とコスト管理の推奨事項
活用シーン
- 01BTP アカウントとサブアカウント構成の設計
- 02本番環境の ID と認証の標準設定
- 03リージョン間デプロイとフェイルオーバーの計画
- 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.mdagents/openai.yamlreferences/account-models.mdai-development-best-practices.mddeployment-and-delivery.mdfailover-and-resilience.mdgovernance-and-teams.mdoperations-and-monitoring.mdsecurity-and-authentication.mdtemplates-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 ランドスケープの確認を行うときに、このスキルを使用します。
クイックスタート
- 対象となるアカウントモデルを特定します:グローバルアカウント、ディレクトリ、サブアカウント、環境、リージョン。
- ランタイムの選択肢を決定します:Cloud Foundry、Kyma、ABAP Environment、またはハイブリッド構成。
- セキュリティと認証のデフォルト設定を適用します。
- 詳細な実装には、関連する実装スキルを使用します:
sap-btp-cloud-platform、sap-btp-connectivity、sap-btp-service-manager、sap-cap-capire、またはsap-fiori-tools。 last_verifiedを変更する前に、本番環境固有の未対応事項をプロジェクト計画に記録します。
SAP の公式ドキュメントに基づく、ドキュメントを監査済みの SAP BTP 実装ガイダンスです。ソースの更新と、必要な実稼働アカウントの確認が完了するまで、last_verifiedの日付は古いままです。
クイックリンク:
- 公式ガイド:https://github.com/SAP-docs/btp-best-practices-guide
- SAP Help Portal:https://help.sap.com/docs/btp/btp-administrators-guide
目次
- プラットフォームの基礎
- アカウントモデルのセットアップ
- セキュリティと認証
- 接続
- ガバナンスとチーム
- 開発
- AI 開発
- デプロイと配信
- 高可用性とフェイルオーバー
- 運用とモニタリング
- コスト管理
- 同梱リソース
プラットフォームの基礎
アカウント階層
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 | オープンソース、名前空間 |
| ABAP | ABAP 拡張 | 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
重要な手順:
- 複数の管理者を追加します(異なるタイムゾーンの管理者)
- すべての管理者に MFA を有効化します
- セキュリティアラートを設定します
- SAP ID Service にバックアップ管理者を設定します
認可方式
| 方式 | 最適な用途 | 備考 |
|---|---|---|
| プロビジョニング | 本番環境、多数のユーザー | ロールを一元管理し、オフボーディングを自動化します |
| フェデレーション | シンプルなシナリオ | リアルタイム同期が可能ですが、拡張性に乏しい方式です |
| 手動 | テストのみ | すばやく設定できますが、本番環境には適していません |
デスティネーション認証
推奨:
PrincipalPropagation- SAP オンプレミスシステムOAuth2SAMLBearerAssertion- サードパーティーシステムOAuth2JWTBearer- ユーザートークンの交換
本番環境では避けてください:
BasicAuthenticationOAuth2Password
参照:詳しいガイダンスは references/security-and-authentication.md をご覧ください。
接続
リモートシステムへのアクセス
- インターネットサービス:認証を設定したデスティネーション
- オンプレミスシステム:デスティネーションと Cloud Connector
Cloud Connector
- 軽量なオンプレミスエージェント
- SAP BTP へのセキュアなトンネル(インバウンドポート不要)
- きめ細かなアクセス制御
- RFC および HTTP プロトコルをサポート
- プリンシパル伝播を有効化
注:サブアカウントごとに別個の Cloud Connector 設定が必要です。
ガバナンスとチーム
必要なチーム
プラットフォームエンジニアリングチーム(CoE):
- クラウドランドスケープのインフラストラクチャを管理します
- アカウント運用とビルドインフラストラクチャを担当します
- ガバナンスおよびコンプライアンスのガイドラインを策定します
- 個々のアプリケーションのライフサイクルは管理しません
クラウド開発チーム:
- DevOps(開発と運用の両方)を実践します
- アプリケーションのライフサイクルを担当します
- 定期的なメンテナンスを行います(例:6 か月ごとの UI 更新)
必須ドキュメント
- オンボーディング資料:組織、アプリ ID、タイムライン、技術スタック
- セキュリティ資料:データの機密性、ポリシー、認証フレームワーク
- サービスカタログ:デスティネーション、ビルド、スキーマのテンプレート
開発
プログラミングモデル
SAP CAP(Cloud Application Programming Model):
- 言語、ライブラリ、ツールを備えたフレームワーク
- Java、JavaScript、TypeScript をサポート
- エンタープライズレベルのサービスとデータモデルを提供
ABAP Cloud:
- クラウド対応アプリ向けの最新 ABAP
- RAP(RESTful ABAP Programming Model)
- ABAP ベースの製品向け拡張機能
開発ライフサイクル
- 探索:ビジネス機会、チームの役割
- 発見:ユースケース、技術の選択肢
- 設計:UX 設計、ドメイン駆動設計
- 提供:ランドスケープの設定、開発
- 運用と拡張:フィードバック、最適化
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 つの基本原則:
- 2 つのリージョンにデプロイする:ユーザーやバックエンドシステムに近い場所に配置します
- 同期状態を維持する:CI/CD パイプラインまたは Cloud Transport Management を使用します
- 検知方法を定義する:5xx エラーやタイムアウトを監視します
- フェイルバックを計画する:視覚的に区別し、ユーザー主導で切り替えます
法的要件:リージョン間のデータ処理に関する制限を確認してください。
参照:実装の詳細については、references/failover-and-resilience.md を参照してください
運用と監視
本番稼働チェックリスト
- 本番環境にデプロイします
- 本番稼働の時期を設定します(四半期末は避けてください)
- SAP Fiori Launchpad に組み込みます
- ビジネスユーザーをプロビジョニングします
- ロールコレクションを設定します
監視ツール
SAP Cloud ALM(Enterprise Support):
- 実ユーザー監視
- ヘルス監視
- 統合および例外監視
- ジョブ自動化監視
SAP Cloud Logging:
- CF、Kyma、Kubernetes 全体のオブザーバビリティ
SAP Alert Notification:
- 複数チャネルでの通知(メール、チャット、チケット管理)
コスト管理
ベストプラクティス
- Costs and Usage を毎月確認します
- 必要最小限のエンタイトルメントを付与します
- コスト配分にラベルを使用します
- 自動アラートを設定します(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 Provider | Infrastructure as Code |
| SAP Automation Pilot | ローコード/ノーコードの自動化 |
共同責任モデル
SAP が管理する項目:
- プラットフォームソフトウェアの更新/パッチ
- インフラストラクチャと OS のモニタリング
- BTP サービスのモニタリング
- キャパシティ管理とインシデント
- グローバルアカウントのプロビジョニング
- HANA データベースの運用
- Kyma
kyma-system名前空間
お客様が管理する項目:
- グローバルアカウント戦略とサブアカウント設定
- アプリケーションの開発、デプロイ、セキュリティ
- ロールの割り当てと統合
- アプリケーションのモニタリングとヘルスチェック
- オープンソースの脆弱性スキャン
- HANA リビジョン更新の開始
最終更新日: 2026-06-16
レビューの進捗: SAP_SKILLS_REVIEW_PROGRESS.md を参照してください
次回レビュー: ソースの更新待ちです。一次ソースの根拠なしに last_verified を進めないでください。