AWS Service Catalog のサービスアクション - AWS Service Catalog

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Service Catalog のサービスアクション

AWS Service Catalog により、コンプライアンスとセキュリティ対策に従いながら、管理メンテナンスとエンドユーザートレーニングを減らすことができます。サービスアクションを使用すると、管理者は、AWS Service Catalog での運用タスクの実行、問題のトラブルシューティング、承認されたコマンドの実行、アクセス許可のリクエストをエンドユーザーに許可できます。AWS Systems Manager ドキュメントを使用して、サービスアクションを定義します。-AWS Systems Manager文書実装する定義済みアクションへのアクセスを提供するAWSAmazon EC2 の停止や再起動などのベストプラクティスと、カスタムアクションを定義することもできます。

このチュートリアルでは、Amazon EC2 インスタンスの再起動をエンドユーザーに許可します。必要なアクセス許可を追加し、サービスアクションを定義して製品に関連付けたら、プロビジョニングされた製品でそのアクションを使用して、エンドユーザーのエクスペリエンスをテストします。

前提条件

このチュートリアルでは、AWS のフル管理アクセス許可を持ち、すでに AWS Service Catalog の使用に慣れていて、製品、ポートフォリオ、ユーザーの基本セットを所有していることを前提とします。AWS Service Catalog の使用に慣れていない場合は、このチュートリアルを使用する前に「設定」と「ご利用スタートにあたって」のタスクを完了してください。

ステップ 1: エンドユーザーのアクセス許可を設定する

エンドユーザーアカウントには、特定のサービスアクションを表示および実行するアクセス許可が必要です。この例では、AWS Service Catalog のサービスアクション機能にアクセスして Amazon EC2 を再起動するアクセス許可がエンドユーザーに必要です。

アクセス許可を更新するには

  1. AWS Identity and Access Management IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. [] を選択します。

  3. エンドユーザーがアクセスに使用するグループを選択するAWS Service Catalogリソースの使用料金を見積もることができます。この例では、エンドユーザーグループを選択します。独自の実装では、該当するエンドユーザーによって使用されるグループを選択します。

  4. グループの詳細ページの [アクセス許可] タブで、新しいポリシーを作成するか、既存のポリシーを編集します。この例では、グループの AWS Service Catalog プロビジョニングおよび終了アクセス許可用に作成されたカスタムポリシーを選択して、既存のポリシーにアクセス許可を追加します。

  5. [ポリシー] ページで、[ポリシーの編集] を選択して必要なアクセス許可を追加します。ビジュアルエディタまたは JSON エディタを使用してポリシーを編集できます。この例では、JSON エディタを使用してアクセス許可を追加します。このチュートリアルでは、以下のアクセス許可をポリシーに追加します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1536341175150", "Action": [ "servicecatalog:ListServiceActionsForProvisioningArtifact", "servicecatalog:ExecuteprovisionedProductServiceAction", "ssm:DescribeDocument", "ssm:GetAutomationExecution", "ssm:StartAutomationExecution", "ssm:StopAutomationExecution", "cloudformation:ListStackResources", "ec2:DescribeInstanceStatus", "ec2:StartInstances", "ec2:StopInstances" ], "Effect": "Allow", "Resource": "*" } ] }
  6. ポリシーを編集した後、ポリシーの変更を確認して承認します。これで、エンドユーザーグループのユーザーに、AWS Service Catalog で Amazon EC2 の再起動アクションを実行するアクセス許可が付与されました。

ステップ 2: サービスアクションを作成する

次は、Amazon EC2 インスタンスを再起動するサービスアクションを作成します。

  1. AWS Service Catalog コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. メニューの [サービスアクション] を選択します。

  3. リポジトリの []のサービスアクション[] を選択しますアクションの作成

  4. [Create action] ページで、サービスアクションを定義する AWS Systems Manager ドキュメントを選択します。Amazon EC2 インスタンスの再起動アクションは AWS Systems Manager ドキュメントによって定義されているため、ドロップダウンメニューのデフォルトのオプションである [Amazon ドキュメント] をそのまま使用します。

  5. を検索してを選択しますAWS-RestartEC2Instanceaction.

  6. お客様の環境とチームに合ったアクションの名前と説明を指定します。この説明はエンドユーザーに表示されるため、アクションの内容を理解するのに役立つものを選択してください。

  7. [Parameter and target configuration] で、アクションのターゲットとなる SSM ドキュメントパラメータ ([インスタンス ID] など) を選択し、パラメータのターゲットを選択します。パラメータを追加するには、[パラメータの追加] を選択します。

  8. [Permissions] で、ロールを選択します。この例では、デフォルトのアクセス許可を使用します。他のアクセス許可の設定も可能で、このページで定義します。

  9. 設定を確認したら、[アクションの作成] を選択します。

  10. 次のページでは、アクションが作成されて使用可能になると確認メッセージが表示されます。

ステップ 3: サービスアクションを製品バージョンに関連付ける

アクションを定義したら、そのアクションを製品に関連付ける必要があります。

  1. リポジトリの []のサービスアクション[] を選択しますAWS-RestartEC2Instance[] を選択しますアクションの関連付け

  2. [アクションの関連付け] ページで、エンドユーザーによってサービスアクションが実行されるようにする製品を選択します。この例では、[Linux Desktop] を選択します。

  3. 製品バージョンを選択します。1 番上のチェックボックスを使用して、すべてのバージョンを選択できます。

  4. [アクションの関連付け] を選択します。

  5. 次のページで、確認メッセージが表示されます。

これで、AWS Service Catalog でサービスアクションが作成されました。このチュートリアルの次のステップは、エンドユーザーとしてサービスアクションを使用することです。

ステップ 4: エンドユーザーのエクスペリエンスをテストする

エンドユーザーはプロビジョニングされた製品に対してサービスアクションを実行できます。このチュートリアルの目的上、エンドユーザーには少なくとも 1 つのプロビジョニングされた製品が必要です。プロビジョニングされた製品は、前のステップでサービスアクションに関連付けた製品バージョンから起動する必要があります。

エンドユーザーとしてサービスアクションにアクセスするには

  1. エンドユーザーとして AWS Service Catalog コンソールにログインします。

  2. AWS Service Catalog ダッシュボードのナビゲーションペインで、[プロビジョニングされた製品のリスト] を選択します。このリストには、エンドユーザーのアカウント用にプロビジョンされた製品が表示されます。

  3. [プロビジョニングされた製品のリスト] ページで、プロビジョニングされたインスタンスを選択します。

  4. リポジトリの []プロビジョニング済み製品の詳細[] を選択しますアクション右上で、[] を選択しますAWS-RestartEC2Instanceaction.

  5. カスタムアクションを実行することを確認します。アクションが送信されたという確認メッセージが表示されます。

ステップ 5: トラブルシューティング

サービスアクションの実行が失敗した場合、[プロビジョニング済み製品] ページのサービスアクション実行イベントの [出力] セクションにエラーメッセージが表示されます。以下に、よくあるエラーメッセージの説明を示します。

注記

エラーメッセージの正確なテキストは変更される可能性があるため、いずれの種類の自動化プロセスでも使用しないでください。

内部エラー

AWS Service Catalog で内部エラーが発生しました。あとでもう一度試してみてください。問題が解決しない場合は、カスタマーサポートまでお問い合わせください。

エラーが発生しました (ThrottlingException) を呼び出すとき StartAutomationExecution 操作

サービスアクションの実行が SSM などのバックエンドサービスによって制限されました。

ロールの引き受け中にアクセスが拒否されました

AWS Service Catalog は、サービスアクション定義で指定されたロールを引き受けることができませんでした。servicecatalog.amazonaws.com プリンシパル、または servicecatalog.us-east-1.amazonaws.com などのリージョン別プリンシパルがロールの信頼ポリシーで許可リストに登録されていることを確認してください。

エラーが発生しました (AccessDeniedException) を呼び出すとき StartAutomationExecution オペレーション: ユーザーに:ssm: を実行する権限がありませんStartAutomationExecution リソースに。

サービスアクション定義で指定されたロールに、ssm を呼び出すアクセス許可がありません。StartAutomationExecution。ロールに適切な SSM アクセス許可があることを確認してください。

タイプのリソースが見つかりませんTargetTypeプロビジョニング済み製品

プロビジョニング済み製品に、SSM ドキュメントで指定されたターゲットタイプと一致するリソース (AWS: EC2: Instance. プロビジョニングされた製品でこれらのリソースを確認するか、ドキュメントが正しいことを確認してください。

その名前のドキュメントは存在しません

サービスアクション定義で指定されたドキュメントが存在しません。

SSM オートメーションドキュメントの定義の取得に失敗しました

指定したドキュメントの定義を取得しようとしたときに、AWS Service Catalog が SSM からの不明な例外を検出しました。

ロールの認証情報の取得に失敗しました

AWS Service Catalog は指定されたロールの引き受け中に不明なエラーを検出しました。

パラメータには値があります」InvalidValue「が見つかりません{ValidValue1}、{ValidValue2}

SSM に渡されたパラメータ値がドキュメントの許容値のリストにありません。渡されたパラメータが有効であることを確認し、再試行してください。

[Parameter type error. に指定された値ParameterNameは有効な文字列ではありません。

SSM に渡されたパラメータの値がドキュメントのこのタイプでは無効です。

パラメータがサービスアクション定義で定義されていません

サービスアクション定義で定義されていないパラメータが AWS Service Catalog に渡されました。使用できるのは、サービスアクション定義で定義されたパラメータのみです。

[Step fails when it is executing/canceling action. Error message. 診断の詳細については、「オートメーションサービストラブルシューティングガイド」を参照してください。

SSM オートメーションドキュメントのステップが失敗しました。さらにトラブルシューティングするには、メッセージ内のエラーを参照してください。

パラメーターの次の値は、プロビジョニング済み製品にはないため、許可されません。InvalidResourceId

プロビジョニングされた製品にないリソースに対するアクションをユーザーがリクエストしました。

TargetType SSM ドキュメントには定義されていません

サービスアクションでは、SSM 自動化ドキュメントに TargetType 定義済み。SSM オートメーションドキュメントを確認してください。