티스토리 뷰
728x90
1. EC2 Instance Connect
- ec2 ssh접속시 pem 파일을 이용하여 접속을 해야한다.
- 접속 할때마다 pem파일을 이용하여 접속하기 귀찮아 살펴보던중 찾아내어 설정 방법을 정리하고자 한다.
- Instance Connect 설정시 pem파일 없이 아래와 같이 간단한 명령어로 ec2 접속이 가능하다.
mssh ubuntu@[[ec2 인스턴스 아이디]]
1.1. 인스턴스에 EC2 Instance Connect 설치
- Amazon Linux 2 2.0.20190618 이상, Ubuntu 20.04 이상은 설치되어있으므로 건너뛰어도 된다.
- 아래 예시는 Ubuntu 18버전을 기반으로 진행함.
1.1.1. EC2 SSH 접속
ssh -i "[[pem 파일 경로]]" ubuntu@[[퍼블릭 IPv4 DNS 주소]]
1.1.2. 모든 패키지 업데이트
sudo apt-get update
sudo apt-get upgrade
1.1.3. Instance Connect 패키지를 설치
sudo apt-get install ec2-instance-connect
1.1.4. 설치 확인
sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
다음 두 줄이 포함되어 있으면 설치가 완료된것으로 간주한다.
- AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f
- AuthorizedKeysCommandUser ec2-instance-connect
1.2. EC2 Instance Connect의 IAM 권한 구성
- EC2 Instance Connect를 사용하여 인스턴스에 연결할 경우 퍼블릭 키를 인스턴스에 푸시하도록
권한(ec2-instance-connect:SendSSHPublicKey)을 부여해야 한다.
1.2.1. 정책 생성
- iam -> 정책 페이지 내의 정책 생성을 클릭한다.
- 아래 내용을 수정하여 입력하고 정책을 생성한다.
- account id의 경우 상단 계정정보에서 볼수있다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ec2-instance-connect:SendSSHPublicKey",
"Resource": "arn:aws:ec2:[[리젼명]]:[[account id]]:instance/[[ec2 인스턴스 아이디]]",
"Condition": {
"StringEquals": {
"ec2:osuser": "ubuntu" // 또는 ec2-user
}
}
}
]
}
1.2.2. 생성된 정책 사용자에게 부여
- 위에 생성된 정책을 iam 사용자에게 부여한다.
1.3. EC2 Instance Connect CLI 설치
- EC2 Instance Connect CLI는 단일 명령인 mssh를 통해 EC2 인스턴스에 연결할 수 있는 간소화된 환경을 제공한다.
pip3 install ec2instanceconnectcli
1.4. EC2 Instance Connect CLI를 통한 ec2 SSH 접속
- iam에 권한을 부여한 사용자로 aws cli를 접속후에 mssh를 통해서 ec2에 접속한다.
aws configure
mssh ubuntu@[[ec2 인스턴스 아이디]]
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-1060-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Mar 12 12:17:43 UTC 2022
....
....
....
2. EC2 Instance Connect의 원리
출처
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html
728x90
'개발도구 > aws' 카테고리의 다른 글
Ubuntu 18버전에서 Jenkins 설치 (0) | 2022.03.14 |
---|---|
Jenkins to AWS ECR (0) | 2022.03.12 |
AWS ECR - Docker Image Push (0) | 2022.03.11 |
댓글