소개
짧은 프로필을 수정하고 SCP로 EC2에 전송하여 실제 웹페이지의 변경을 확인합니다.
앞선 포트폴리오 실습을 먼저 완료하세요. 새 환경에는 앞 단계의 기능과 별도 리소스가 준비되어 있습니다. 이전 서버, 파일이나 자격 증명을 보관할 필요가 없습니다.
자격 시험과 연결
| 자격 | 시험 과제 | 실습 내용 |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.3 | EC2 앱을 운영하며 로컬과 원격 파일을 구분합니다. |
실습 개요

로컬 프로필 준비하기
이 단계에서는 먼저 Alex Morgan 페이지를 확인합니다. 로컬은 LabEx의 파일, 원격은 EC2의 파일입니다. 로컬 수정은 자동으로 게시되지 않습니다.
프로젝트 폴더로 이동합니다.
cd /home/labex/project
name은 내비게이션과 푸터, headline은 큰 제목, about은 짧은 설명입니다. 원래 프로필은 JSON 문자열 안의 \n으로 줄을 바꿉니다. 연습 제목은 한 줄입니다.
cat profile.json
cat >는 파일에 씁니다. here-document의 JSON 시작과 끝 표식을 모두 복사하여 세 항목을 작성합니다.
cat > profile.json <<'JSON'
{
"name": "Sam Rivera",
"headline": "Design with purpose.",
"about": "Brand identities and digital experiences."
}
JSON
파일을 읽고 값을 확인합니다.
cat profile.json
페이지를 새로고침해도 아직 Alex Morgan입니다. 검사에는 지정된 연습 값을 사용하고 완료 후 개인 문구를 시도할 수 있습니다.
프로필 게시하고 확인하기
이 단계에서는 SCP는 암호화된 SSH 연결로 파일을 전송합니다. ssh_config에 키와 경로가 준비되어 있으므로 비밀 키를 읽거나 복사하지 않습니다.
source로 공개 가능한 식별자를 읽고 PUBLIC_IP를 AWS View와 비교합니다. $PUBLIC_IP는 저장된 값을 사용하고 따옴표로 하나로 묶습니다.
source website.env
echo "$PUBLIC_IP"
-F는 연결 설정, ubuntu는 원격 사용자, 콜론 뒤는 대상 경로입니다. 프로필을 전송합니다.
scp -F ssh_config profile.json ubuntu@"$PUBLIC_IP":/home/ubuntu/portfolio/profile.json
페이지를 새로고침한 뒤 SSH의 원격 명령으로 게시된 파일을 읽습니다.
ssh -F ssh_config ubuntu@"$PUBLIC_IP" cat /home/ubuntu/portfolio/profile.json
첫 연결에서 호스트 키 안내가 나올 수 있고100%는 복사 완료를 뜻합니다. 새로고침하면 Sam Rivera, Design with purpose.와 Brand identities and digital experiences.가 표시됩니다. 요청마다 프로필을 읽어 재시작은 필요 없습니다. 이전 내용이면 주소, 경로와 전송을 확인하세요.

서버 정리하기
이 단계에서는 게시 결과를 확인한 후 인스턴스를 종료합니다.
ID를 AWS View와 비교합니다.
echo "$INSTANCE_ID"
이 인스턴스만 종료합니다.
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
terminated를 기다립니다.
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
사이트가 실행되지 않음을 확인하고 네트워크와 키를 유지합니다.
요약
JSON 프로필을 만들고 SCP로 게시한 뒤 원격 파일과 페이지를 확인하고 서버를 종료했습니다.
공식 문서: Connect to a Linux instance with SSH, transfer files to an instance.



