0

私は、うまくいくはずだと信じていることがなぜうまくいかないのか、ずっと調べてきました。ここに内訳があります

  • セキュリティグループにパブリックに割り当てられた IP を持つ要塞があり、すべての送信トラフィックが有効になっています。これも、質問のポイントのようなものです:
  FooSSHIngress:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      IpProtocol: tcp
      FromPort: 22
      ToPort: 22
      GroupId:
        Fn::ImportValue: !Sub "${FooStackName}-AdminSecurityGroup"
      SourceSecurityGroupId: !Ref BastionSecurityGroup
      Description: Enables SSH to FooService

だから私はからの接続がfroBastionSecurityGroup@22と呼ばれる別のセキュリティグループに到達できるようにしようとしています。AdminSecurityGroupFooStack

AdminSecurityGroup以下で見つけることができます。は明らかに空ですが、ご容赦ください。ポイントは、SSH アクセスを有効にするためにどこかにリンクできるセキュリティ グループを用意することでした。

  AdminSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: >-
        For FooService admin access.
        Grants access to EC2 instances over SSH.
      VpcId:
        Fn::ImportValue: !Sub "${VpcStackName}-VPCId"

とにかく、上記のグループは後で SecurityGroup にリンクされ、最終的にで参照されAWS::EC2::LaunchTemplateます。その定義は次のとおりです。

  ServerSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Enable Client and Admin access
      VpcId:
        Fn::ImportValue: !Sub "${VpcStackName}-VPCId"
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: !Ref ClientPort
          ToPort: !Ref ClientPort
          SourceSecurityGroupId: !Ref ClientSecurityGroup
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          SourceSecurityGroupId: !Ref AdminSecurityGroup

ご覧のClientSecurityGroupとおり、同じパターンに従うものもあります。

最後に、質問は次のとおりです。

  1. それは理にかなっていますか?
  2. うまくいかないのはなぜですか?私の知る限り、このようなセキュリティ グループを使用すると、ENI を介してトラフィックがルーティングされるはずです。しかし、どういうわけかそうではありません。
  3. おもしろいのAdminSecurityGroupServerSecurityGroup、 for bastion に差し替えれば接続可能。明らかに、その後にAdminSecurityGroupand ClientSecurityGroupfromが削除されFooStackます (もうそれらを使用しても意味がありません)。
  4. Fooのすべてのセキュリティ グループが の内部で参照されている場合、すべてが開始されるのはなぜLaunchTemplateですか?
4

0 に答える 0