AWS Systems Manager - Session Manager (W terraform)

흔히 VPC, Subnets 을 설계할 때 Public Subnet 과 Private Subnet 의 형태로 구성이 된다. Public Subnet 의 경우 Load Balancer 혹은 web internet facing 자원들을 배치하게 되고, Private Subnet 의 경우 RDS 나 back-end application 을 배치하게 된다. Private Subnet 의 경우 Public Subnet 과는 다르게 Internet 을 통해서 직접 연결을 할 수 없기 때문에 추가의 작업이 필요하다. 예를 들어, Private Subnet 에 있는 Database 작업을 위해서 접속해야한다. 1. Bastion Host - Public Subnet 에 Bastion Host 를 구성하여 Bastion Host 를 통해서 Private Subnet 의 자원에 접속하고 관리한다. Bastion Host 의 경우 별도로 관리해야할 EC2 혹은 VM 이 증가하게 되는 단점이 있다. 2. VPN - VPN 은 비교적 Bastion Host 나 Security Group 설정에 비해서 비용이 많이 든다. 각각의 장단점이 있기 때문에 상황에 맞게 사용해야 한다. 위의 방법 말고 AWS Session Manager 를 이용할 수 있다. AWS Session Manager 는 AWS Systems Manager 라는 서비스의 속한 기능으로 EC2 혹은 온프레미스 환경의 VM 들을 관리할 수 있는 기능이다. Session Manager 가 동작하는 원리는 SSM Agent 를 통해서 Session Manager 와 통신한다. 따라서 접속하려는 EC2 혹은 온프레미스 환경의 VM 에 SSM Agent 가 설치되어야 한다. 또한 EC2 에 적절한 instance profile 이 설정 되어 있어야한다. - AmazonSSMManagedInstanceCore - AmazonSSMDirectoryServiceAccess 그리고 EC2 의 user da...