본문 바로가기
반응형

aws34

서로 다른 EC2 인스턴스간에 연결하기 (feat. Ping) 서로 다른 EC2 인스턴스간에 통신이 필요할때가 있습니다. 앤서블을 통한 전체 명령어 수행 쉘 스크립트 혹은 젠킨스를 통한 명령어 수행 등등 외부에서 ssh 혹은 scp 명령어 수행 등이 필요한 상황입니다. 기본적으로는 해당 EC2의 IP를 보안 그룹에 추가하는 걸로 해결이 됩니다. 다만 이 방식은 IP가 변경 되면 무용지물이 됩니다. 오토 스케일링 그룹 (ASG) 으로 신규 추가된 서버들 빈스톡 (Beanstalk) 으로 신규 추가된 서버들 EIP (탄력적 IP) 를 사용하지 않는 서버의 재부팅 이런 경우 매번 보안 그룹에 신규 IP를 추가해야만 합니다. 이 과정이 너무 귀찮으니 다른 해결책을 진행해보겠습니다. 1. 환경 먼저 2개의 EC2 인스턴스가 있다고 가정합니다. 둘은 서로 다른 보안 그룹을 가.. 2019. 7. 21.
ImportError: No module named httpsession 문제 발생시 aws cli를 사용하는 젠킨스에서 갑자기 에러가 발생했습니다. from botocore.httpsession import URLLib3Session ImportError: No module named httpsession aws cli의 경우 내부적으로 Python을 사용하는데 여기서 Python 에서 특정 모듈 (대부분은 botocore, boto3이였습니다.) 을 호출하지 못하는 이슈였습니다. 실제로 뭔가 꼬여있는지 확인 하기 위해 EC2에 접속해서 간단한 aws cli 커맨드를 실행해도 똑같이 이슈가 발생하는지 확인합니다. aws --version 이슈가 확인됐다면 awscli를 다시 설치해서 해결합니다. 아래 커맨드로 다시 설치하면 됩니다. pip install awscli --user --fo.. 2019. 7. 1.
AWS Credentials were refreshed 발생시 해결 방법 S3를 사용하는 젠킨스 서버에서 갑자기 아래와 같은 에러가 발생했습니다. fatal error: Credentials were refreshed, but the refreshed credentials are still expired. EC2에 등록된 인증 방식이 만료되었다는 의미인데요. 저는 access_key와 secret_key를 등록하지 않았습니다. 그럼에도 발생한것이죠. 이유는 IAM Role로 할당한 것 역시 인증 방식으로 보기 때문입니다. 그래서 이를 갱신하겠습니다. EC2의 IAM 교체를 선택합니다.갱신을 해야하니 아래와 같이 진행합니다. 기존과 다른 Role을 선택해서 저장 저장 완료 되면 다시 기존 Role 선택해서 저장 여기서 기존과 같은 Role을 선택하는 이유는 EC2에 할당된 인증.. 2019. 3. 23.
EC2에 Redis CLI 설치하기 보안 정책으로 로컬 PC에서 바로 Redis에 접근하지 못하는 경우가 종종 있습니다. 그럴 경우 Redis에 접근 가능한 다른 EC2 서버에서 Redis 접속을 하고 데이터 확인을 하는데요. EC2에 Redis CLI 설치 방법을 소개합니다. 아래 커맨드를 차례로 입력하시면 됩니다. # make 하기 위핸 gcc 다운 sudo yum install -y gcc # redis-cli 설치 및 make wget http://download.redis.io/redis-stable.tar.gz && tar xvzf redis-stable.tar.gz && cd redis-stable && make # redis-cli를 bin에 추가해 어느 위치서든 사용 가능하게 등록 sudo cp src/redis-cli /.. 2018. 10. 26.
서로 다른 계정의 RDS에 대량 데이터 복사하기 다른 계정의 RDS 데이터를 대량으로 복사해야할 때가 있습니다. 예를 들어 테스트를 위해 운영 DB의 데이터를 개발 DB로 복사해야하는 등의 일이 될수 있겠죠? 이런 일이 있을때 해결할 수 있는 방법 2가지를 소개합니다. 1. 스냅샷으로 전체 백업하기 RDS간 데이터 복사에 가장 흔한 방법이 스냅샷을 이용하는 것입니다. 여기선 좀 더 현실감 있고, 이해하기 쉽게 운영 RDS의 데이터를 개발 RDS로 복사하는 과정이라고 하겠습니다. 다만 스냅샷은 새로운 DB를 생성할때만 사용할 수 있습니다. 기존 DB에 데이터를 넣을때는 사용할 수 없습니다. 만약 전체 데이터와 스키마를 이미 생성된 DB에 넣고 싶다면 DB Dump를 사용해보세요. 먼저 운영 RDS의 Snapshots 페이지로 가보겠습니다.대부분의 RDS.. 2018. 8. 30.
2. AWS Code Deploy로 배포 Jenkins에서 배치 Jenkins로 Spring Batch 배포하기 - Code Deploy 연동 3. Code Deploy 연동 3-1. 배포 설정 파일 추가 제일 먼저 member-batch 프로젝트 안에 code-deploy 디렉토리를 생성합니다. 그리고 아래 그림처럼 2개의 파일을 생성합니다. Code Deploy는 배포를 어떻게 진행할지를 appspec.yml로 결정합니다. 여기서 jar의 권한이나 실행시킬 스크립트 등을 지정할 수 있습니다. appspec.yml version: 0.0 os: linux files: - source: / destination: /home/jenkins/member-batch/deploy permissions: - object: / pattern: "**" owner: jenkins group: jenkins hooks: ApplicationStart: - l.. 2018. 7. 7.

728x90