티스토리 뷰
예전에 private subnet에 있는 호스트에 접근하기 위한 방법으로 bastion 서버를 사용하도록 설정했는데, 아무리 생각해도 서버접근용으로 서버를 둔다는 부분이 마음이 들지 않았다. 그래서, AWS Systems Manager의 Session Manager를 사용하도록 설정을 변경하였다.
1. 현재 웹서비스를 기동하기 위한 가장 간단한 방법인 Elastic BeansTalk을 사용하고 있다.
2. EC2가 SSM에 접근할 수 있도록 ROLE을 생성해 주고,
2-1 아래의 role은 aws-elasticbeanstalk-ec2-role 기본 role에 AmazonSSMManagedInstanceCore를 추가한 롤이다.
2-2 이런 이유는 EC2가 Beanstalk의 리소스를 사용하는 권한 + SSM에 서비스에를 사용하는 권한을 EC2에 부여하기 위함이다.
3. 만든 ROLE을 Elastic Beanstalk 환경 설정에 넣어 준다.
3-1 기존에 만들어진 Beanstalk환경을 업데이트 하고 있다. 신규생성일 경우는 처음에 설정에 해당 role을 넣어준다.
3-2 실제 개발 서버에서 작업한 거라 모자이크 처리했다.
3-3 apply를 누르면 바로 반영되지 않고 환경을 다시 만들어야 한다고 경고가 뜬다. 다시 만들면 된다.
4. Beanstalk 환경을 반영을 적용하여 새로 환경을 생성한다. 서비스를 다시 올리는 것이라 시간이 좀 걸린다.
5. SSM의 Fleet Manager에 해당 EC2 정보가 올라온 것을 확인할 수 있다. role에서 설정한 내용이 SSM에 EC2를 등록되도록 허용해주는 부분이다.
5-1 목록에 development가 올라온 것을 확인할 수 있다.
5-2 fleet manager는 말그대로 fleet을 제어할 수 있는 기능이다. fleet은 보통 함대라고 하는데 그냥 여러 개를 동시에 제어할 수 있다는 의미다.
5-3 SSM에 등록된 리소스가 표출되는데 이것이 가능한 이유는 Amazon Linux를 사용한 리소스는 기본적으로 SSM agent가 설치되어 있기 때문이다.
6. SSM의 Session Manager에 가면 해당 EC2가 나오고 세션을 시작하면 ssm-user로 접속되는 것을 확인할 수 있다.
6-1 ssm-user는 sudo 권한을 가지고 있다. Beanstalk의 서비스 folder는 / var/app/current에 존재한다.
7. 아래가 EC2 정보인데 public IP가 없는 것을 확인할 수 있다. 즉 private subnet에 있어도 이 방식으로 접근이 가능하다는 의미다.
'기록' 카테고리의 다른 글
Hashing - 해싱과 MAC (Message Authentication Code) (0) | 2023.02.10 |
---|---|
Linux : Destop GUI가 실행되지 않을 때 (1) | 2023.02.05 |
Vagrant : Ubuntu 22.10 Vagrant libvirt로 nfs mount문제 (0) | 2023.01.05 |
Web Service : 1.간략한 이해 (0) | 2022.12.22 |
데이터베이스 : 트랜잭션 언제 적용해야 하나 (0) | 2022.12.16 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- 하이버네이트
- hibernate
- crud
- login
- jsp
- Rest
- Spring
- Security
- Validation
- 설정하기
- 설정
- MYSQL
- WebMvc
- 자바
- 매핑
- form
- RestTemplate
- one-to-one
- Spring Security
- one-to-many
- 외부파일
- mapping
- 상속
- 스프링부트
- 스프링
- XML
- spring boot
- Angular
- 로그인
- Many-To-Many