## 📌 AWS EC2 프리티어 실습 ### 1. AWS 회원가입 (Sign up) - 가입 링크: https://signin.aws.amazon.com/signup?request_type=register - 주의: 신용카드로 100원 결제되지만, 이는 본인 인증용으로 곧바로 취소됨. <img width="600" alt="Image" src="https://github.com/user-attachments/assets/3cc1e62a-16ea-4ae6-a603-6e0333392257" /> <img width="600" alt="Image" src="https://github.com/user-attachments/assets/90dc8c4d-d9cb-4ceb-976a-40f2023b027c" /> <img width="600" alt="Image" src="https://github.com/user-attachments/assets/e77c939d-fe49-4e1b-8434-c95a40c864e8" /> <img width="600" alt="Image" src="https://github.com/user-attachments/assets/e4178bdf-0cd6-4d51-a72e-48c5d8e3f6a1" /> <img width="471" alt="Image" src="https://github.com/user-attachments/assets/6cf9be4d-0749-4970-b76c-865ab5a98795" /> <img width="1000" alt="Image" src="https://github.com/user-attachments/assets/c4f7d254-c375-45c8-ac6a-3fff3d2f7588" /> - EC2 클릭 <img width="1370" alt="Image" src="https://github.com/user-attachments/assets/a1ef18da-aeb5-4c4d-8808-6bdb95bd9697" /> ### 2. EC2 인스턴스 생성 1) EC2 콘솔 진입 - AWS 콘솔 로그인 → "EC2" 검색 및 클릭 - "인스턴스 시작" 클릭 2) 인스턴스 설정 - 운영 체제: Ubuntu Server 22.04 LTS 선택 - 인스턴스 유형: t2.micro (프리티어 대상) 3) 키 페어 생성 - 새 키 페어 생성 클릭 - 이름: my-key - 형식: PEM - 다운로드 후 안전한 경로에 보관 <img width="1460" alt="Image" src="https://github.com/user-attachments/assets/0710a389-4f9b-44e9-b84c-a789b4276542" /> <img width="921" alt="Image" src="https://github.com/user-attachments/assets/36eb7ade-7051-440a-8ca9-f004b1c451a9" /> <img width="925" alt="Image" src="https://github.com/user-attachments/assets/83726d6e-bd65-43e1-987d-34245c700ca6" /> - 새 키 페어 생성 클릭 <img width="600" alt="Image" src="https://github.com/user-attachments/assets/aecc91ea-8f14-4058-bce3-4af31c07509e" /> <img width="308" alt="Image" src="https://github.com/user-attachments/assets/56e6c894-8ffc-4b4b-88c9-1467907289a4" /> <img width="932" alt="Image" src="https://github.com/user-attachments/assets/5f6fa250-980a-4124-8238-c745f997f467" /> <img width="924" alt="Image" src="https://github.com/user-attachments/assets/21f6d69b-8641-49d9-9af3-8558903e5353" /> <img width="1461" alt="Image" src="https://github.com/user-attachments/assets/4a4dc26b-6700-4b74-b522-250680db9970" /> <img width="1211" alt="Image" src="https://github.com/user-attachments/assets/5564214e-7766-422a-91ff-ae15aca85e25" /> ### 3. SSH 클라이언트로 접속 준비 - Tabby 사용 예정 (PuTTY 대체 가능) - .pem 파일을 Tabby나 OpenSSH에서 직접 사용 가능 <img width="1447" alt="Image" src="https://github.com/user-attachments/assets/83bf7e82-761c-4988-aa45-f36bfb0c61d6" /> ### 4. 보안 권한 설정 및 SSH 접속 1) 터미널에서 해당 키 권한 설정 ```bash chmod 400 my-key.pem ``` 2) SSH 접속 명령어 ```bash ssh -i "my-key.pem" ubuntu@<EC2 퍼블릭 IP> ``` 예시: ```bash ssh -i "my-key.pem" ubuntu@ec2-54-180-102-84.ap-northeast-2.compute.amazonaws.com ``` - 최초 접속 시 yes 입력 - 접속 후 연결 확인: ```bash ping 8.8.8.8 ``` ### 5. 접속 확인 - SSH 연결이 되면 성공! - 이후 원하는 패키지 설치 및 서버 실습 가능 --- ## 📌 기존 boot-cloud-step1 프로젝트 Docker 배포 ### 1. EC2 인스턴스에 SSH 접속 ```bash ssh -i "my-key.pem" ubuntu@<EC2 퍼블릭 IP> ``` 예시: ```bash ssh -i "my-key.pem" ubuntu@ec2-54-180-102-84.ap-northeast-2.compute.amazonaws.com ``` ### 2. 프로젝트 클론 🔒 private 저장소인 경우 GitHub personal access token(PAT)을 사용해야 합니다. 1. [토큰 생성 링크](https://github.com/settings/tokens) - 권한: repo, read:packages 등 2. 클론: ```bash git clone https://github.com/soheeGit/boot-cloud-step1.git ``` ### 3. Docker 설치 (이미 설치했다면 생략) ```bash # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update ``` ```bash sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo docker run hello-world ``` 설치확인 ```bash docker --version docker compose version ``` ### 4. Docker 권한 설정 (한 번만 하면 됨) ```bash sudo gpasswd -a $USER docker sudo service docker restart sudo su - su - ubuntu ``` ### 5. boot-cloud-step1 빌드 및 실행 ```bash cd boot-cloud-step1 docker build -t boot-cloud-step1 . ``` 컨테이너 실행 ```bash docker run -d -p 80:8080 --name step1 boot-cloud-step1 curl ifconfig.me # 확인 ``` 정상 실행 확인: 브라우저에서 ```bash http://<EC2 퍼블릭 IP> ``` <img width="1395" alt="Image" src="https://github.com/user-attachments/assets/c460bd97-5b76-4021-a82c-8039d71e8961" /> - 인스턴스 종료, 중지시키고 싶다면 <img width="1206" alt="Image" src="https://github.com/user-attachments/assets/b568865f-bd03-4326-a0d5-16e69ea6ab2a" /> - 종료 후 찌꺼기들 삭제해야함. 아래 들어가서 전부 삭제하자 <img width="229" alt="Image" src="https://github.com/user-attachments/assets/bf1ff35a-08b6-476c-bdf2-d142fd8376cb" /> --- ## ✅ 참고 자료
📌 AWS EC2 프리티어 실습
1. AWS 회원가입 (Sign up)
2. EC2 인스턴스 생성
3. SSH 클라이언트로 접속 준비
4. 보안 권한 설정 및 SSH 접속
예시:
ssh -i "my-key.pem" ubuntu@ec2-54-180-102-84.ap-northeast-2.compute.amazonaws.com5. 접속 확인
📌 기존 boot-cloud-step1 프로젝트 Docker 배포
1. EC2 인스턴스에 SSH 접속
예시:
ssh -i "my-key.pem" ubuntu@ec2-54-180-102-84.ap-northeast-2.compute.amazonaws.com2. 프로젝트 클론
🔒 private 저장소인 경우
GitHub personal access token(PAT)을 사용해야 합니다.
3. Docker 설치 (이미 설치했다면 생략)
설치확인
4. Docker 권한 설정 (한 번만 하면 됨)
sudo gpasswd -a $USER docker sudo service docker restart sudo su - su - ubuntu5. boot-cloud-step1 빌드 및 실행
컨테이너 실행
docker run -d -p 80:8080 --name step1 boot-cloud-step1 curl ifconfig.me # 확인정상 실행 확인: 브라우저에서
✅ 참고 자료