Amazon Web Services ブログ
AWS Service Catalog Connector for ServiceNow を使用してセルフサービス Amazon WorkSpaces を有効化する方法
はじめに
Amazon WorkSpaces は、AWS 上で実行される、安全なフルマネージド型「サービスとしてのデスクトップ (DaaS)」ソリューションです。AWS には、デスクトップをデプロイするための選択肢が複数あります。組織がこのプロセスを既存のオートメーションツールや情報技術サービス管理 (ITSM、Information Technology Service Management) ツールに統合する際に、支援が必要になる場合があります。多くのお客様が、Amazon WorkSpaces プロセスに承認プロセスと追跡メカニズムを導入したいと考えています。先日リリースされた AWS Service Catalog Connector for ServiceNow を使用することで、この統合をはるかに簡単に行えるようになりました。
このブログ記事では、AWS Service Catalog をセットアップし、AWS Service Catalog Connector for ServiceNow を使用して Amazon WorkSpaces をデプロイする方法をご紹介します。
次の大まかなアーキテクチャ図は、ソリューションのコアコンポーネントを示しています。
次の図は、エンドユーザーインタラクションの概要図です。
ソリューションのセットアップ手順は、3 つの主要カテゴリに分かれます。
- AWS を設定 (して、Service Catalog 製品として Amazon Workspace を使い Workspace をセットアップ)
- ServiceNow をインストールおよび設定 (して、AWS と ServiceNow との統合をセットアップ)
- Connector for ServiceNow を検証 (して、ServiceNow ポータルから Amazon WorkSpace を起動して接続し、ソリューションをテスト)
背景
AWS Service Catalog を使用すると、一般的にデプロイされる AWS のサービスとプロビジョニングされたソフトウェア製品を一元管理できます。ユーザーが必要な承認済みの AWS のサービスのみを迅速にデプロイできるようにすると同時に、組織が一貫したガバナンスとコンプライアンスの要件を達成できるようにします。
ServiceNow は、日々のワークライフを構成するアクティビティ、タスク、プロセスにサービス指向のレンズを配置して、モダンな作業環境を実現するエンタープライズサービス管理プラットフォームです。Service Catalog は、エンドユーザーがリクエスト履行の承認とワークフローに基づいて IT サービスを注文できる、セルフサービスアプリケーションです。
はじめに
このソリューションをデプロイするには、次の前提条件をクリアしている必要があります。
AWS の前提条件
- 管理者アクセス権限を持つ AWS アカウント
AWS Service Catalog と ServiceNow との統合の前提条件
- エンタープライズまたは ServiceNow Personal Developer (PDI) インスタンスにアクセスします。
- こちらのブログ記事を参照しながら AWS Service Catalog Connector for ServiceNow を設定します。
ディレクトリをセットアップする
Amazon WorkSpaces では、WorkSpaces とユーザーの情報を保存、管理するためにディレクトリを使用する必要があります。ディレクトリの詳細については、「Amazon WorkSpaces のディレクトリの管理」をご覧ください。ディレクトリ (Simple AD、Microsoft AD、AD Connector のいずれか) を既に AWS にデプロイ済みである場合は、このセクションはスキップできます。まだデプロイしていない場合は、付録 A に記載の詳細な手順に従って、WorkSpaces ユーザーのユーザーアカウントを保存するためのディレクトリをセットアップしてください。
AWS CloudFormation テンプレートをセットアップする
このセクションでは、ユーザーに代わって Amazon WorkSpaces をデプロイする CloudFormation テンプレートをセットアップします。このステップの詳細については、AWS Service Catalog 管理者ガイドをご覧ください。
-
- テキストエディタまたはお好きなコードエディタを開き、次のテキストをコピーして、新規ファイルに貼り付けます。
AWSTemplateFormatVersion: '2010-09-09' Description: > Amazon WorkSpaces Deployment Template. This template will deploy the resources needed to deploy a single Amazon WorkSpaces desktop. Mappings: WSTypeMap: Value-Win10-Desktop: BundleId: wsb-bh8rsxt14 DirectoryId: d-XXXXXXXXXX Standard-Win10-Desktop: BundleId: wsb-8vbljg4r6 DirectoryId: d-XXXXXXXXXX Performance-Win10-Desktop: BundleId: wsb-gm4d5tx2v DirectoryId: d-XXXXXXXXXX Parameters: UserName: Description: Your Windows login ID Type: String WorkstationType: AllowedValues: - Value-Win10-Desktop - Standard-Win10-Desktop - Performance-Win10-Desktop Description: Select the type of workstation Default: Value-Win10-Desktop Type: String Resources: MyWorkSpace: Type: AWS::WorkSpaces::Workspace Properties: BundleId: !FindInMap - WSTypeMap - !Ref 'WorkstationType' - BundleId DirectoryId: !FindInMap - WSTypeMap - !Ref 'WorkstationType' - DirectoryId UserName: !Ref 'UserName' Outputs: WorkSpaceID: Description: ID of the newly created WorkSpace Value: !Ref 'MyWorkSpace' UserName: Description: The username for WorkSpace Value: !Ref 'UserName' LogonURL: Description: Use this URL to download client software used to connect to your cloud desktop Value: 'https://clients.amazonworkspaces.com/' Metadata: Comments: Template to deploy an Amazon WorkSpace LastUpdated: '2018-04-26' Version: 1.0.0 AWS::CloudFormation::Interface: ParameterGroups: - Label: default: Setup Parameters: - UserName - WorkstationType ParameterLabels: UserName: default: User Name WorkstationType: default: Workstation Type
- 上記 CloudFormation テンプレートの Mappings セクションで、「d-XXXXXXXXXX」というテキストが 3 回出てきます。これらをすべて、ディレクトリのセットアップ時 (付録 A) にキャプチャしたディレクトリ ID に置き換えてください。
- deploy-workspaces.template という名前でファイルをコンピュータに保存し、保存場所をメモしておきます。
新しいポートフォリオをセットアップする
ユーザーに製品を提供するには、まずそれらの製品のポートフォリオを作成します。ポートフォリオを作成するには、AWS Service Catalog のドキュメントの詳細な手順に従ってください。
AWS Service Catalog コンソールの [ポートフォリオの作成] ページで、次の値を使用してポートフォリオを作成します。- [ポートフォリオ名] – End-User-Compute
- [説明] – デスクトップなどの EUC 製品のポートフォリオ
- [所有者] – IT (it@example.com)
新しい製品をセットアップする
ポートフォリオを作成したら、AWS Service Catalog ドキュメントに記載の詳細な手順に従い、新しい製品を追加します。
AWS Service Catalog コンソールの [新しい製品のアップロード] ページで、次の値を使用して製品を作成します。- [製品名] – Virtual Windows Desktop
- [説明] – Amazon WorkSpaces を利用した仮想 Windows デスクトップ
- 提供元 – IT
- ベンダー (オプション) – アマゾン ウェブ サービス
[サポート詳細の入力] ページで次のように入力し、[次へ] を選択します。
- [連絡先 E メール] – ITSupport@example.com
- [サポートリンク] – IT チームのお問い合わせページまたはサポートページへのリンク (例: https://thinkwithwp.com/contact-us/)
- [サポートの説明] – さらなるサポートについては IT 部門にお問い合わせください
[バージョンの詳細] ページで、[テンプレートファイルのアップロード] を選択して [ファイルの選択] を選択し、セットアップおよび保存した deploy-workspaces.template CloudFormation テンプレートファイルを指定して、[次へ] を選択します。
- [バージョンタイトル] – 1.0.0
- [説明] – 初期バージョン
[レビュー] ページで、[作成] を選択します。
AWS Service Catalog を有効化して Amazon WorkSpaces を起動する
AWS Service Catalog を有効化して Amazon WorkSpaces を起動するには、追加のセキュリティ権限を承認する必要があります。これには、追加の AWS Identity and Access Management (IAM) アクセス許可と起動制約を使用します。起動制約により、エンドユーザーが製品を起動する際に AWS Service Catalog が引き受ける IAM ロールが指定されます。
IAM アクセス許可を設定する
このステップでは、IAM ポリシーをセットアップして既存のロールを変更します。このセクションを開始する前に、前述した統合の前提条件の手順を完了させておいてください。
IAM ポリシーを作成する
このステップでは、次のアクセス許可に一致する IAM ポリシー「SCWorkSpacesLaunchPermissions」を作成します。IAM ポリシーを作成するには、IAM ユーザーガイドに記載の詳細な手順を実施します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "workspaces:*", "Resource": "*" } ] }
IAM コンソールの [ポリシーの確認] ページで、次のようにフォームに入力します。
- [名前] – SCWorkSpacesLaunchPermissions
- [説明] – WorkSpaces の起動を許可するポリシー
IAM ロールを変更する
既存の SCConnectLaunch ロールを変更し、SCWorkSpacesLaunchPermissions ポリシーをアタッチします。詳細な手順については、付録 B をご覧ください。
起動制約
起動制約により、エンドユーザーが製品を起動する際に AWS Service Catalog が引き受ける IAM ロールが指定されます。今回の新しい Virtual Windows Desktop 製品を起動する前に、「SCConnectLaunch」起動制約を割り当てます。詳細な手順については、付録 C をご覧ください。
検証する
新しい製品が ServiceNow に表示され、ServiceNow Service Catalog から注文できることを検証する準備が整いました。
- エンドユーザー (例: Abel Tuter) として ServiceNow インスタンスにログインします。管理者として開発者インスタンスにログインしている場合、画面右上のユーザーメニューで偽装ユーザーを選択すると、エンドユーザーとしてログインできます。
- ナビゲーションフィルターに「Service Catalog」と入力し、[Service Catalog] を選択します。
- [AWS Service Catalog] を選択します。
- 今回の AWS Service Catalog 製品が表示されているはずです。
- [Virtual Windows Desktop] を選択します。
- 注文フォームに次のように入力します。
- [製品名] – 「MyCloudDesktop」など、わかりやすい名前を入力します。
- [ワークステーションタイプ] – [バリュー]、[スタンダード]、[パフォーマンス] のいずれかからワークステーションのタイプを選択します。CloudFormation テンプレートを変更してさまざまなバンドル名を含めていた場合は、ここに表示されます。
- [ユーザー名] – ユーザー作成時 (付録 A) に指定した Windows ユーザー名を入力します。ここで入力したユーザー ID を使用して WorkSpace をプロビジョンすることができない場合、Active Directory 管理者に SAMAccountName を問い合わせてください。
- [今すぐ注文] を選択して ServiceNow リクエストを送信します。以下のような注文ステータスが表示されます。
- 左のメニューで [マイアセット] を選択してリクエストを表示します。[リクエストしたアセット] テーブルに設定アイテムフィールドが表示されない場合は、付録 D の手順を実施してください。
- プロビジョンされた製品の出力パラメータを表示するには、Virtual Windows Desktop のリクエストを見つけ、「MyCloudDesktop」設定アイテムリンクを選択します。このクラウドデスクトップとのインタラクションを開始するのに使う AWS CloudFormation 出力パラメータの出力を以下に示します。
- Amazon WorkSpaces のプロビジョニングが完了すると、ユーザープロファイルを完成させて Amazon WorkSpace インスタンスにログインする方法が詳しく記載された E メールが AWS から届きます。まずはユーザープロファイルを完成させます。
ユーザープロファイルを完成させると、以下のスクリーンショットのようにして WorkSpace にログインできます。まずはプラットフォーム用の WorkSpaces クライアントをダウンロードします。
- WorkSpaces クライアントをインストールしたら、ユーザー名および関連付けられた認証情報でログインします。
- 任意で、AWS マネジメントコンソールにログオンして Amazon WorkSpace の情報を検証することもできます。
まとめ
本記事では、ServiceNow 経由で Amazon WorkSpaces をデプロイするための全自動セルフサービスクラウドデスクトップソリューションを、AWS Service Catalog を使用して作成する方法についてご紹介しました。この方法を用いることで、ワークフローに、および AWS リソースのプロビジョニングと追跡に、ServiceNow インスタンスを使用することができます。
中央クラウド管理チームは、このアプローチを用いて実証済みのベストプラクティスベースのソフトウェアインフラストラクチャ設計図を選定し、エンタープライズ全体に提供することで、簡単かつセルフサービスのソリューションを Service Catalog 製品として導入可能です。
著者について
Joe Wozniak は、ニューヨークを拠点とする、AWS プロフェッショナルサービスのクラウドインフラストラクチャアーキテクトです。Joe は、お客様の日々を楽にするオートメーションソリューションの設計と実装を支援しています。余暇には、劇場での映画鑑賞、スキー、電子機器いじり、家族との時間を楽しんでいます。
Sanjay Garje は、サンフランシスコを拠点とする、AWS Service Catalog のシニアテクニカル事業開発マネージャーです。Sanjay は熱心なテクノロジストで、ビジネスとテクノロジーの成果を変革する方法を示してお客様の AWS クラウドジャーニーを支援することに誇りを持っています。余暇には、ランニング、新しい物事の勉強、クラウドテクノロジーの手ほどき、行ったことのない場所への家族旅行を楽しんでいます。
付録
付録 A – ディレクトリを作成する
テストまたは PoC (概念実証) のコンテキストで、ディレクトリのセットアップが済んでいない場合には、Simple AD のデプロイをお勧めします。Simple AD は、Amazon WorkSpaces のデプロイに向けて環境を迅速に準備できる、コスト効率の高いソリューションです。Simple AD ディレクトリを作成するには、「Simple AD ディレクトリを作成する」に記載の手順を実施します。
ユーザーを追加する
ServiceNow 経由で WorkSpaces をデプロイする前に、WorkSpaces ユーザーのユーザーアカウントをディレクトリにセットアップする必要があります。
注: AD Connector をセットアップ済みの場合、ユーザーは既にディレクトリに存在しているため、このステップはスキップしてください。
Simple AD ディレクトリにユーザーを追加する
- Amazon WorkSpaces コンソールを開きます。コンソールの右上で正しいリージョンが選択されていることを確認します。
- [WorkSpaces の起動] を選択します。
- リストからディレクトリを選択し、[次のステップ] を選択します。
- 最初に追加するユーザーのユーザー名、名、姓、有効な E メールアドレスを入力します。
注: 無効な E メールアドレスを指定した場合、ユーザーはログインできません。
- 2 名以上のユーザーを追加する場合は、[+ 追加ユーザーの作成] を選択します。フォームに行が追加されます。
- [ユーザーの作成] を選択します。
- フォーム下部の [キャンセル] を選択します。この時点では、これらのユーザーに Amazon WorkSpaces を割り当てることはせず、アカウントを作成するだけにします。
WorkSpaces ディレクトリ ID を取得する
セットアップした各ディレクトリは、一意のディレクトリ ID でプロビジョンされます。Amazon WorkSpaces デプロイのこれらのディレクトリ ID から、少なくとも 1 つを取得する必要があります。このディレクトリ ID を、次のセクションで、CloudFormation テンプレートに対して WorkSpaces をデプロイするディレクトリを指定するのに使用します。
- Amazon WorkSpaces コンソールを開きます。コンソールの右上で正しいリージョンが選択されていることを確認します。
- 左のナビゲーションパネルで [ディレクトリ] を選択します。
- 当該ディレクトリの横のチェックボックスをオンにして [ディレクトリ ID] のテキスト (d-XXXXXXXXXX) をハイライトし、クリップボードにコピーします。
コピーした ID を、後のステップで簡単に参照できるところに貼り付けます。
付録 B – IAM ロールを変更する
- IAM コンソールのロールのページを開きます。
- リストから SCConnectLaunch ロールを見つけて、またはロール名を検索ボックスに入力して、[ロール名] 列に表示されている当該ロールを選択します。
- [ポリシーのアタッチ] を選択します。
- 検索ボックスに SCWorkSpacesLaunchPermissions と入力してポリシーを見つけます。
- 最上列のチェックボックスをオンにしてそのポリシーを割り当てます。
- [ポリシーのアタッチ] を選択します。
- [ロールの概要] 画面で、[ロール ARN] フィールドの横の [コピー] アイコンを選択します。これにより ARN がクリップボードにコピーされます。
- この ARN はメモ帳などに貼り付けておいてください。次のセクションで使用します。
付録 C – 起動制約を追加する
- AWS Service Catalog コンソールを開きます。
- 先ほど作成した End-User-Compute ポートフォリオを開きます。
- [制約] を展開します。
- [制約の追加] リンクを選択します。
- 次のダイアログボックスが表示されます。
- [製品] – [Virtual Windows Desktop]
- [制約タイプ] – [起動]
- [続行] を選択します。
- IAM ロールと説明を入力するための画面が表示されます。
- [IAM ロール] – 2 つのボックスがあります。2 つ目のボックスに、付録 B でセットアップした SCConnectLaunch ロール ARN を貼り付けます。
- [説明] – WorkSpaces の起動のみ可能
- [送信] を選択します。
付録 D – ServiceNow の「マイアセットリクエスト」テーブルに [設定アイテム] フィールドを追加する
製品を表示するには、次のように、リストビューをパーソナライズして、関連する設定アイテムを表示します。
- アセットリクエストのテーブルのヘッダー行で [設定] 歯車アイコンを選択します。
- [設定アイテム (configuration_item)] を選択し、[>] ボタンをクリックしてビューに追加します。上矢印ボタンを使って [設定アイテム] を [リクエスト] の上に移動します。
このステップにより、[設定アイテム] タブが [マイアセットリクエスト] テーブルに表示されます。
- テキストエディタまたはお好きなコードエディタを開き、次のテキストをコピーして、新規ファイルに貼り付けます。