本文へスキップ

SAP BTPコックピットを使いこなす:誰でも踏める簡単な手順

SAP BTPコックピットは、お使いのSAPクラウドサービスをすべて運用する場所です。ログインから、正しい順序での設定、チームが何週間も失う失敗の回避まで、手順を示します。

ネオンの背景の前に立つ白い人型ロボットと、SAP BTPコックピットのログイン画面
目次
  1. コックピットの構成
  2. 最初の1週間の設定手順
  3. サブアカウントとエンタイトルメント
  4. ユーザー、信頼、ロールコレクション
  5. サービス、インスタンス、キー
  6. BTP上で構築する
  7. ランタイムを選ぶ
  8. BTPをS/4HANAなどのシステムに接続する
  9. BTPの日常運用
  10. 監視とコスト管理
  11. 自動化とカスタムドメイン
  12. 私が最もよく目にする失敗
  13. よくある質問

SAP Business Technology Platform(BTP)コックピットは、SAPのクラウド環境を運用するためのWebコンソールです。アカウント、サービス、ユーザー、セキュリティ、デプロイしたアプリケーション、コストを扱います。BTPを管理する人、BTPにデプロイする人、その請求を承認する人にとって、これは日々向き合う画面になります。

入るには、お使いのリージョン向けのゲートウェイを開きます。https://emea.cockpit.btp.cloud.sap、https://amer.cockpit.btp.cloud.sap、https://apac.cockpit.btp.cloud.sapのいずれかです(SAP Learning)。SAPユーザーIDが必要です。管理者が設定できます。トライアルアカウントはhttps://cockpit.hanatrial.ondemand.com/trial/を使い、最長90日間有効です。30日後には延長の手続きが必要になります(SAP Developers)。

そのうえで、以下の順序で設定を進めます。初めてのときは、この順序を見つけるのに何日もかかりました。苦労の大半は、手順4を手順1より先にやったことから来ていました。

すべては階層の中にあります。グローバルアカウントは、SAPとの契約そのものであり、購入したサービスのプールを保持します。ディレクトリは、たとえば事業部門ごとに、サブアカウントをまとめます。サブアカウントは、実際の作業が行われる場所です。それぞれがリージョン、Cloud FoundryやKymaなどの環境、独自のユーザー、独自のサービスインスタンスを持ちます。

BTPグローバルアカウントの構成どのサブアカウントも、有限のひとつのプールから引き出します。最初のひとつを作る前に、名前と分け方を決めておきましょう。
  1. グローバルアカウントSAPとの契約と、購入したサービス
    エンタイトルメント各サブアカウントが引き出す有限のプール
  2. ディレクトリたとえば事業部門ごとに、サブアカウントをまとめる
  • Finance-Dev開発用。無償または小規模のプラン
  • Finance-Testテスト用。独自のユーザーとロールコレクションを持つ
  • Finance-Prod本番用。本稼働の前にアラートを設定する

BTP自体は、4つの領域をカバーします。アプリケーション開発と自動化、統合、データと分析、AIです。コックピットではその4つすべてに出会いますが、多くのプログラムは、統合とS/4HANAへの拡張から始めます。

新しいグローバルアカウントで、私が踏む順序です。各手順には、自然な担当者がいます。

  1. サブアカウントの構成と命名を決める(プラットフォームオーナー)。領域ごとに、開発、テスト、本番を用意します。たとえばFinance-Dev、Finance-Test、Finance-Prodです。
  2. IDプロバイダーを接続する(セキュリティ責任者)。ユーザーをひとり追加する前に行います。
  3. 職務ごとにロールコレクションを定義する(セキュリティ責任者)。緊急用(ブレークグラス)の管理者コレクションをひとつ含めます。
  4. エンタイトルメントを、最小限から配分する(プラットフォームオーナー)。チームが必要性を示せたら、追加します。
  5. Cloud Connectorをインストールして設定する(インフラチーム)。BTPからオンプレミスのシステムに到達する必要がある場合です。
  6. アラートと利用状況のレビューを有効にする(プラットフォームオーナー)。誰が何を、どれくらいの頻度で見るかを決めます。
  7. コックピットの外に、すべてを書き留める(アーキテクト)。構成、命名ルール、エンタイトルメントの分け方、そしてそれぞれの理由です。

サブアカウントとエンタイトルメント

多くのチームが、何年も尾を引く混乱をつくってしまうのが、ここです。

以前、無作為に命名されたサブアカウントを50以上抱え、誰も何も見つけられないクライアントと仕事をしたことがあります。プロジェクトの途中でそれをほどくのは、苦痛です。最初に1日かけて、構成を紙に描き出してください。複数のリージョンで運用する場合は、その構成をリージョン間でそろえ、ラベルを使って関連するサブアカウントをまとめます。

エンタイトルメントは、各サブアカウントがどのサービスをどれだけ使えるかを決めます。グローバルアカウントには、有限のプールがあります。私は最小限から始めて、必要に応じて増やします。このやり方で、顧客は使われないサービスに払うはずだった何千もの費用を節約できました。多くのサービスには無償プランがあり、テストにはそれで足ります。

ユーザー、信頼、ロールコレクション

社内にすでにMicrosoft Entra IDやOktaのようなIDプロバイダーがあるなら、BTPのユーザーを手作業で管理しないでください。SAPが推奨するのは、SAP Cloud Identity Servicesのテナントを使うルートで、サブアカウントのSecurity > Trust Configurationで接続します。このテナントが、社内のIDプロバイダーへのプロキシとして機能します。信頼関係は、OpenID Connectで自動的に設定できます。二要素認証とアクセスポリシーも、一か所で管理できるようになります。

ロールコレクションは、ユーザーまたはグループに割り当てるロールの束です。私のやり方は次のとおりです。

  1. 個人ではなく、職務を軸にして作ります。
  2. 意味を持つ程度には具体的に、ただし何百も保守するほど細かくはしません。
  3. 緊急用の管理者コレクションをひとつ持っておきます。
  4. 四半期ごとに割り当てを見直します。人は異動しても、古いアクセス権を持ち続けるからです。

サービス、インスタンス、キー

サービスインスタンスを作成するには、サブアカウントでServices > Service Marketplaceを開き、サービスを選んでプランを選択します。プランは、機能とコストの両方を左右します。選んだ設定は、コックピットの外のどこかに保存しておいてください。何かが壊れたときに必要になります。

インスタンスをアプリケーションにバインドすると、BTPが資格情報を注入します。BTPアプリケーションではない外部ツール向けには、サービスキーを作成します。キーには、使う相手がわかる名前を付けてください。key1ではなく、jenkins-deploymentのようにします。

ランタイムを選ぶ

コックピットが提供する主な環境は、3つです。チームのスキルを念頭に置いて選んでください。

ランタイム向いている用途注意点
Cloud FoundryJava、Node.js、Pythonのアプリ。SAP Cloud Application Programming Model(CAP)を含む成熟した標準的な選択肢。ほとんどのチームにとって、最も想定外が少ない
KymaKubernetesネイティブのマイクロサービスと、イベント駆動型の拡張多くのSAPチームが持っていないKubernetesのスキルが必要
ABAP環境S/4HANAに並ぶABAP Cloudの拡張ABAP開発者には自然に合う。使えるのはリリース済みのAPIのみ

アーキテクチャ計画には合っていても、開発者の経験には合わない新しい環境を学ばなければならず、数か月遅れたプロジェクトを見てきました。技術的には優れていても、チームが開発できないランタイムは、より悪い選択です。

Cloud Foundryにデプロイするには、アプリをmanifest.ymlに記述し(メモリ、インスタンス、ビルドパック、環境変数)、CF CLIまたはパイプラインでプッシュします。Cloud Foundryは、ビルドパックを検出し、サービスをバインドし、ルートを設定します。

BTPをS/4HANAなどのシステムに接続する

BTPの作業の大半は、統合です。私が最もよく設定するパターンは次のとおりです。

シナリオ設定方法
S/4HANAオンプレミスまたはPrivate Edition自社ネットワーク上のCloud Connector、サブアカウント内のデスティネーション、そしてODataまたはSOAPのAPI
SuccessFactorsなどのSAPクラウドアプリデスティネーションに加えて、Integration SuiteまたはEvent Mesh。拡張はCAPで作る
SalesforceやWorkdayなどの非SAPシステムIntegration Suiteのアダプター、またはカスタムの統合フロー
自社APIの公開Integration SuiteのAPI Management:設計、公開、監視

Cloud Connectorは、BTPに向けたアウトバウンドのトンネルを開くため、インバウンドのファイアウォールルールは不要です。BTPが実際に必要とするシステムとURLパスだけを公開してください。統合が主な用途なら、私のSAP CPIの記事で、設計上の選択肢をより詳しく扱っています。

コックピットが記録するのは「何を」です。「なぜ」は決して記録しません。そこは自分で書き留めてください。

監視とコスト管理

必要になる前に、監視を設定してください。私は毎朝コーヒーを飲みながら、ダッシュボードを確認します。それは習慣になり、「システムがなぜ止まっているのか」と慌てる場面から、何度も救ってくれました。

設定するものは次のとおりです。

  1. アラート。 SAP Alert Notification serviceは、プラットフォームとアプリケーションのイベントを、メール、Slack、または自社のアラートツールに送ります。私の通常の構成は、重要なアプリにはメール、止めてはならないものにはSlackのWebhookです。
  2. アプリケーションの稼働状況。 Cloud FoundryまたはKymaのビューで確認できる、アプリケーションごとの応答時間とエラー率です。
  3. 利用状況とコスト。 各サブアカウントのUsage Analytics、そしてグローバルアカウントレベルのCosts and Usageです。利用状況の値は、24時間ごとに更新されます。

使っていないサービスインスタンスは、毎月削除します。開発用のスペースは、勤務時間外にはスケールダウンします。更新の前には、エンタイトルメントの消費状況を確認してください。使われていない割り当ては、予算超過のよくある原因だからです。

自動化とカスタムドメイン

コックピットをクリックして回る作業は、規模が大きくなると回らなくなります。BTPのコマンドラインインターフェース(btp CLI)とプラットフォームAPIを使えば、UIでできることのほぼすべてをスクリプト化できます。サブアカウントの作成、エンタイトルメントの割り当て、開発者のプロビジョニングなどです。

あるプロジェクトで、新しい開発者12人分の環境が必要になりました。一日中コックピットをクリックして回る代わりに、スクリプトを実行して、コーヒーを飲みに行きました。戻ってくると、すべてが整っていました。デプロイの自動化で、あるプロジェクトの準備時間は80%短縮されました。サービスキーとCF CLIをパイプラインに組み込むことで、デプロイは数時間から数分になりました。

ユーザー向けのアプリでは、カスタムドメインは手間をかける価値があります。設定はコックピットのメニューではなく、SAP Custom Domain serviceを通じて行います。あるクライアントのプロジェクトでは、経営層がより洗練された印象にすぐ気づきました。

  1. 命名規則を決める前に、サブアカウントを作成する。
  2. ロールコレクションやグループではなく、個人にロールを割り当てる。
  3. 開発用のサービスを、本番規模のプランで動かす。
  4. アラートを、最初の障害が起きるまで後回しにする。
  5. アカウント構成と、その理由を文書化しない。コックピットが記録するのは「何を」であり、「なぜ」は記録しません。

特定のエラーで行き詰まっていませんか?よくあるものは、私のBTPコックピットのトラブル解説で扱っています。BTPの拡張がS/4HANAプログラムのどこに収まるかは、クリーンコアのガイドで説明しています。

SAP BTPコックピットは何に使いますか?

SAP Business Technology Platformのための、Webベースの管理コンソールです。サブアカウントの作成、エンタイトルメントの配分、ユーザーと信頼関係の管理、サービスインスタンスの作成、アプリケーションのデプロイと監視、利用状況とコストの追跡に使います。

SAP BTPコックピットのログインURLは何ですか?

お使いのリージョンのゲートウェイを使います。欧州、中東、アフリカはhttps://emea.cockpit.btp.cloud.sap、米州はhttps://amer.cockpit.btp.cloud.sap、アジア太平洋はhttps://apac.cockpit.btp.cloud.sapです。トライアルアカウントはhttps://cockpit.hanatrial.ondemand.com/trial/を使います。ログインにはSAPユーザーIDが必要です。

SAP BTPでは、サブアカウントをどのように構成すべきですか?

最初から、開発、テスト、本番を別々のサブアカウントに分け、領域とステージがひと目でわかる名前を付けます。たとえばFinance-DevとFinance-Prodです。規模の大きな組織では、事業部門ごとにディレクトリを加えます。まず紙の上で計画してください。サービスが動き出した後では、構成を変えるのは困難です。

SAP BTPの4つの柱とは何ですか?

SAPはBTPを、アプリケーション開発と自動化、統合、データと分析、人工知能に分けています。多くのプログラムは、統合とS/4HANAの拡張から始め、プラットフォームが安定してから、データとAIのユースケースを加えます。

IDプロバイダーをSAP BTPに接続するには、どうすればよいですか?

SAP Cloud Identity Servicesのテナントを設定し、Security > Trust Configurationで、サブアカウントとの間に信頼関係を確立します。OpenID Connectなら、これを自動で行えます。そのうえで、Microsoft Entra IDやOktaなどの社内IDプロバイダーを、そのテナントに接続します。ユーザーと二要素認証は、一か所で管理されます。

BTPのランタイムは、Cloud Foundry、Kyma、ABAP環境のどれを選ぶべきですか?

チームに合わせて選びます。Cloud FoundryはJava、Node.js、Pythonのアプリに向き、最も安全な標準の選択肢です。KymaはKubernetesネイティブのマイクロサービスに向きますが、Kubernetesのスキルが必要です。ABAP環境は、S/4HANAに並ぶクリーンコアの拡張を作るABAP開発者に向きます。

SAP BTPをオンプレミスのSAPシステムに接続するには、どうすればよいですか?

ネットワーク内にCloud Connectorをインストールします。BTPに向けた安全なアウトバウンドのトンネルを開くため、インバウンドのファイアウォール変更は不要です。BTPが必要とするシステムとパスだけを公開し、サブアカウントのConnectivityで接続を確認してから、アプリや統合フローが呼び出すデスティネーションを作成します。本番の前に、経路全体をテストしてください。

Noel D'Costa

執筆者

Noel D'Costa

航空、政府、金融、小売、製造の各分野で、SAPとOracleのERPプログラムに25年携わってきました。財務出身です。経営陣とともに変革の範囲を誠実に定め、難航するプログラムを立て直し、本稼働後の最初の1年を乗り越えるシステムを構築します。

次のステップ

いまERPプログラムを進めていますか?

この記事が、いま進行中のプログラムに関わる内容だったなら、社内でさらに1週間分析を重ねるよりも、30分の対話のほうが多くの場合ずっと前に進めます。