안녕하세요~ 서버 베포를 잘 하시고 계시나요?
docker가 뭐지 ? 이랬던게 별로 안지난 것 같은데..
우선, AWS에 Docker를 설치하는 이유부터 알아 볼까요?
Docker 장점
우선 AWS에 Docker를 설치하면 개발자와 관리자가 어떤 규모에서든
매우 안정적이며, 저렴한 방식으로 애플리케이션을 실행할 수 있어요. 코드를 원할하게 이동하고, 리소스 사용률을 높였기 때문이죠. 또한 Docker는 간단한 구문을 사용해서 안정적으로 실행할 수 잇는 단일 객체를 확보할 수 있어요!
2020년 11월 19일에는 Docker Compose를 통해 Amazon ECS 및 Docker Desktop에 애플리케이션을 배포할 수 있는 경로를 만들었습니다.
https://www.docker.com/blog/docker-compose-for-amazon-ecs-now-available/
즉, AWS를 통해 Docker의 사용은 권장된다고 생각해요!
Docker 작동 원리
도커는 '컨테이너' 라는 것을 위한 운영 체제예요. 가상 머신이 서버 하드웨어를 가상화하는 방식과 비슷하게 컨테이너는 서버 운영체제를 가상화 한답니다. (만약 Django를 해보셨다면 venv를 통해 가상화를 해보셨을 거예요~!)
이를 통해 원하는 시스템을 각각 격리된 시스템 환경에서 운영시킬수 있답니다.
추가로 AWS Fargate, Amazon ECS, Amazon EKS, AWS Batch와 같은 AWS 서비스를 이용하면 Docker 컨테이너를 대규모로 실행하고 관리 할수 있다고 해요!
이제 AWS를 통해 docker에 접속해 볼까요~
Docker 설치하기
로그인 및 콘솔 접속 합니다.
이후 지역을 설정합니다. 저는 한국에 사니깐 서울로 지정해주면 됩니다.
위 사진의 경로대로 따라가서 EC2 Management Console에 접속합니다.
이후, 인스턴스를 생성하기를 눌립니다.
이름은 자유롭게
OS는 저는 Ubuntu 20.04버전을 사용하겠습니다.
그리고 인스턴스 유형에서는 과금에 주의해 주세요!! 프리티어 사용가능 이라고 적힌 유형은 무료지만 무료버전은 배포 도중 자원 부족의 문제로 서버 다운이 될수도 있답니다..
이후 키페어를 생성합니다.
옆에 키 페어 생성을 눌러서 키페어 이름을 설정하고 생성을 합니다. (pem키의 저장위치는 정확하게 기억해두세요!!)
이후 네트워크 설정을 해야합니다.
규칙을 추가해서
유형에서 HTTP, HTTPS등을 결정하고 포트범위를 통해 포트의 범위를 설정할 수 있습니다.
소스 유형을 통해 접속 가능한 ip를 설정합니다. 이때 위치무관을 선택하면 어디서든 해당 포트로 접속할수 있습니다.(0.0.0.0)에 해당하죠
이후 스토리지를 구성합니다.
최대 30GB까지는 무료지만 이후는 과금되니 주의하세요!
이후 인스턴스 시작을 하면 성공화면이 뜹니다.
CLI를 통해 접속하려면 탄력적 ip가 필요합니다. 인스턴스 목록창을 통해 생성 인스턴스를 확인합니다.
기존에 존재하는 ip가 있는데 이는 퍼블릭 ip입니다. 하지만인스턴스를 중지했다가 다시 시작하면 이 ip는 변동되게 됩니다.
탄력적 ip생성을 위해 탬에서 탄력적 ip로 이동합니다. 그리고 할당을 합니다.
이후 이 탄력적 ip를 인스턴스에 연결합니다.
다시 탄력적 ip할당에 들어가서
ip 주소 연결을 눌려줍니다.
이전에 만든 인스턴스를 선택해 주고, 재 연결 허용여부 체크박스를 체크합니다.
SSH를 연결해볼까요~!
이제 진짜 AWS에 연결하는 거죠!! 다 됐어요
우선, pem키가 이전에 저장된 장소에서 git을 킵니다. (git bash가 없는 경우 git bash를 눌려서 설치해주세요~)
2022.12.15 - [Stack/Git] - 1. Git 설치하기
git bash에서
{키페어 이름.pem} ubuntu@{탄력적 ip}
를 킵니다. ubuntu@ip - secret ip가 뜨면 이제 세팅이 완료 된 것입니다.
이렇게 매번 pem키로 들어가는게 힘들다면 좀더 쉬운 방법인 밑에 글을 참고해 주세요 !!
MobaXterm을 사용하면 멀티 클라우드환경을 구축하거나, 키들을 관리하는데 용이하답니다.
2023.02.19 - [CI&CD/참고] - MobaXterm
참고 자료 : https://www.docker.com/blog/docker-compose-for-amazon-ecs-now-available/
'CI&CD > Docker' 카테고리의 다른 글
Forward Proxy와 Reverse Proxy란? (31) | 2024.05.03 |
---|---|
AWS에서 Docker 위에 Jenkins 설치(2) - docker 설치부터 jenkins로 자동배포까지 (0) | 2023.01.28 |