はじめに
仕事でstackからNACL作成しているが、エントリーの一部が手動作成されている場面に遭遇。
手動作成されたエントリーをstack管理と出来るのかを確認したく、検証したもの。
備忘の意味も込めて検証結果を記載する。
◼️検証シナリオ
スタックで作成したNACLエントリーと手動作成したNACLエントリーが混在している状態。
この手動作成されたエントリーをスタック管理化とする。
・検証説明図
・Stackテンプレート(抜粋)
スタックで作成したNACLエントリー
InboundNetworkAclEntry10001:
Type: 'AWS::EC2::NetworkAclEntry'
Properties:
NetworkAclId: !Ref NetworkAcl
RuleNumber: '10001'
Protocol: '6'
RuleAction: allow
Egress: 'false'
CidrBlock: 0.0.0.0/0
PortRange:
From: '80'
To: '80'
OutBoundNetworkAclEntry10001:
Type: 'AWS::EC2::NetworkAclEntry'
Properties:
NetworkAclId: !Ref NetworkAcl
RuleNumber: '10001'
Protocol: '6'
RuleAction: allow
Egress: 'true'
CidrBlock: 0.0.0.0/0
PortRange:
From: '80'
To: '80'
・MCから現状設定を確認
10001がスタックで作成されたエントリー
10002が手動作成されたエントリー
※デフォルトのエントリーは、画像からは割愛
◼️検証
1.Stackテンプレート修正
手動作成したエントリーと同じ情報をStackテンプレートと同じになるように10002を追加
以下修正後のStackテンプレート(抜粋)
InboundNetworkAclEntry10001:
Type: 'AWS::EC2::NetworkAclEntry'
Properties:
NetworkAclId: !Ref NetworkAcl
RuleNumber: '10001'
Protocol: '6'
RuleAction: allow
Egress: 'false'
CidrBlock: 0.0.0.0/0
PortRange:
From: '80'
To: '80'
InboundNetworkAclEntry10002:
Type: 'AWS::EC2::NetworkAclEntry'
Properties:
NetworkAclId: !Ref NetworkAcl
RuleNumber: '10002'
Protocol: '6'
RuleAction: allow
Egress: 'false'
CidrBlock: 0.0.0.0/0
PortRange:
From: '22'
To: '22'
OutBoundNetworkAclEntry10001:
Type: 'AWS::EC2::NetworkAclEntry'
Properties:
NetworkAclId: !Ref NetworkAcl
RuleNumber: '10001'
Protocol: '6'
RuleAction: allow
Egress: 'true'
CidrBlock: 0.0.0.0/0
PortRange:
From: '80'
To: '80'
OutBoundNetworkAclEntry10002:
Type: 'AWS::EC2::NetworkAclEntry'
Properties:
NetworkAclId: !Ref NetworkAcl
RuleNumber: '10002'
Protocol: '6'
RuleAction: allow
Egress: 'true'
CidrBlock: 0.0.0.0/0
PortRange:
From: '443'
To: '443'
2.スタック更新
作成したテンプレートを使ってStack更新すると、スタック上は新規追加となる為、add扱いとなった。
Stack更新のイベント上は既存設定が削除されたり、エラーは表示されない。
3.マネージメントコンソールから設定確認
手動作成したエントリーが残っていることを確認。
※デフォルトのエントリーは、画像からは割愛
■検証結果
手動作成したエントリーをStackから上書きするように更新しても、一時的に既存設定が削除されたり、エラーで更新できないとはならず、更新可能であることが分かった。
自身の検証だけでは不安であった為、AWSサポートにも聞いてみると、処理としては手動設定したエントリーとStackが紐づくのみと回答あり。
さいごに
サービスによってStackの挙動は変わる為、都度検証は必要だと思う。
また検証する機会があれば、検証結果を記載したいと思う。