0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CloudFormationを使ってセキュリティグループを作成する方法

Posted at

CloudFromationとは

CloudFormationはプログラミング言語やYAML,JSONを使用してAWSリソースを構築出来るサービスです。
AWS環境をテンプレート化しておくことで、同じ環境を作成する時間を削減することができます。

今回はYAMLで作成していきますので、JSONに変換したい方は次の記事をご参照下さい。
YAMLからJSONに変換する方法

構成

スクリーンショット 2022-11-26 18.38.43.png

完成したテンプレート

テンプレート
AWSTemplateFormatVersion: 2010-09-09

Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      -
        Label:
          default: SecurityGroup
        Parameters:
          - SgName1
          - VpcId
          - SgIngFromPort1
          - SgIngCidrIp1
          - SgIngFromPort2
          - SgIngCidrIp2

Parameters:
  SgName1:
      Type: String
      Default: 'SgName1'  

  VpcId:
      Type: AWS::EC2::VPC::Id
  
  SgIngCidrIp1:
      Type: String
      Default: '0.0.0.0/0'  

  SgIngFromPort1:
    Type: String
    Default: '80' 

  SgIngCidrIp2:
    Type: String
    Default: '0.0.0.0/0' 

  SgIngFromPort2:
    Type: String
    Default: '22' 

Resources:   
  InstanceSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupName: !Ref SgName1
      GroupDescription: Allow http to client host
      VpcId: !Ref VpcId
      # アウトバウンド設定(フルオープン)
      SecurityGroupEgress:
        - CidrIp: 0.0.0.0/0
          IpProtocol: -1
      # インバウンド設定
      SecurityGroupIngress:
        - CidrIp: !Ref SgIngCidrIp1
          FromPort: !Ref SgIngFromPort1
          IpProtocol: tcp
          ToPort: !Ref SgIngFromPort1
        - CidrIp: !Ref SgIngCidrIp2
          FromPort: !Ref SgIngFromPort2
          IpProtocol: tcp
          ToPort: !Ref SgIngFromPort2

構築手順

1 スタックの新規作成

AWS CloudFormation管理コンソールから、スタックの作成をクリックし、[新しいリソースを使用(標準)]を選択。
スクリーンショット 2022-11-22 20.44.17.png

2 テンプレートアップロード

[スタックの作成]で、[テンプレートの準備完了]を選択し、[テンプレートファイルのアップロード]>
[ファイルの選択]で、テンプレートを選択。
スクリーンショット 2022-11-22 20.45.18.png

3 パラメータ入力

各パラメータを入力します。スタックの名前は任意の名前を入れる
スクリーンショット 2022-11-26 18.45.36.png

パラメータの詳細

今回はSGのインバウンドをHTTPとSSHを許可する設定を想定しております。

パラメータ名 用途 備考
SgName1 SGの名前 例:SG-EC2
VpcId SGを配置するVPC VPCIDをプルダウンで選択
SgIngFromPort1 インバウンドで許可するポート 例:80
SgIngCidrIp1 インバウンドで許可するCIDR 例:0.0.0.0/0
SgIngFromPort2 インバウンドで許可するポート 例:22
SgIngCidrIp2 インバウンドで許可するCIDR 例:0.0.0.0/0

4 CloudFormation詳細設定

次へを選択。CloudFormationの詳しい設定について次の記事をご覧下さい。
CloudFormationの詳しい設定について

5 最終確認

最終確認を行い送信を選択
スクリーンショット 2022-11-22 22.02.32.png

6 正常終了確認

ステータスがCREATE_COMPLETEになったらスタック正常終了です。
スクリーンショット 2022-11-26 19.36.39.png

公式ドキュメント

CloudFormation セキュリティグループ AWS公式ドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?