AWS Service Catalog

## AWS Service Catalog

https://d1.awsstatic.com/webinars/jp/pdf/services/20180718_AWS_BlackBelt_AWSServiceCatalog_public.pdf

## AWS Service Catalog とは

### 従来のインフラの課題

  • インフラはInfrastructure as Code としてコード化してプロビジョニングするのがベストプラクティス
  • 統制を取りつつ、各チーム/プロジェクトがセルフサービスでプロビジョニングできる仕組み作りが必要
  • 統制のルールと利用者が素早く開発できるバランスが難しい

 

### 用語

  • 製品
    • CloudFormation テンプレートをパッケージ化してユーザ(開発者)へ提供できる社内ポータル
    • バージョン管理が可能
  • ポートフォリオ
    • 製品の集合
    • ポートフォリオ単位でユーザに製品の使用を許可
    • 製品の使用方法の管理も可能
    • 他のAWSアカウントに共有することも可能
  • 制約
    • 製品のデプロイ方法を制御。ポートフォリオごとに各製品の制約を追加
    • テンプレート制約
      • 製品をデプロイする際に指定できるパラメータを制限
    • 起動制限
      • リソースをプロビジョニングするのに必要なロール。最小権限に保つのに役立つ
    • 通知制約
      • Amazon SNS トピックを使用してスタックのイベントに関する通知を受けることが可能になる
  • プロビジョニングされた製品

 

## ビュー

  • 管理者用
    1. ポートフォリオを作成する
    2. 製品を追加する
    3. 制約を追加する
    4. ポートフォリオへのアクセス権限の追加
  • エンドユーザー用
    1. 製品を見て、どの製品を起動するかを決める

 

## 各種機能

  • TagOption ライブラリ
    • ポートフォリオや製品に対してTagOption を指定し、製品起動時に指定したTagOption が引き継がれる仕組み
    • リソースのタグを統一的に付与するのに役立つ
  • アカウント間でのポートフォリオの共有
    • テンプレート制約、起動制約を継承できる
    • 共有されたポートフォリオをコピーして上書きすることも可能
  • エンドユーザに見せるGUIのカスタマイズ
  • 連携機能
    • Marketplace
    • ServiceNow

 

## 料金

 

## アーキテクチャーパターン

  • Hub-Spoke パターン
  • Consumer - Creator - Manager パターン
    • Consumer
      • 製品を閲覧し、利用する
    • Creator
      • リソース/自動化の管理者
      • Service Catalogの管理者権限
      • ログや監視のアラームダッシュボードの作成権限
    • Managers
      • AWS の管理者
  • Agile Governance パターン
    • 製品に対するテンプレート制約を動的に追加するパターン
    • 開発者が製品を追加するが、制約を動的に付与される

 

## 雑感

CloudFormation を社内で管理して、ユーザに利用しやすい形で提供するポータル。

CloudFormation 自体が単機能で完結していて、組み合わせることで実現できる場合や、製品単体で環境が実現できる場合に良さそう。製品が多くなりすぎるとコストがかかってくるため、細かくするときはだいたいの規模感を見積もっておかないとお金がかかりそう。

役割を明確化できて、管理する側と利用する側がはっきりするので統制と、役割に対しての集中ができそう。