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アドレスは表示されています。
これで使用することができます。
エンドユーザーに必要最小限の権限を設定することができました。
起動確認できたので、プロビジョニングされた製品を終了しました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
AWS Managed Microsoft ADを構築してユーザー追加まで
事前準備 DNSホスト名と名前解決を有効にしたVPCを作成して、2つのAZにパブ …
-
AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました
新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …
-
AWS Lambda(Python)からAmazon Connectで電話を発信する
自動で電話を発信する必要がありまして、電話発信APIを開発することになりましたの …
-
Microsoft TeamsのIncoming Webhooksを使ってAWS Lambda(Python)からFeedlyの記事を自動投稿する
Microsoft Teamsの検証を始めましたので、Slackで自動化している …
-
EC2スポットインスタンスの中断通知を受ける
オートスケーリンググループでEC2インスタンスをスポットインスタンスで使用してい …
-
WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する
当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Am …
-
IAMアクセス許可の境界でIAMロールの権限を制御する
IAMユーザー自身の権限はIAMポリシーで制御できますが、IAMユーザーにIAM …
-
AWS Cost Anomaly Detectionでコストモニターを作成しました
[ご利用開始にあたって]を押下しました。 このあと画面を説明してくれるツアーがあ …
-
AWS Summit 2016 Tokyoに参加してきました (Day3)
飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …
-
AWS Network Firewallの入門
公式のGetting started with AWS Network Fire …