CloudFromationとは
CloudFormationはプログラミング言語やYAML,JSONを使用してAWSリソースを構築出来るサービスです。
AWS環境をテンプレート化しておくことで、同じ環境を作成する時間を削減することができます。
今回はYAMLで作成していきますので、JSONに変換したい方は次の記事をご参照下さい。
YAMLからJSONに変換する方法
構成
完成したテンプレート
テンプレート
AWSTemplateFormatVersion: 2010-09-09
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
-
Label:
default: IamRole
Parameters:
- RoleName1
- PrincipalService
- ManagedPolicyOne
Parameters:
RoleName1:
Type: String
Default: 'RoleName1'
PrincipalService:
Type: String
Default: 'ecs.amazonaws.com'
ManagedPolicyOne:
Type: String
Default: 'arn:aws:iam::aws:policy/AdministratorAccess'
Resources:
RootRole1:
Type: 'AWS::IAM::Role'
Properties:
RoleName : !Ref RoleName1
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- !Ref PrincipalService
Action:
- 'sts:AssumeRole'
Path: /
ManagedPolicyArns:
- !Ref ManagedPolicyOne
構築手順
1 スタックの新規作成
AWS CloudFormation管理コンソールから、スタックの作成をクリックし、[新しいリソースを使用(標準)]を選択。
2 テンプレートアップロード
[スタックの作成]で、[テンプレートの準備完了]を選択し、[テンプレートファイルのアップロード]>
[ファイルの選択]で、テンプレートを選択。
3 パラメータ入力
各パラメータを入力します。スタックの名前は任意の名前を入れる
パラメータの詳細
パラメータ名 | 用途 | 備考 |
---|---|---|
RoleName1 | IAMロールの名前 | 例:RoleForEcs |
PrincipalService | IAMロールを使用するサービス | 例:ecs.amazonaws.com |
ManagedPolicyOne | マネージドのIAMポリシーのARN | 例:arn:aws:iam::aws:policy/AdministratorAccess IAMポリシーのARNを特定する方法 |
4 CloudFormation詳細設定
次へを選択。CloudFormationの詳しい設定について次の記事をご覧下さい。
CloudFormationの詳しい設定について
5 最終確認
6 正常終了確認
ステータスがCREATE_COMPLETEになったらスタック正常終了です。