-
ECS 에 Key Pair 를 추가하거나 변경하기기술/Infra 2021. 9. 24. 20:04
ECS 로 생성된 EC2 에 SSH 로 접속할 때 Key Pair 를 추가하거나 변경해야할 필요가 있습니다.
하지만 Key Pair 를 연결하려면 EC2 가 반드시 종료되어 있어야합니다.
ECS 는 EC2 를 종료시키면 새 EC2 를 원하는 개수를 유지하기 위해 새 EC2 를 띄우기 때문에 종료 하고 나서 직접 Key Pair 를 붙일 수 없습니다.
그럼 ECS 가 생성될 때 Key Pair 를 연결하는 부분을 찾아 설정해주면 된다고 예측했습니다. ( 생각보다 이 내용에 대한 자료가 없었습니다.. )
ECS 에 Key Pair 추가하기 ( + 변경하기 )
ECS 는 Cloudformation 에 의해 AWS 리소스를 생성하고 제어합니다.
때문에 Cloudformation 에서 EC2 를 생성할 때 어떻게 생성하는지에 대한 정보를 가지고 있기 때문에 그 부분을 수정하도록 합니다.
1. Cloudformation 의 스택 선택
변경할 스택을 선택합니다. 변경할 스택을 모른다면 이름이 ECS 의 이름으로 끝나는 것을 찾으면 됩니다.
2. 우측 상단의 업데이트 버튼 클릭
3. Designer 에서 템플릿 편집 클릭 후 Designer 에서 보기 버튼 클릭
4. 아래의 JSON, YAML 입력 칸을 확인하여 값을 추가해줍니다.
5. KeyPair 를 입력받을 수 있도록 파라미터를 추가합니다.
{ "Parameters": { "KeyName": { "Type": "AWS::EC2::KeyPair::KeyName", "Description": "Required - Name of an existing EC2 KeyPair to enable SSH access to the ECS instances" } } }
6. EcsInstanceLc.Properties 의 내용을 수정합니다.
{ "EcsInstanceLc": { "Condition": "LaunchInstances", "Type": "AWS::AutoScaling::LaunchConfiguration", "Properties": { "KeyName": { "Fn::If": [ "CreateEC2LCWithKeyPair", { "Ref": "KeyName" }, { "Ref": "AWS::NoValue" } ] } } } }
7. 저장한 후 다음 버튼을 클릭합니다.
8. 사용할 KeyPair 이름을 입력합니다.
9. 실행중인 EC2 를 죽입니다.
EC2 가 죽으면 설정에 따라 자동으로 EC2 가 생성되는데 이 때 설정한 KeyPair 를 사용하게 됩니다.
'기술 > Infra' 카테고리의 다른 글
Docker Build Time 개선기 (0) 2024.01.18 EC2 의 용량 확장하기 (0) 2021.09.24