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認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する
RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …
-
-
Amazon Linux2のCloud9でPython CDKのモジュールインストール
AMIがCloud9AmazonLinux2-2021-02-02T16-48の …
-
-
PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる
JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …
-
-
Amazon InspectorによるLambda関数の脆弱性検出結果を確認しました
AWS re:Invent 2022期間内に発表されましたAmazon Insp …
-
-
Amazon API GatewayをLambda(Python)で削除する
やりたいこと 特定のAWSアカウント、特定のリージョン内のAPI Gateway …
-
-
AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録
日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …
-
-
WordPress、プラグインのアップデートしてBlue/Greenデプロイ
現在のブログの構成です。 WordPressとプラグインのアップデートをして、デ …
-
-
Microsoft TeamsのOutgoing Webhooksを使ってAWS Lambda(Python), Amazon API Gatewayとbot
Microsoft Teamsの検証その2、Slackで実装しているbotも対応 …
-
-
Amazon EC2 Auto Scalingのライフサイクルフック
EC2 Auto Scalingにライフサイクルフックという機能があります。 ス …
-
-
NGINXで500と502のエラーが実は頻発していたらしい
先日Mackerelで当ブログの外形監視を始めたのですが、500と502のエラー …


















