Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 정규식 문자열 출력
- c3 초
- InfluxDB
- 정규식 컴파일
- semanage
- influxdb 설치
- CentOS7
- g++ 업데이트
- python subprocess
- c3 축 가리기
- linux시간으로 변경
- 1697
- c3 축 없애기
- python os
- selinux port 등록
- snmp test
- subporcess path
- gcc 업데이트
- 정규식 활용
- c3 step graph
- 백준
- regex_search
- snmp
- c3 second
- c++ 정규식
- grafana dashboard
- telegraf
- centos pyhon 설치
- gcc regex
- python popen
Archives
- Today
- Total
리셋 되지 말자
[CSAPI] rabbitmq 인스턴스 생성 본문
AMI 준비
amazon linux를 만들고 docker, docker-compose 만 설치된 상태의 AMI를 생성
sudo amazon-linux-extras install docker
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker ec2-user
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
IAM 계정 생성
아래 3가지의 권한만 부여한 IAM 사용자를 추가하여 access key, secret key를 확인한다. 3가지 권한으로는 ecr login, image pull 작업만 가능하다.
ECR에 이미지 준비
rqbbitmq:3 이미지를 push 해놓은 상태에서 진행
인스턴스 생성 시, rabbitmq 컨테이너 실행
- 사용자 데이터 입력 단계
- 입력하는 데이터 예시
#!/bin/bash
export AWS_ACCESS_KEY_ID=<IAM 엑세스키>
export AWS_SECRET_ACCESS_KEY=<IAM 시크릿키>
export AWS_DEFAULT_REGION=ap-northeast-2
echo "export AWS_ACCESS_KEY_ID=<IAM 엑세스키>" >> /etc/bashrc
echo "export AWS_SECRET_ACCESS_KEY=<IAM 시크릿키>" >> /etc/bashrc
echo "export AWS_DEFAULT_REGION=ap-northeast-2" >> /etc/bashrc
echo "aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com" >> /etc/bashrc
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com
docker run -d -p 5672:5672 -e RABBITMQ_USER=guest -e RABBITMQ_PASSWORD=guest--name rabbit <계정 ID>.dkr.ecr.ap-northeast-2.amazonaws.com/rabbitmq:3
이렇게 하는 이유는 입력한 사용자 데이터가 root 계정으로 실행되기 때문이다. 그래서 서비스 버전 업데이트 등의 이유로 인해 ec2-user로 접속했을 때, ec2-user 계정에서 ECR Private registry에서 이미지를 pull 받을 수 있도록 하기 위함이다.
더 우아한 방법이 있겠지만 지금은 이렇게 하는게...
보안그룹 지정
rabbitmq 서비스를 위해 5672 port, 나머지 작업을 위해 80 443 22 port를 보안그룹에 지정하여 열어준다.
서비스 동작 확인
현재 완성된 구성도
'프로젝트' 카테고리의 다른 글
[CSAPI] nginx 코드작성 및 이미지 생성 (0) | 2021.12.10 |
---|---|
[CSAPI] s3 endpoint 추가 (0) | 2021.12.01 |
[CSAPI] AWS 아키텍처 설계 (0) | 2021.11.28 |
[nCloud] boto3 - Object Storage에 Image Upload (0) | 2021.11.22 |
celery 분산작업 오류 해결 (0) | 2021.11.22 |
Comments