라벨이 aws인 게시물 표시

(AWS) ElasticBeansTalk 로 도커 컨테이너 배포하기

1. Single Container인 경우 Dockerfile 을 생성하여 이미지를 사용자 지정하고 Docker 컨테이너를 Elastic Beanstalk에 배포합니다. Dockerrun.aws.json  파일을 생성하여 기존 Docker 이미지에서 Elastic Beanstalk으로 Docker 컨테이너를 배포합니다. 애플리케이션 파일, 모든 애플리케이션 파일 종속성,  Dockerfile  및  Dockerrun.aws.json  파일이 포함된  .zip 파일을 만듭니다.  Dockerfile  또는  Dockerrun.aws.json  파일만 사용하여 애플리케이션을 배포하는 경우 파일을 .zip 파일로 압축할 필요가 없습니다. 2. MultiContainer인 경우 docker-compose.yml 을 Dockerrun.aws.json 으로 변경한다. 이를 쉽게해주는 pip 라이브러리가 존재한다. (https://container-transform.readthedocs.io/en/latest/) ElasticbeansTalk 생성시 멀티 컨테이너로 옵션을 변경하여 생성한다. 그후 생성한 Dockerrun.aws.json파일을 업로드 한다. 업로드가 되더라도, 로그를 보게되면 에러로그가 있을 수 있다. 이는 외부에서 도커 컨테이너로 접속시 아이피 주소를 인식하지 못하는 경우이다. 이를 위해 다음과 같이 변경한다. localhost:9092 -> 생성한 (url):(port번호) (외부 접속시) 참고 사이트 : https://rmoff.net/2018/08/02/kafka-listeners-explained

(Aws) SSH키페어를 이용한 계정관리

SSH키페어는 ssh-keygen이라는 프로그램으로 만들 수 있다. 내 PC의 이름이 my-pc이고 접근하려는 서버의 이름이 remote-pc라고 가정하자. 다음과 같이 rsa키를 만들 수 있다. 예) my-pc # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/aaa/.ssh/id_rsa) : remote-pc Enter passphrase (empty for no passphrase) 다음과 같이 실행하면 작업 디렉토리에 remote-pc와 remote-pc.pub 파일이 생긴다. remote-pc가 개인키이고, remote-pc.pub이 공용키이다. 이 공용키를 접근하려는 운영체제의 유저 홈 디렉토리에 복사하면된다. remote-pc에 test라는 계정으로 접근하고 싶으면 test계정을 만든 다음 .ssh디렉토리에 authorize_keys파일을 만들고 여기에 id_rsa.pub파일의 내용을 추가하면된다. remote-pc # adduser test remote-pc # cd /home/test remote-pc # mkdir .ssh remote-pc # cat remote-pc.pub >> ./ssh/authorized_keys 이제 개인키 파일을 이용해서 remote-pc에 접근 할 수 있다. remote-pc # ssh -i remote-pc test@remote-pc