안녕하세요. 오늘은 베스핀글로벌 D&A 실 김동규 님이 작성해 주신 Firelens OpenSearch 연동 설정에 대해 알아보겠습니다.
본 가이드에서는 ECS를 예시로 하여 Firelens와 OpenSearch 기본 연동 설정 방법에 대해 가이드 합니다.
관련해서 궁금하신 점이 있으시면 댓글을 달아주세요:)
1. OpenSearch 보안 그룹 생성
HTTPS 접근 허용 정책 – 출발지는 Windows Bastion 사용시 Bastion 서버 내부 IP 로 설정해도 무방합니다.
2번째 규칙은 클러스터의 멤버 인스턴스간 상호 통신할 수 있도록 자기 자신을 참조하는 규칙으로 1번째 규칙을 넣어 보안그룹 생성 후 편집하여 추가하여야 합니다.
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-48-1024x201.png?resize=1024%2C201&ssl=1)
1-1. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-49.png?resize=743%2C823&ssl=1)
이름 : 도메인 이름을 입력합니다.
배포 유형 : 가용성을 고려하여 프로덕션, 개발 및 테스트 등을 선택합니다.
1-2. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-50.png?resize=711%2C829&ssl=1)
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-51.png?resize=673%2C573&ssl=1)
인스턴스 유형을 선택하고 나머지 옵션은 화면 설정값으로 지정합니다.
1-3. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-52.png?resize=925%2C694&ssl=1)
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-53.png?resize=837%2C668&ssl=1)
Private 네트워크를 선택하고 보안그룹은 앞서서 생성한 그룹을 선택합니다.
그외 옵션은 화면과 동일하게 체크 해제되어 있는 것을 확인합니다.
1-4. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-54.png?resize=861%2C850&ssl=1)
액세스 정책은 도메인 수준 액세스 정책 구성을 선택합니다.
기본 JSON은 수정하실 필요 없습니다.
1-5. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-55.png?resize=969%2C735&ssl=1)
암호화는 여기서는 체크 해제합니다.
추후 변경 가능하나 한번 활성화 하면 되돌릴 수 없으며 성능은 다소 하락할 수 있습니다.
1-6. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-56-1024x606.png?resize=1024%2C606&ssl=1)
고급 클러스터 설정은 체크된 상태로 두어야 합니다.
해제된 상태로 생성하면 추후 firelens 와 연동시 explicit index in bulk is not allowed 에러가 발생합니다.
1-7. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-57-1024x353.png?resize=1024%2C353&ssl=1)
다소의 시간이 걸린 후 위와 같이 도메인 생성이 완료됩니다.
1-8. OpenSearch 도메인 생성
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-58-1024x651.png?resize=1024%2C651&ssl=1)
내부 네트워크에 생성되어 있기 때문에 대시보드 접근을 위해서는 bastion, vpn, ssh터널링 등 여러가지 방법중 하나를 사용해야 합니다.
여기서는 bastion Windows 를 통해 앞서 생성한 대시보드 url로 접근하였습니다.
2. ECS Task 작업
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-59-1024x345.png?resize=1024%2C345&ssl=1)
Task 작업시 하단의 Firelens 통합 활성화를 체크하고 적용을 클릭합니다.
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-62-1024x236.png?resize=1024%2C236&ssl=1)
컨테이너 정의에 log_router가 추가되었음을 확인합니다.
2-1. ECS Task 작업
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-63-1024x379.png?resize=1024%2C379&ssl=1)
log_router를 클릭하고 하단의 로그 구성을 그림과 같이 입력합니다.
추후 CloudWatch를 통해 firelens(fluentbit) 로그를 확인하기 위함이며 오류 발생시 원인을 찾아볼 수 있습니다.
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-64.png?resize=792%2C462&ssl=1)
추후 확인가능한 정상적인 동작일 경우의 CloudWatch firelens로그입니다.
2-2. ECS Task 작업
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-65-1024x658.png?resize=1024%2C658&ssl=1)
서비스용 컨테이너(여기서는 nginx) 를 클릭하고 로그 구성을 그림과 같이 입력합니다.
2-3. ECS Role 수정
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-66.png?resize=548%2C736&ssl=1)
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-67.png?resize=617%2C476&ssl=1)
기존 ECS실행 role 에 opensearch작업이 가능하도록 정책을 추가해 줍니다.
2-4. ECS 서비스 배포 후 OpenSearch index 확인
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/image-68-1024x678.png?resize=1024%2C678&ssl=1)
firelens 가 에러 없이 실행되면 OpenSearch index 에서 Task 에 설정한 인덱스 입력값이 조회되는 것을 확인할 수 있습니다.
감사합니다~^^
![](https://i0.wp.com/bespin-wordpress-bucket.s3.ap-northeast-2.amazonaws.com/wp-content/uploads/2023/04/%EB%A7%88%EB%AC%B4%EB%A6%AC-8.png?resize=504%2C109&ssl=1)
문의: info@bespinglobal.com | 대표번호: 02-1668-1280