SharePoint Server のワークフローのインストールと構成

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

この記事では、SharePoint Server の SharePoint ワークフロー マネージャー (SPWFM) を構成するために必要な情報と手順について説明します。

注:

SharePoint 2013 ワークフロー プラットフォームを強化するワークフロー エンジン製品には、Microsoft ワークフロー マネージャー ("クラシック WFM") と SharePoint ワークフロー マネージャー (SPWFM) の 2 種類があります。 Microsoft ワークフロー マネージャーはインストールできなくなりましたが、SharePoint ワークフロー マネージャーは置き換えるためにリリースされています。 そのため、このドキュメントで説明されている手順では、SharePoint ワークフロー マネージャーをインストールする方法について説明します。

概要

SharePoint Serverのワークフローを構築するときに、新しいオプションを使用できます。 これが [ プラットフォームの種類] オプションです。 この図は、SharePoint Designer 2013 を使用して新しいワークフローを作成する場合の [プラットフォームの種類] オプションを示しています。

図: SharePoint Server の 3 つのワークフロー プラットフォーム オプション。

SharePoint 2013 内の 3 つのワークフロー プラットフォーム。

SharePoint Serverを初めてインストールした場合、使用できるプラットフォームは SharePoint 2010 ワークフロー プラットフォームのみです。 SharePoint 2013 ワークフロー プラットフォームと Project Server プラットフォームには、さらに多くの手順が必要です。 次の表は、3 つのワークフロー プラットフォームの概要を示しています。

SharePoint Server で有効なワークフロー プラットフォームの種類

プラットフォームの種類 プラットフォームのフレームワーク 要件
SharePoint 2010 ワークフロー
Windows Workflow Foundation 3
SharePoint Server と一緒に自動的にインストールされます。
SharePoint 2013 ワークフロー
Windows Workflow Foundation 4
SharePoint ワークフロー マネージャーまたは Microsoft ワークフロー マネージャー、および SharePoint Server が必要です。
SharePoint 2013 ワークフロー - Project Server
Windows Workflow Foundation 4
SharePoint ワークフロー マネージャーまたは Microsoft ワークフロー マネージャー、および Project サーバーが必要です。

注:

SharePoint ワークフロー マネージャーは、SharePoint Server とは別にダウンロードしてインストールする必要があります。 SharePoint Server をインストールするときに自動的にインストールされることはありません。

SharePoint ワークフロー マネージャーの新しいインストール

SharePoint ワークフロー マネージャーは、SharePoint と同じサーバーまたは別の専用サーバーにインストールできます。 パフォーマンスと信頼性の理由から、SharePoint ワークフロー マネージャーを独自の専用サーバーにインストールすることをお勧めします。

注:

SharePoint ワークフロー マネージャーは、1、3、5 など、ホストの数が奇数のファームでサポートされています。 2 つまたは 4 つの SharePoint ワークフロー マネージャー ホストを持つファームはサポートされていません。

前提条件

SharePoint ワークフロー マネージャーには、Web Server (IIS) のサーバー ロールが必要です。 IIS サーバーの役割がインストールされていないサーバーに SharePoint ワークフロー マネージャーをインストールする場合、ワークフロー マネージャー構成ウィザードが失敗し、ファイルまたはアセンブリ 'Microsoft.Web.Administration' を読み込めませんでした。 SharePoint ワークフロー マネージャーには、既定で Web サーバーロールと共にインストールされる機能に加えて、次の Web サーバー機能が必要です。

  • Windows 認証 (セキュリティ)
  • .NET Extensibility 4.7 ([アプリケーション開発] の下)
  • ASP.NET 4.7 (アプリケーション開発の下)

SharePoint ワークフロー マネージャーに必要な Web サーバー機能のスクリーンショット。

注:

SharePoint ワークフロー マネージャーは、ネットワーク環境で使用可能な RODC (読み取り専用ドメイン コントローラー) のみで正しくインストールおよび構成されていない可能性があります。 RWDC (読み取り/書き込みドメイン コントローラー) が必要です。 SharePoint ワークフロー マネージャーには、SharePoint ワークフロー マネージャーセットアップを実行する前にインストールする必要がある Azure Service Fabric が必要です。 Azure Service Fabric ランタイムがまだインストールされていない場合は、次の手順に従ってインストールします。

  1. SharePoint ワークフロー マネージャーでサポートされる Azure Service Fabric ランタイムの最小バージョンは 9.1.1583.9590 であり、Azure Service Fabric ランタイムからダウンロードできます。 または、Windows インストーラーの上位バージョンを見つけてダウンロード することもできます

  2. 管理者特権で PowerShell コンソールを開き、次のコマンドを実行します。

    .\MicrosoftServiceFabric.9.1.1583.9590.exe /accepteula

  3. Azure Service Fabric がインストールされていることを確認するには、コントロール パネルのプログラムと機能で見つけることができます。

注:

SharePoint ワークフロー マネージャーでは、Azure Service Fabric 以降のバージョン 9.1 CU2 (9.1.1583.9590) がサポートされています

Windows Fabricが既にコンピューターにインストールされている場合は、Azure Service Fabric をインストールする前にアンインストールする必要があります。

Azure Service Fabric で大量のログが生成され、ディスク領域が削減される可能性があると報告されています。 これは、SharePoint ワークフロー マネージャー ワークロードに関係なく発生する可能性があります。 この問題を特定するには、ディレクトリで生成されたファイルを %ProgramData%\Microsoft Service Fabric\Log\Traces 確認します。 Azure Service Fabric Runtime のみがインストールされている クラスター構成では、ログ サイズを制御できません。 期限切れのログを手動で削除する必要がある場合や、Windows タスク スケジューラを使用して定期的なタスクを作成して実行する必要がある場合があります。

SharePoint ワークフロー マネージャーをインストールする

SharePoint ワークフロー マネージャーと SharePoint ワークフロー マネージャー クライアントは、ここからダウンロードできます。 システム要件は、そのページにも記載されています。

ワークフロー マネージャー ファーム内のすべてのサーバーに SharePoint ワークフロー マネージャー と SharePoint ワークフロー マネージャー Client の両方をインストールします。

SharePoint サーバー ファーム内のすべてのサーバーに SharePoint ワークフロー マネージャー クライアントのみをインストールします。

注:

SharePoint Server を実行しているサーバーに SharePoint ワークフロー マネージャーをインストールすることはサポートされていますが、パフォーマンスと信頼性の理由から、SharePoint ワークフロー マネージャーを独自の専用サーバーにインストールすることをお勧めします。

SharePoint ワークフロー マネージャー ファームを構成する

SharePoint ワークフロー マネージャー ファームを作成し、サーバーをファームに参加させるには、ワークフロー マネージャー構成ウィザードを使用して SharePoint ワークフロー マネージャーを構成します。

SharePoint ワークフロー マネージャー サーバーにログオンし、[ワークフロー マネージャー構成] をクリックし、要件に応じて [既定の設定でワークフロー マネージャーを構成する] または [カスタム設定でワークフロー マネージャーを構成する] をクリックします。 別のポート、カスタム証明書、またはカスタム データベース名を使用する場合は、[カスタム設定でワークフロー マネージャーを構成する] オプションを使用します。

この例では、[既定の設定] オプションを使用します。

SharePoint ワークフロー マネージャー構成ウィザードの [既定の設定でワークフロー マネージャーを構成する] の選択を示すスクリーンショット。

注:

既定では、ワークフロー管理サイトには HTTPS (TLS/SSL) ポート 12290 のみが構成されています。 暗号化されていない HTTP ポート 12291 経由での通信も許可する場合は、[このコンピューターで HTTP 経由でワークフロー管理を許可する] チェックボックスを選択する必要があります。 これは、後で Register-SPWorkflowService コマンドレットを実行する場合の要因です。 ワークフロー ウィザードで必要なSQL Serverとサービス アカウントの詳細を指定します。

SharePoint ワークフロー マネージャー構成ウィザードの構成オプションを示すスクリーンショット。

構成ウィザードでは、選択内容がコミットされる前に概要が表示されます。

SharePoint ワークフロー マネージャー構成ウィザードの概要ページを示すスクリーンショット。

注:

[既定の設定でワークフロー マネージャーを構成する] オプションを使用すると、一部の値が選択されます。 お使いの環境に適していない場合は、ウィザードを起動し、[カスタム設定でワークフロー マネージャーを構成する] を選択する必要がある場合があります。

構成ウィザードが正常に完了します。 失敗した場合は、[ログの表示] リンクを選択し、問題を見つけて修正してから、ウィザードをもう一度実行してください。

SharePoint ワークフロー マネージャー構成ウィザードが正常に完了したことを示すスクリーンショット。

マルチサーバーの SharePoint ワークフロー マネージャー ファームを作成する場合は、他のノードでワークフロー構成ウィザードを実行し、[既存のワークフロー マネージャー ファームに参加する] オプションを選択する必要があります。

SharePoint ファームでアプリ管理とサブスクリプションの設定サービスを構成する

SharePoint 2013 プラットフォーム ワークフローが機能するには、SharePoint ファームで App Management サービスとサブスクリプション設定サービスが必要です。 SharePoint ファームでまだ設定していない場合は、SharePoint サーバーで、App Management とサブスクリプション設定サービス、サービス アプリケーション、およびサービス アプリケーション プロキシを設定します。

アプリ管理サービスは、サーバーの全体管理を使用して作成できます。

PowerShell を使用して、サブスクリプション設定サービス アプリケーションを作成できます。

$sa = New-SPSubscriptionSettingsServiceApplication -ApplicationPool 'SharePoint Web Services Default' -Name 'Subscriptions Settings Service Application' -DatabaseName 'Subscription'

New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $sa

SharePoint サーバー ファームと連携するように SharePoint ワークフロー マネージャーを構成する

SharePoint Server で動作するように SharePoint ワークフロー マネージャーを構成する前に、次の重要な要素を考慮してください。

  • SharePoint ワークフロー マネージャーと SharePoint Server 間の通信では、HTTP または HTTPS が使用されますか?

注:

セキュリティ上の理由から、運用環境では HTTPS の使用をお勧めします。

HTTP を使用して通信が行われる環境で SharePoint ワークフロー マネージャーを構成するには

注:

既定では、ワークフロー管理サイトには HTTPS (TLS/SSL) ポート 12290 のみが構成されています。 HTTP の使用を構成するには、前の手順で "ワークフロー マネージャー 構成" ウィザードを実行するときに、[このコンピューターで HTTP 経由でワークフロー管理を許可する] チェック ボックスが選択されている必要があります。

  1. SharePoint Server ファーム内の各サーバーにサインインします。

  2. SharePoint ファーム内の各サーバーに SharePoint ワークフロー マネージャー クライアントをインストールします。

    重要

    Register-SPWorkflowService コマンドレットを実行する前に、SharePoint ファーム内の各サーバーに SharePoint ワークフロー マネージャー クライアントをインストールする必要があります。

  3. 1 つの SharePoint サーバーで、SharePoint 管理シェルを管理者として開きます。 SharePoint 管理シェル コマンドを右クリックし、[ 管理者として実行] を選択します。

  4. Register-SPWorkflowService コマンドレットを実行して、SharePoint ファームを SharePoint ワークフロー マネージャー ファームに接続します。 コマンドレットを実行するのは 1 回のみで、SharePoint ファーム内の任意のサーバーから実行できます。

    注:

    -SPSite パラメーターの値は、SharePoint ファーム内の任意の有効なサイト コレクションにすることができます。 -WorkflowHostUri パラメーターの正しい値は、SharePoint ワークフロー マネージャー サーバーで PowerShell Get-WFFarm | select endpoints を実行することで確認できます。

    :

    Register-SPWorkflowService -SPSite "http://myserver/mysitecollection" -WorkflowHostUri "http://workflow.example.com:12291" -AllowOAuthHttp
    

HTTPS を使用して通信が行われる環境で SharePoint ワークフロー マネージャーを構成するには

  1. SharePoint サーバーに SharePoint ワークフロー マネージャー証明書をインストールする必要があるかどうかを判断します。

    状況によっては、SharePoint ワークフロー マネージャー証明書を取得してインストールする必要があります。 このような証明書を取得してインストールすることが要求される場合は、操作を続行する前にこの手順を完了する必要があります。 証明書のインストールが必要かどうかの判断およびその手順については、「ワークフロー マネージャー証明書を SharePoint Server 2013 にインストールする」を参照してください。

  2. SharePoint Server ファーム内の各サーバーにサインインします。

  3. SharePoint ファーム内の各サーバーに SharePoint ワークフロー マネージャー クライアントをインストールします。

    重要

    Register-SPWorkflowService コマンドレットを実行する前に、SharePoint ファーム内の各サーバーに SharePoint ワークフロー マネージャー クライアントをインストールする必要があります。

  4. SharePoint 管理シェル を管理者として開きます。 このためには、 [SharePoint 管理シェル] コマンドを右クリックし、 [管理者として実行] を選択します。

  5. Register-SPWorkflowService コマンドレットを実行して、SharePoint ファームを SharePoint ワークフロー マネージャー ファームに接続します。 コマンドレットを実行するのは 1 回のみで、SharePoint ファーム内の任意のサーバーから実行できます。

    注:

    -SPSite パラメーターの値は、SharePoint ファーム内の任意の有効なサイト コレクションにすることができます。 -WorkflowHostUri パラメーターの正しい値は、SharePoint ワークフロー マネージャー サーバーで PowerShell Get-WFFarm | select endpoints を実行することで確認できます。

    :

    Register-SPWorkflowService -SPSite "https://myserver/mysitecollection" -WorkflowHostUri "https://workflow.example.com:12290"
    

既存の Microsoft ワークフロー マネージャーをアップグレードする

Microsoft ワークフロー マネージャーをインプレースでアップグレードすることはできません。また、SharePoint ワークフロー マネージャーを Microsoft ワークフロー マネージャーの上に配置することはできません。 Microsoft ワークフロー マネージャー (クラシック WFM) を SharePoint ワークフロー マネージャー (SPWFM) に更新するには、以前のバージョンの ワークフロー マネージャー、ワークフロー マネージャー Client、Service Bus をアンインストールする必要があります。

注:

任意のバージョンの Microsoft ワークフロー マネージャーから SharePoint ワークフロー マネージャー にアップグレードできます。 既存の "クラシック WFM" ファームを SPWFM にアップグレードしているため、WFM データベースは再利用され、既存の登録とワークフローはそのまま残ります。

次の手順に従って Microsoft ワークフロー マネージャーをアンインストールし、SharePoint ワークフロー マネージャーをインストールします。

重要

アップグレード手順では、参加を解除してから既存のWFM ファームに再度参加する必要があるため、再参加するときに"証明書生成キー" WFMが必要になります。 そのキーが何であるかがわからない場合は、先に進む前に 証明書生成キーをリセット する必要があります。 有効な証明書生成キーがないと、既存のワークフロー ファームに参加できません。

  1. ワークフロー マネージャー構成ウィザードを実行します。

  2. [ファームワークフロー マネージャー残す] を選択します

  3. ウィザードが終了するまで、後続の手順を確認します。

  4. ワークフロー ファーム内のすべての Microsoft ワークフロー マネージャー サーバーでこの手順を繰り返します。

    注:

    sharePoint ワークフロー マネージャーを使用してファームに再参加する場合は、ワークフロー マネージャー と Service Bus で使用される各データベースを指定する必要があります。 たとえば、ワークフロー マネージャー ファーム管理データベースと Service Bus ファーム管理データベースのSQL Server インスタンスとデータベース名です。

  5. Microsoft ワークフロー マネージャー、ワークフロー マネージャー クライアント、Service Bus for Windows Server をアンインストールし、インストールされている場合はWindows Fabricします。 コントロール パネルからアンインストールできます。 Windows Fabricがインストールされている場合は、Windows Fabricをアンインストールした後に Azure Service Fabric をインストールしてください。

    重要

    SharePoint サーバーに SharePoint ワークフロー マネージャーをインストールする場合は、"Windows Fabric" と "AppFabric 1.1 for Windows Server" の両方がインストールされている可能性があります。 必ずWindows Fabricのみをアンインストールしてください。 AppFabric 1.1 をアンインストールしないでください。 これは別のサービスであり、SharePoint 分散キャッシュに必要です。

  6. フォルダー "%ProgramFiles%\ワークフロー マネージャー\1.0" または "%Program Files%\Service Bus\1.0" が既に存在する場合は、次の手順を成功させるためにそれらを手動で削除する必要があります。

  7. SharePoint ワークフロー マネージャー サーバーを再起動します。

  8. まだインストールされていない場合は、 上記の「前提条件」セクション の手順を使用して Azure Service Fabric をインストールします。

  9. SharePoint ワークフロー マネージャーと SharePoint ワークフロー マネージャー クライアントをインストールします。 SharePoint ワークフロー マネージャーと SharePoint ワークフロー マネージャー クライアントは、ここからダウンロードできます。 システム要件は、そのページにも記載されています。

  10. ワークフロー マネージャー構成ウィザードを実行し、[既存のワークフロー マネージャー ファームに参加する] を選択して、前のファームに再度参加します。 前の "クラシック WFM" ファームで使用したデータベース、サービス アカウント、および証明書生成キーの情報を使用します。

    注:

    アップグレードする場合、通常、既存のワークフロー サービス アプリケーション プロキシを削除し、Register-SPWorkflowService コマンドレットを使用して再接続する必要はありません。 SharePoint ワークフロー マネージャー と Service Bus の証明書生成キーの無効が発生した場合は、リセットが必要になる場合があります。「証明書生成キーをリセットする」を参照してください。

  11. ワークフロー マネージャー構成ウィザードを再実行し、[ファームワークフロー マネージャーアップグレード] を選択し、最後まで後続の手順を確認します。

    注:

    この手順は、SharePoint ワークフロー マネージャー ファーム内のすべてのサーバーで実行する必要があります。 [ワークフロー マネージャー ファームのアップグレード] オプションは、アップグレードが必要かどうかに関係なく、ワークフロー マネージャー構成ウィザードに常に表示されます。 複数回実行しても、アップグレードが保留されていない場合でも問題ありません。

  12. ワークフロー マネージャー ファームに複数のサーバーがある場合は、すべてのワークフロー ファーム サーバーで前の手順を繰り返します。

  13. 以前のバージョンをアンインストールした後、SharePoint Server ファーム内の各サーバーに SharePoint ワークフロー マネージャー クライアントをインストールします。

インストールを検証する

次の手順に従って、必要なコンポーネントが正常にインストールおよび構成されていることを確認します。

インストールを検証するには

  1. SharePoint サイトにユーザーを追加し、ユーザーにサイトDesignerアクセス許可を付与します。
  2. SharePoint Designer 2013 をクライアント コンピューターにインストールし、SharePoint 2013 ワークフロー プラットフォームに基づいてワークフローを作成します。 詳細については、「SharePoint Designer 2013 および SharePoint 2013 Workflow プラットフォームを使用してワークフローを作成する」を参照してください。
  3. SharePoint ユーザー インターフェイスからこのワークフローを実行します。

トラブルシューティング

セキュリティ上の理由から、セットアップ アカウントを使用して SharePoint 2013 ワークフロー プラットフォームに基づいてワークフローを作成することはできません。 SharePoint Designer 2013 を使用して SharePoint 2013 ワークフロー プラットフォームに基づいてワークフローを作成しようとすると、ワークフロー アクションの一覧が存在せず、ワークフローが作成されていないことを示す警告が表示されます。

ワークフローを展開および実行するユーザーは、User Profile Service に追加する必要があります。 サーバーの全体管理の [ユーザー プロファイル サービス アプリケーション] ページを確認して、ワークフローのインストールを検証するために使用しているユーザーがユーザー プロファイル サービスにあることを確認します。

次の図に示すように、IIS マネージャーを使用して、SharePoint Server と Workflow Manager が HTTP および HTTPS で使用しているポートを判断できます。

図: IIS マネージャーを使用して SharePoint ワークフロー マネージャーで使用されるポートを表示する

IIS マネージャー内のポートを表示する。

SharePoint ワークフロー マネージャーは、TCP/IP または名前付きパイプを使用して通信します。 SharePoint ワークフロー マネージャー データベースをホストするSQL Server インスタンスで適切な通信プロトコルが有効になっていることを確認します。

Workflow Manager データベースをホストする SQL Server インスタンスで、SQL Browser Service が実行している必要があります。

システム アカウントを使用してワークフローを開発することはできません。

SharePoint Server のトラブルシューティングを行うには、「SharePoint Server のトラブルシューティング」を参照してください。