sap-btp-cloud-transport-management について
SAP BTP の SAP Cloud Transport Management を設定・運用するためのスキルです。環境間で成果物を移送する開発・運用チーム向けに、ランドスケープ、インポート、デプロイ先、CI/CD、問題対応を案内します。
主な機能
- 01移送ノードとルートの設定
- 02インポートキューとスケジュール管理
- 03MTA とアプリケーションコンテンツの移送
- 04デプロイ先の設定
- 05CI/CD と API のガイド
- 06移送エラーのトラブルシューティング
活用シーン
- 01環境間の移送ランドスケープ構築
- 02Cloud Foundry 環境への MTA デプロイ
- 03インポートキュー管理と自動インポートの設定
- 04移送やデプロイの失敗診断
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ secondsky/ sap-skills --skill sap-btp-cloud-transport-managementインストール後、Claude Code で/sap-btp-cloud-transport-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdagents/openai.yamlreferences/administration.mddestinations.mdimport-operations.mdinitial-setup.mdintegrations.mdlandscape-configuration.mdsecurity-roles.mdtroubleshooting.md詳細
SAP Cloud Transport Management スキル
関連スキル
- sap-btp-cloud-platform:BTP サブアカウント、ロールコレクション、Cloud Foundry ランタイムのセットアップに使用します
- sap-btp-developer-guide:転送するコンテンツに関連するアプリケーションの配信および CI/CD パターンに使用します
- sap-btp-service-manager:サービスインスタンス、サービスキー、API/サービスのライフサイクル操作に使用します
- sap-abap:トランスポートフローに ABAP Environment または gCTS 管理のコンテンツが含まれる場合に使用します
このスキルを使用する場面
トランスポートランドスケープのセットアップ、トランスポートノード/ルートの作成、インポートキューの管理、環境間での MTA のデプロイ、デプロイトランスポート用の宛先の設定、トランスポートの CI/CD への統合、または TMS のインポート/デプロイエラーのトラブルシューティングを行う場合に、このスキルを使用します。
目次
概要
SAP Cloud Transport Management は、さまざまなランタイムを介して異なる環境のアカウント間でソフトウェア成果物を転送する、SAP BTP 上のサービスです。変更の監査証跡を可視化し、開発チームと運用チームの役割分担を可能にします。
サポート対象の環境:Cloud Foundry、Kyma、Neo(非推奨)
サポート対象のコンテンツタイプ:
- MTA(マルチターゲットアプリケーション):Cloud Foundry へのデプロイ用の
.mtarファイル - BTP ABAP:Git リポジトリ内の ABAP オブジェクトへの参照
- アプリケーションコンテンツ:アプリケーション固有の形式(
.zip、.rar) - XSC DU:SAP HANA XS classic デリバリーユニット
クイックスタート:初期セットアップ
前提条件
- グローバルアカウント管理者のアクセス権
- SAP BTP サブアカウントが少なくとも 1 つあること
- Cloud Foundry 環境が有効になっていること
セットアップワークフロー
1. Configure Entitlements → 2. Subscribe to Service → 3. Set Up Roles → 4. Create Service Instance
ステップ 1:エンタイトルメントを設定する
Global Account > Entitlements > Entity Assignments > Add Service Plans に移動します。
「Cloud Transport Management」を選択し、プランを選びます。
| プランの種類 | 利用可能なプラン | 目的 |
|---|---|---|
| アプリケーション | standard、free、build-runtime | UI アクセス |
| インスタンス | standard、export、transport_operator | API/プログラムによるアクセス |
インスタンスプランを利用するには、有効なアプリケーションプランが必要です。
exportプランは CI/CD パイプライン向けです。
ステップ 2:サービスをサブスクライブする
- Services > Service Marketplace に移動します
- 「Cloud Transport Management」を検索します
- Actions メニューから Create を選択します
- サブスクリプションプラン(
standard、free、またはbuild-runtime)を選択します - ステータスが「Subscribed」と表示されることを確認します
ステップ 3:ロールコレクションを設定する
事前に提供されるロールコレクション:
TMS_LandscapeOperator_RCTMS_Viewer_RC
利用可能なロール:
| ロール | 機能 |
|---|---|
| Administrator | すべての TMS タスクを完全に管理 |
| LandscapeOperator | ノードとルートの作成/編集/削除 |
| TransportOperator | インポートキューの管理、転送、リセット、スケジュール設定 |
| ImportOperator | すべてのトランスポートリクエストをインポート |
| ImportSelectedOperator | 選択したトランスポートリクエストをインポート |
| ExportOperator | ファイルの追加、変更可能なリクエストの作成 |
| Viewer | 読み取り専用アクセス |
ロールを割り当てます:Security > Role Collections > [Collection] > Edit > Users
ステップ 4:サービスインスタンスとキーを作成する
- サブアカウントに Cloud Foundry のスペースを作成します
- Services > Instances and Subscriptions > Create に移動します
- 次を選択します:
- サービス:
Cloud Transport Management - プラン:
standard(インスタンスタイプ) - ランタイム:
Cloud Foundry
- サービス:
- サービスキーを作成します。認証情報の構造:
{
"uaa": {
"clientid": "sb-xxxxxx",
"clientsecret": "xxxxxx",
"url": "https://<domain>.authentication.sap.hana.ondemand.com"
},
"uri": "https://transport-service-app-backend.ts.cfapps.sap.hana.ondemand.com"
}
ランドスケープ設定
トランスポートノード
トランスポートノードは、デプロイプロセスのソースまたはターゲットとなるエンドポイントを表します。
ノードの種類:
- 物理ノード:実際のデプロイエンドポイント(例:Cloud Foundry のスペース)
- 仮想ノード:物理的なデプロイを伴わずに集約/配布するためのプレースホルダー
主な設定フィールド:
| フィールド | 説明 |
|---|---|
| Name | 大文字と小文字を区別する識別子(Content Agent の sourceSystemId と一致する必要があります) |
| Allow Upload to Node | ローカルアーカイブのファイルアップロードを有効にします |
| Forward Mode | Pre-Import(デフォルト)、Post-Import、On Success、Manual |
| Content Type | MTA、BTP ABAP、Application Content、XSC DU |
| Destination | ターゲットのデプロイエンドポイント |
| Deployment Strategy | default または blue-green(CF 上の MTA のみ) |
トランスポートルート
ルートはトランスポートノードを接続します。制約:ノードをターゲットにできるルートは 1 つだけですが、複数のルートのソースにできます。
トランスポートランドスケープウィザード
2~3 ノードのシンプルなランドスケープで使用します。
- テンプレート(ノード数)を選択します
- 各ノードを設定します
- ルート名をカスタマイズします
- 確認して完了します
宛先の設定
すべての宛先で HTTPS が必要です。SAP BTP Cockpit > Connectivity > Destinations で設定します。
TMS サービスへの宛先(ソース環境)
コンテンツを TMS に直接エクスポートするアプリケーションに必要です。
| フィールド | 値 |
|---|---|
| Name | TransportManagementService(またはアプリケーション固有の名前) |
| Type | HTTP |
| URL | サービスキーの uri の値 |
| Authentication | OAuth2ClientCredentials |
| Client ID | サービスキーの uaa.clientid |
| Client Secret | サービスキーの uaa.clientsecret |
| Token Service URL | サービスキーの uaa.url + /oauth/token |
| Additional Property | sourceSystemId = ソースノード名 |
MTA のデプロイ先(Cloud Foundry)
オプション 1:基本認証(SAP ID ユーザーのみ)
| フィールド | 値 |
|---|---|
| URL(組織/スペース) | https://deploy-service.cf.<domain>/slprot/<org>/<space>/slp |
| URL(スペース GUID) | https://deploy-service.cf.<domain>/slprot/<guid>/slp |
| 認証 | BasicAuthentication |
| ユーザー | SpaceDeveloper ロールを持つプラットフォームユーザーのメールアドレス |
スペース GUID の取得:
cf space <space-name> --guid組織名/スペース名に含まれる特殊文字は URL エンコードしてください。
オプション 2:OAuth2Password(カスタム IdP に対応)
| フィールド | 値 |
|---|---|
| URL | 基本認証と同じ |
| 認証 | OAuth2Password |
| クライアント ID | cf |
| クライアントシークレット | (空欄のままにします) |
| トークンサービス URL | https://login.cf.<domain> |
BTP ABAP 環境の接続先
| フィールド | 値 |
|---|---|
| URL | https://<instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/ |
| 認証 | BasicAuthentication |
| ユーザー | SAP_COM_0948 の通信ユーザー |
インポートキューの操作
インポート方法
| 方法 | 説明 | 利用可能範囲 |
|---|---|---|
| すべてインポート | キュー内のすべてのリクエストを順番にインポート | すべてのコンテンツタイプ |
| 選択してインポート | 特定のリクエストをインポート(不整合が発生する可能性があります) | BTP ABAP 以外 |
| 指定位置までインポート | 選択したリクエストまでのすべてのリクエストをインポート | BTP ABAP のみ |
インポート可能なステータス:Initial、Fatal、Repeatable
ファイルアップロード
- 最大ファイルサイズ:1 GB(無料プランでは 500 MB)
- ストレージクォータ:標準で 50 GB、無料プランでは 500 MB
- 保持期間:最終ステータスになってから 30 日間(無料プランでは 7 日間)
- 形式:
.mtar(MTA)、.tgz(XSC DU)、.zip(アプリケーションコンテンツ)
スケジュール設定
- パターン:毎日(1 時間ごと、1 日 4 回)または毎週(特定の曜日/時刻)
- 自動無効化:3 週間以上にわたり、致命的な失敗が 3 回連続すると無効化されます
自動インポート
ノードごとに有効にすると、インポート可能なリクエストがすべて直ちに処理され、新しいリクエストが到着したときにも実行されます。
トランスポートリクエストのステータス
インポートステータス
| ステータス | 説明 |
|---|---|
| Initial | 追加済みですが、未インポートです |
| Running | インポート中です |
| Succeeded | インポートに成功しました |
| Warning | 警告ありで完了しました |
| Error | インポートに失敗しました(再試行可能) |
| Fatal | インポートに失敗しました(致命的なエラー) |
| Skipped | 意図的にスキップされました(仮想ノード) |
| Repeatable | 再インポート用にリセットされました |
| Deleted | キューから削除されました |
| Transient | テストおよびリリース済みです(変更可能なリクエスト) |
ライフサイクルステータス
- 変更可能:リクエストを編集できます
- リリース済み:アーカイブされていないステータスで、少なくとも 1 つのキューに存在します
- 削除済み:すべてのキューから削除されています
- アーカイブ済み:保持ポリシーによってクリーンアップされています
トラブルシューティング
クイックリファレンス:よくあるエラー
| エラー | 考えられる原因 | 簡単な解決方法 |
|---|---|---|
Not Found | CF ドメインが間違っています | ドメインを cf api の出力に合わせます |
Not Found | 特殊文字がエンコードされていません | スペース GUID を使用します:cf space <name> --guid |
Forbidden | SpaceDeveloper がありません | BTP Cockpit または CF CLI でロールを追加します |
Forbidden | IdP が間違っています | origin プロパティを指定して OAuth2Password を使用します |
| 接続が拒否されました(ABAP) | URL パターンが間違っています | SAP_COM_0948 通信アレンジメントの URL を確認します |
| インポートが停止しています | 最終ステータスではありません | Transport Action Logs で根本原因を確認します |
MTA デプロイエラー
エラー:デプロイ中に Not Found
原因:
- URL の Cloud Foundry ドメインが間違っています
- 組織名/スペース名に含まれる特殊文字が URL エンコードされていません
解決方法:
- ドメインが CF API エンドポイントと一致することを確認します:
cf api - 名前の代わりにスペース GUID を使用します
- 特殊文字を URL エンコードします(
+→%2B、スペース →%20)
エラー:デプロイ中に Forbidden
原因:
- ユーザーに
SpaceDeveloperロールがありません - ユーザーの ID プロバイダーが間違っています
解決方法:
- ユーザーのロールを確認します:
cf space-users <org> <space> - カスタム IdP ユーザーには OAuth2Password 認証を使用します
SAP サポート
コンポーネント: BC-CP-LCM-TMS (アプリケーションコンテンツのトランスポート管理)
インシデントに必要な情報: リージョン、サブアカウント ID、再現手順、トランスポートアクションのログ、スクリーンショット
詳細なトラブルシューティング手順、コンテンツタイプ別のエラーカタログ、サポート手順については、references/troubleshooting.md を参照してください。
セキュリティ
API アクセス用のサービスプラン
| プラン | アクセスレベル |
|---|---|
standard | 完全な API アクセス |
export | エクスポートアクションのみ (CI/CD) |
transport_operator | インポート、リセット、転送、削除のみ |
ノード固有の制限
属性を使用して、ロールを特定のノードに制限します:
TmsNodesTransportOperatorTmsNodesImportTmsNodesExport
マルウェアスキャン
TMS はマルウェアスキャンを実行しません - 対象アプリケーションの責任です。例外: MTA デプロイメント記述子は検証されます。
統合
CI/CD 統合
export サービスプランを使用して、SAP Continuous Integration and Delivery または Project Piper を利用します。
アラート通知
以下のために ALERT_NOTIFICATION_SERVICE デスティネーションを設定します:
TmsImportFinished/TmsImportStartedTmsTransportRequestAddedTmsNodeImportJobDeactivatedTmsStorageQuotaUsage(85% しきい値)
API オペレーション
- ファイルアップロード: コンテンツアーカイブをアップロードします
- ノードエクスポート: ファイルを新しいリクエストに添付し、ターゲットノードに転送します
- ノードアップロード: 特定のノードにアップロードします (CI/CD シナリオ)
- インポートオペレーション: 非同期 - Get transport action で監視します
リファレンスドキュメント
詳細な設定手順については、リファレンスファイルを参照してください:
バンドルされたリソース
リファレンスドキュメント
references/initial-setup.md- 完全なセットアップ手順references/landscape-configuration.md- ノード、ルート、可視化、ウィザードreferences/destinations.md- 設定を含む全 8 種類のデスティネーションタイプreferences/import-operations.md- インポートキュー、MTA 記述子、変更可能なリクエストreferences/administration.md- サービスプラン、バックアップ、ストレージ、データエクスポートreferences/troubleshooting.md- エラー解決ガイドreferences/integrations.md- 統合シナリオと API オペレーションreferences/security-roles.md- ロールと権限の詳細
ドキュメントリンク
- GitHub Docs: https://github.com/SAP-docs/sap-btp-cloud-transport-management
- SAP Help Portal: https://help.sap.com/docs/cloud-transport-management
- API Reference: https://api.sap.com/package/TmsForCloudPub/rest
最終更新日: 2025-11-22 出典: SAP-docs/sap-btp-cloud-transport-management