페이지 목차
이 페이지에서 검색
AWS 실습 — AI 서비스 배포와 운영
이 페이지에 묻기
이 AWS 과정 본문에서만 찾아 답합니다. 답을 지어내지 않고 해당하는 대목을 그대로 보여 주며, 여기에 없으면 없다고 알려 드립니다.
생성형 AI가 아니라 이 페이지 본문을 찾아 그대로 보여 주는 방식입니다. 외부로 나가는 요청이 없습니다.
AWS · 클라우드 실습
AWS 실습 — AI 서비스 배포와 운영
작동하는 Reference Build에서 시작해, 자신의 AI 서비스를 AWS에 직접 배포하고 운영하는 역량을 익히는 과정입니다. Taylor의 가이드를 따라 배포, 운영, 리스크 관리를 함께 다룹니다.
생성 수정
01 · Build — 클라우드에 배포하기
로컬에서 동작하는 프로젝트의 구성과 실행 조건을 파악하고, AWS 환경에서 직접 실행하는 흐름을 학습합니다.
- 계정·리전·네트워크의 역할과 서비스 구성 이해
- EC2와 Docker를 활용한 애플리케이션 배포 흐름
- S3를 활용한 파일 저장과 애플리케이션 설정 분리
02 · AWS EC2 개별 SSH 키 기반 다중 사용자 접속 가이드

하나의 AWS EC2 인스턴스에서 개별 SSH 키를 사용하여 보안성을 유지하면서 여러 개발자가 안전하게 접속 환경을 구축하는 통합 가이드입니다.
2.1. 권장 구조 개요
동일한 *.pem 키 공유 방식 대신, 각 개발자가 자신의 노트북에서 독립된 SSH 키 쌍(Key Pair)을 생성하고, EC2 서버의 ~/.ssh/authorized_keys 파일에 각각의 공개키(Public Key)를 추가하는 구조를 적용합니다.
| 구분 | 공유 PEM 키 방식 (비권장) | 개별 SSH 공개키 등록 방식 (권장) |
|---|---|---|
| 보안성 | 키 유출 시 전체 접근 권한 위험 | 개별 키 무효화 및 유출 최소화 가능 |
| 접속 이력 및 추적 | 사용자 추적 불가능 | 키 식별자(Comment)를 통한 추적 용이 |
| 퇴사/권한 제거 | 전체 PEM 키 재발급 필요 | 해당 개발자의 공개키 1줄만 삭제 |
2.2. 1단계: 개발자별 SSH 키 쌍 생성 (개별 개발자 작업)
각 개발자는 본인의 로컬 터미널(Mac/Linux Terminal 또는 Windows PowerShell/Git Bash)에서 아래 명령어를 실행하여 전용 SSH 키 쌍을 생성합니다.
ssh-keygen -t ed25519 -C "developer_name@email.com"
# 또는 RSA 방식을 사용할 경우:
# ssh-keygen -t rsa -b 4096 -C "developer_name@email.com"
- 키 저장 경로 묻기: 기본값 사용 (Enter 입력)
- Passphrase 묻기: 추가 보안을 위한 비밀번호 설정 (선택 사항)
생성 완료 후 .pub 확장자가 붙은 공개키 파일의 내용을 확인합니다.
cat ~/.ssh/id_ed25519.pub
# 출력 예시: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... developer_name@email.com
주의: .pub 파일(공개키)만 서버 관리자에게 공유해야 하며, 확장자가 없는 개인키 파일(예: id_ed25519)은 절대로 외부에 공유해서는 안 됩니다.
2.3. 2단계: EC2 서버에 개발자 공개키 등록 (관리자 작업)
초기 관리자(기존 PEM 키 소지자)가 EC2 인스턴스에 접속하여 각 개발자의 공개키를 등록합니다.
Step 1: EC2 인스턴스 접속
ssh -i /path/to/original-key.pem ubuntu@<EC2-PUBLIC-IP>
# OS에 따라 계정명이 달라질 수 있습니다. (예: ubuntu, ec2-user, debian 등)
Step 2: authorized_keys 파일 편집
nano ~/.ssh/authorized_keys
Step 3: 개발자 공개키 추가
각 개발자로부터 전달받은 공개키(id_ed25519.pub 또는 id_rsa.pub 파일의 전체 내용)를 줄바꿈 형태로 authorized_keys 파일 하단에 각각 붙여넣습니다.
# 기존 접속 키
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ... original-aws-key
# 개발자 1 공개키
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... dev1@company.com
# 개발자 2 공개키
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... dev2@company.com
# 개발자 3 공개키
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... dev3@company.com
Step 4: 권한 및 설정 확인
보안 권한 설정이 올바르게 맞춰져 있는지 확인합니다.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2.4. 3단계: 각 개발자 접속 및 로컬 SSH Config 설정
기본 접속 명령
각 개발자는 자신의 로컬 터미널에서 다음 명령어로 EC2 인스턴스에 바로 접속할 수 있습니다.
ssh ubuntu@<EC2-PUBLIC-IP>
접속 편의성을 위한 SSH Config 설정 (선택 사항)
매번 IP 및 계정명을 입력하는 불편함을 줄이기 위해 각 개발자의 로컬 PC에 있는 ~/.ssh/config 파일을 설정합니다.
nano ~/.ssh/config
다음 내용을 작성합니다:
Host my-ec2-server
HostName <EC2-PUBLIC-IP>
User ubuntu
IdentityFile ~/.ssh/id_ed25519
설정 후에는 아래의 단축 명령어로 바로 접속할 수 있습니다:
ssh my-ec2-server
2.5. 보안 관리 및 유지보수 가이드
- 개발자 퇴사 또는 키 변경 시: ~/.ssh/authorized_keys 파일에서 해당 개발자의 공개키 줄만 삭제하면 즉시 접근 권한이 차단됩니다.
- OS 계정 분리가 필요한 경우: 모든 개발자가 하나의 공용 계정(ubuntu 또는 ec2-user)을 공유하는 대신, 필요 시 adduser 명령어로 개별 계정을 생성하여 각각의 /home/user_name/.ssh/authorized_keys에 공개키를 배치할 수 있습니다.
03 · Operate — 상태를 관찰하고 개선하기
- CloudWatch로 로그·지표를 확인하고 오류 원인 추적
- 변경 사항 재배포, 이전 버전 복구, 데이터 백업 계획
- 사용 기록을 바탕으로 지식·Prompt·Tool·Workflow 개선
04 · Manage Risk — 권한·데이터·비용 관리
- IAM 권한과 비밀정보 관리, 외부 공개 범위 점검
- AWS Budgets로 예산과 알림 설정, 실습 자원 정리
- 공개·더미 데이터로 학습하고, 실제 데이터는 보안 조건을 검토한 뒤 자신의 환경에서 직접 연결
LangTailor