AWS Service Catalogチュートリアル
AWS Service Catalog 開始方法のチュートリアルにそってみました。
目次
ポートフォリオの作成
AWS Service Catalogでは、ポートフォリオを作成して、そのポートフォリオに対して、製品追加、制約設定、使用できるユーザー設定をします。
チュートリアルにそって、”エンジニアリングツール”というポートフォリオを作成しました。
EC2インスタンスを直接操作することができない開発者が、Service Catalog経由で開発用のLinuxサーバーを起動するというシナリオです。
製品の作成
作成したポートフォリオに製品を作成します。
[新しい製品のアップロード]ボタンを押下しました。
チュートリアルにそって、製品情報を入力しました。
チュートリアル用に用意されたCloudFormationテンプレートをダウンロードしておいて、Service Catalog製品ページでアップロードします。
サポート情報を入力して、製品作成は完了です。
テンプレート制約の追加
[制約を作成]ボタンを押下しました。
製品を選択して、制約タイプは、[テンプレート]を選択しました。
テキストエディタで、こちらのルールを記述しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "Rules": { "Rule1": { "Assertions": [ { "Assert" : {"Fn::Contains": [["t2.micro", "t2.small"], {"Ref": "InstanceType"}]}, "AssertDescription": "Instance type should be t2.micro or t2.small" } ] } } } |
インスタンスタイプに、t2.microか、t2.smallしか選択できないようにする制約です。
起動制約の追加
チュートリアルに記載のこちらのポリシーをアタッチした、Service Catalog向けのIAMロールを作成しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:GetTemplateSummary", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "cloudformation:UpdateStack", "ec2:*", "s3:GetObject", "servicecatalog:*", "sns:*" ], "Resource": "*" } ] } |
このポリシーの権限でCloudFormationのテンプレートに含まれているEC2とセキュリティグループが作成できます。
制約タイプで[起動]を選択しました。
作成しておいたIAMロールを選択しました。
製品を作成できるユーザーを設定
[グループ、ロール、およびユーザー]作成でユーザーを選択しました。
ベストプラクティスとしてはグループでしょうね。
Service Catalog エンドユーザー想定のIAMユーザーで確認
該当のIAMユーザーにAWSServiceCatalogEndUserFullAccessポリシーをアタッチして、Service Catalogにアクセスしました。
製品の一覧に対象の製品が見えています。
製品を選択して起動すると、インスタンスタイプが制約によって、t2.micro、t2.smallしか選択できないことがわかりました。
パラメータのセキュリティグループのソースIPレンジを設定して起動しました。
製品が起動して、[プロビジョニングされた製品]に表示されています。
製品を起動したユーザーでEC2コンソールを見てみると、権限がないのでAPIエラーとなります。
ですが、製品の詳細を確認すると、接続先のDNSやIPアドレスは表示されています。
これで使用することができます。
エンドユーザーに必要最小限の権限を設定することができました。
起動確認できたので、プロビジョニングされた製品を終了しました。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
i【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
LINE Bot APIのファーストステップをLambda+API Gatewayでやってみたらものすごく簡単で驚いた
トライアル当初はホワイトリストのしばりや、初回反応するまで時間がかかったりとみな …
-
-
「関西AWSスタートアップ勉強会」に行ってきました
第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …
-
-
AWS Summit 2016 Tokyoに参加してきました (前日 ~ Day1)
AWS Summit 2016 Tokyoにて、セッション聴講、ブース展示拝見、 …
-
-
API GatewayのアクセスログをCloudWatchに記録する
Amazon API GatewayのアクセスログをCloudWatchに記録で …
-
-
Amazon Data Lifecycle Manager(DLM)が東京リージョンで使えるようになったのでLambdaでAMI自動取得から乗り換えた
EBSのスナップショットを自動で作成してくれるAmazon Data Lifec …
-
-
Backlogの実績工数をAmazon QuickSightで可視化してわかったこと
今年に入ってから、Backlogで個人タスクを登録しだして、予定工数、実績工数を …
-
-
特定AWSアカウント特定リージョンのCloud9環境を削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloud9環境を全部削除したい …
-
-
スポットインスタンスの削減額情報を見ました
なんだこれ?と思って、検索してみたら、2018年11月からあったのですね。 Am …
-
-
ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする
「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …
-
-
AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)
EC2インスタンスを作成する 少し古い記事で恐縮ですが試したい事があるのでAWS …