Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
SSH 터널을 사용하여 VPC 외부에서 Amazon Cognito 인증을 통해 OpenSearch 대시보드에 액세스하려면 어떻게 해야 합니까?
Amazon OpenSearch Service 도메인이 가상 프라이빗 클라우드(VPC)에 있습니다. SSH 터널을 사용하여 VPC 외부에서 Amazon Cognito 인증을 통해 OpenSearch 대시보드에 액세스하려고 합니다.
간략한 설명
기본적으로 Amazon Cognito는 OpenSearch 대시보드 액세스를 VPC의 AWS Identity and Access Management(IAM) 사용자로 제한합니다. 다른 VPC에서 OpenSearch Service 도메인에 액세스하려면 OpenSearch Service를 위한 인터페이스 VPC 엔드포인트를 생성하십시오. 대시보드 URL에 공개적으로 액세스하려면 SSH 터널을 사용하십시오.
중요: VPC 외부에서 OpenSearch 대시보드에 액세스하는 것이 조직의 보안 요구 사항을 준수하는지 확인하십시오.
SSH 터널을 사용하여 VPC 외부에서 OpenSearch 대시보드에 액세스하려면 다음 단계를 완료하십시오.
- Amazon Cognito 사용자 풀과 자격 증명 풀을 생성합니다.
- 퍼블릭 서브넷에서 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 생성합니다.
- 브라우저 추가 기능을 사용하여 SOCKS 프록시를 구성합니다.
- 로컬 시스템에서 EC2 인스턴스로 연결되는 SSH 터널을 생성합니다.
참고: 또한 NGINX 프록시 또는 클라이언트 VPN을 사용하여 Amazon Cognito 인증을 통해 VPC 외부에서 OpenSearch 대시보드에 액세스할 수도 있습니다. - (선택 사항) 세분화된 액세스 제어를 켠 경우 Amazon Cognito 인증 역할을 추가합니다.
해결 방법
Amazon Cognito 사용자 풀 및 자격 증명 풀 생성
다음 단계를 완료하십시오.
- Amazon Cognito 사용자 풀을 생성합니다. 다음 설정을 구성합니다.
애플리케이션 유형에서 기존 웹 애플리케이션을 선택합니다.
애플리케이션 이름 지정에 사용자 지정 애플리케이션 이름을 입력하거나 기본 이름을 유지합니다.
로그인 식별자에 대한 옵션에서 사용자 이름을 선택합니다.
가입에 필요한 필수 속성에서 이메일을 선택합니다. - Amazon Cognito 콘솔을 엽니다.
- 탐색 창에서 사용자 풀을 선택합니다.
- 사용자 풀을 선택합니다.
- 탐색 창의 브랜딩에서 관리형 로그인을 선택합니다. 다음 설정을 구성합니다.
관리형 로그인 브랜딩이 있는 도메인에서 버전 업데이트를 선택합니다.
브랜딩 버전에서 **호스팅 UI(클래식)**를 선택합니다. - 사용자 및 그룹을 구성합니다.
- Amazon Cognito 자격 증명 풀을 생성합니다. 다음 설정을 구성합니다.
사용자 액세스에서 인증된 액세스를 선택합니다.
인증된 보안 인증 정보 소스에 Amazon Cognito 사용자 풀을 입력합니다.
IAM 역할에서 새 IAM 역할 생성을 선택한 다음, 역할 이름을 입력합니다.
사용자 풀 세부 정보에서 사용자 풀을 선택한 다음, AppClient ID를 선택합니다.
역할 설정에서 기본 인증된 역할 사용을 선택합니다.
클레임 매핑에서 비활성을 선택합니다. - Amazon Cognito 인증을 사용하도록 OpenSearch Service 도메인을 구성합니다. 다음 설정을 구성합니다.
Cognito 사용자 풀에서 사용자 풀을 선택합니다.
Cognito 자격 증명 풀에서 자격 증명 풀을 선택합니다. - 도메인 액세스 정책에 다음 액세스 정책을 입력합니다.
참고: account-id를 AWS 계정으로 바꾸고 identitypool-role을 자격 증명 풀 역할의 이름으로 바꾸십시오. domain-name을 OpenSearch Service 도메인으로 바꾸고 region을 도메인의 AWS 리전으로 바꾸십시오.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/service-role/identitypool-role" }, "Action": "es:*", "Resource": "arn:aws:es:region:account-id:domain/domain-name/*" } ] }
EC2 인스턴스 생성 및 보안 그룹 규칙 구성
중요: 인스턴스의 서브넷은 OpenSearch Service 도메인과 동일한 VPC에 있어야 합니다.
다음 단계를 완료하십시오.
- OpenSearch Service 도메인이 있는 VPC의 퍼블릭 서브넷에서 인스턴스를 시작합니다.
- 인스턴스 세부 정보 구성 페이지에서 퍼블릭 IP 자동 할당이 활성화인지 확인합니다.
- 인스턴스와 연결된 보안 그룹에 인바운드 규칙을 추가합니다. 로컬 시스템의 IP 주소에서 포트 8157 및 22로의 트래픽을 허용하십시오.
- OpenSearch Service 도메인과 연결된 보안 그룹에 인바운드 규칙을 추가합니다. 인스턴스의 프라이빗 IP 주소로부터의 트래픽을 허용하십시오.
SOCKS 프록시 구성
참고: 다음 지침은 FoxyProxy를 사용하여 SOCKS 프록시를 구성합니다. 확장 프로그램을 설치하려면 Chrome 웹 스토어에서 FoxyProxy를 참조하십시오.
다음 단계를 완료하십시오.
- FoxyProxy를 연 다음, **Options(옵션)**를 선택합니다.
- **Proxies(프록시)**에서 **Add(추가)**를 선택합니다.
- 다음 설정을 구성합니다.
**Title(제목)**에 프록시 이름을 입력합니다.
**Hostname(호스트 이름)**에 localhost를 입력합니다.
**Port(포트)**에 8157을 입력합니다.
**Type(유형)**에서 SOCKS5를 선택합니다. - 패턴을 추가하려면 더하기 기호(+)를 선택한 후 다음 설정을 구성합니다.
첫 번째 필드는 비워 두십시오.
**Title(제목)**에 패턴 이름을 입력합니다.
**Pattern(패턴)**에 OpenSearch 대시보드 VPC 엔드포인트를 입력합니다(예: https://vpc-mydomain-rg3abcdefghiflge.us-east-1.es.amazonaws.com/_dashboards).
**Type(유형)**에서 **Wildcards(와일드카드)**를 선택합니다.
**Include(포함)**에서 **Include(포함)**를 선택합니다. - **Save(저장)**를 선택합니다.
SSH 터널 생성
다음 단계를 완료하십시오.
-
OpenSearch 대시보드에 액세스하는 데 사용하는 로컬 시스템을 사용하여 다음 명령을 실행합니다.
ssh -i "mykeypair.pem" ec2-user@public_dns_name -ND 8157참고: 인스턴스를 시작할 때 지정한 키 페어의 .pem 파일 이름으로 mykeypair.pem을 바꾸십시오. public_dns_name을 인스턴스의 퍼블릭 DNS로 바꾸십시오. 자세한 내용은 VPC의 DNS 속성을 참조하십시오.
-
브라우저에 OpenSearch 대시보드 엔드포인트를 입력하여 OpenSearch 대시보드의 Amazon Cognito 로그인 페이지를 엽니다.
(선택 사항) 세분화된 액세스 제어를 켠 경우 Amazon Cognito 자격 증명 풀 역할 추가
OpenSearch Service 클러스터에 대해 세분화된 액세스 제어를 켜면 누락된 역할 오류가 발생할 수 있습니다.
누락된 역할 오류를 해결하려면 다음 단계를 완료하십시오.
- OpenSearch Service 콘솔을 엽니다.
- 탐색 창의관리형 클러스터에서 도메인을 선택합니다.
- 도메인을 선택한 다음, 작업을 선택합니다.
- 보안 구성 편집을 선택합니다.
- IAM ARN을 마스터 사용자로 설정을 선택합니다.
- IAM ARN에 Amazon Cognito 자격 증명 풀 역할의 ARN을 입력합니다.
- 저장을 선택합니다.
세분화된 액세스 제어에 대한 자세한 내용은 자습서: IAM 마스터 사용자와 Amazon Cognito 인증을 사용하여 도메인 구성을 참조하십시오.
관련 정보
- 언어
- 한국어

관련 콘텐츠
- 질문됨 2년 전