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
関連記事
-
AWS Lambda(Python)でDynamoDB テーブルを日次で削除/作成(オートスケーリング付き)
この記事はAWS #2 Advent Calendar 2018に参加した記事で …
-
IAMアイデンティティセンター(IIC)のList Assignment APIを確認しました
やりたいことは、IAMアイデンティティセンター(IIC)のユーザー名をキーにして …
-
Amazon Route 53 Resolverを設定確認
Route 53 Resolverを設定しました。 東京リージョンのVPCをオン …
-
AWS AmplifyでTodoアプリを作るハンズオンをやってみました
【お手軽ハンズオンで AWS を学ぶ】AWS Amplify で Todo アプ …
-
Amazon Linux 2023からAWS CLIをアンインストールする
AWS CLIのない検証用EC2 Linuxが欲しかったのでアンインストールしま …
-
AWS BackupでRDSスナップショットをクロスリージョンコピー
クロスリージョンでコピーしたい対象と理由 このブログはブログのアーキテクチャをコ …
-
AWS Service CatalogポートフォリオをOrganizations組織で共有する
AWS Service Catalogチュートリアルで作成したポートフォリオのO …
-
AWS IAMのMFA「エンティティは既に存在しています」に対応しました
エンティティは既に存在しています MFA Device entity at th …
-
AMIをOrganizations組織で共有しました
よく使うAMIをOrganizations組織内のリソースパブリッシュ用のアカウ …
-
Amazon EMR 「Hadoop を使用してビッグデータを分析」チュートリアルをやってみました
AWS認定データアナリティクス受験準備の一環で、Amazon EMRのチュートリ …