Wickr Enterprise 사용 시작하기 - Wickr Enterprise

이 가이드에서는 Wickr Enterprise에 대한 설명서를 제공합니다. AWS Wickr를 사용하는 경우 AWS Wickr 관리 안내서 또는 AWS Wickr 사용 설명서를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Wickr Enterprise 사용 시작하기

요구 사항

시작하기 전, 다음 요구 사항을 충족하는지 확인하십시오.

  • Node.js 16+ 다운로드

  • AWS CLI 계정의 자격 증명으로 구성됩니다.

    이는 ~/.aws/config의 구성 파일에서 가져오거나 AWS_ 환경 변수를 사용하여 제공됩니다.

  • kubectl 설치 자세한 내용은 Amazon EKS 사용 설명서kubectl 설치 및 업데이트를 참조하십시오.

  • kots CLI를 설치합니다. 자세한 내용은 kots CLI 설치 단원을 참조하십시오.

  • 허용 목록에 대한 포트: HTTPS 및 TCP 호출 트래픽의 경우 443/TCP, UDP 호출 트래픽의 경우 16384-19999/UDP, TCP/8443

아키텍처

아키텍처 다이어그램.

종속성을 설치합니다.

다음의 명령을 사용하여 모든 종속성을 기본 패키지에 추가할 수 있습니다.

npm install

구성

AWS 클라우드 개발 키트 (AWS CDK) 는 컨텍스트 값을 사용하여 애플리케이션의 구성을 제어합니다. Wickr Enterprise는 CDK 컨텍스트 값을 사용하여 Wickr Enterprise 설치의 도메인 이름 또는 RDS 백업 보존 일수와 같은 설정을 제어할 수 있도록 합니다. 자세한 내용을 알아보려면 AWS 클라우드 개발 키트 (AWS CDK) 개발자 안내서 런타임 컨텍스트를 참조하십시오.

컨텍스트 값을 설정하는 방법은 여러 가지가 있지만 특정 사용 사례에 맞게 cdk.context.json의 값을 편집하는 것이 좋습니다. wickr/ 로 시작하는 컨텍스트 값만 Wickr Enterprise 배포와 관련이 있고 나머지는 CDK 관련 컨텍스트 값입니다. 다음 번에 CDK를 통해 업데이트할 때 동일한 설정을 유지하려면 이 파일을 저장하십시오.

최소한 , wickr/domainNamewickr/acm:certificateArn 또는 wickr/route53:hostedZoneIdwickr/licensePath를 설정해야 합니다wickr/route53:hostedZoneName.

퍼블릭 호스팅 영역 사용

에 Route 53 퍼블릭 호스팅 영역이 있는 경우 다음 설정을 사용하여 CDK 컨텍스트를 구성하는 AWS 계정것이 좋습니다.

  • wickr/domainName- 이 Wickr Enterprise 배포에 사용할 도메인 이름. Route 53 퍼블릭 호스팅 영역을 사용하는 경우, 이 도메인 이름에 대한 DNS 레코드 및 ACM 인증서가 자동으로 생성됩니다.

  • wickr/route53:hostedZoneName- DNS 레코드를 생성할 Route 53 호스팅 영역 이름

  • wickr/route53:hostedZoneId- DNS 레코드를 생성할 Route 53 호스팅 영역 ID

이 방법은 Wickr Enterprise 배포 앞에 있는 로드 밸런서에 대한 도메인 이름을 가리키는 DNS 레코드와 함께 사용자를 대신하여 ACM 인증서를 생성합니다.

퍼블릭 호스팅 영역 없음

계정에 Route 53 퍼블릭 호스팅 영역이 없는 경우 ACM 인증서를 수동으로 생성하고 wickr/acm:certificateArn 컨텍스트 값을 사용하여 CDK로 가져와야 합니다.

  • wickr/domainName- 이 Wickr Enterprise 배포에 사용할 도메인 이름. Route 53 퍼블릭 호스팅 영역을 사용하는 경우, 이 도메인 이름에 대한 DNS 레코드 및 ACM 인증서가 자동으로 생성됩니다.

  • wickr/acm:certificateArn- 로드 밸런서에서 사용할 ACM 인증서의 ARN. 계정에서 Route 53 퍼블릭 호스팅 영역을 사용할 수 없는 경우 이 값을 제공해야 합니다.

ACM으로 인증서 가져오기

다음 명령을 사용하여 외부에서 가져온 인증서를 가져올 수 있습니다.

aws acm import-certificate \ --certificate fileb://path/to/cert.pem \ --private-key fileb://path/to/key.pem \ --certificate-chain fileb://path/to/chain.pem

출력은 wickr/acm:certificateArn 컨텍스트 설정 값으로 사용해야 하는 인증서 ARN이 됩니다. 업로드한 인증서가 wickr/domainName 에 유효한지 확인해야 합니다. 그렇지 않으면 HTTPS 연결에서 유효성을 검사할 수 없습니다. 자세한 내용은 AWS Certificate Manager 사용 설명서에서 인증서 가져오기를 참조하십시오.

DNS 레코드 생성

사용할 수 있는 퍼블릭 호스팅 영역이 없으므로 배포가 완료된 후 Wickr Enterprise 배포 앞에 있는 로드 밸런서를 가리키도록 DNS 레코드를 수동으로 생성해야 합니다.

기존 VPC에 배포

기존 VPC를 사용해야 하는 경우 사용할 수 있습니다. 그러나 VPC는 EKS에 필요한 사양을 충족하도록 구성해야 합니다. 자세한 내용은 Amazon EKS 사용 설명서의 VPC 및 서브넷에 대한 Amazon EKS 네트워킹 요구 사항 보기를 참조하고 사용할 VPC가 이러한 요구 사항을 충족하는지 확인하세요.

또한 다음 서비스에 대한 VPC 엔드포인트가 있는지 확인하는 것이 좋습니다.

  • CLOUDWATCH

  • CLOUDWATCH_LOGS

  • EC2

  • EC2_MESSAGES

  • ECR

  • ECR_DOCKER

  • ELASTIC_LOAD_BALANCING

  • KMS

  • SECRETS_MANAGER

  • SSM

  • SSM_MESSAGES

기존 VPC에 리소스를 배포하려면 다음 컨텍스트 값을 설정합니다.

  • wickr/vpc:id - 리소스를 배포할 VPC의 ID입니다(예 vpc-412beef).

  • wickr/vpc:cidr - VPC의 IPv4 CIDR(예 172.16.0.0/16).

  • wickr/vpc:publicSubnetIds - VPC에 있는 퍼블릭 서브넷의 쉼표로 구분된 목록입니다. Application Load Balancer 및 호출 EKS 작업자 노드는 이러한 서브넷 (예:subnet-6ce9941,subnet-1785141,subnet-2e7dc10)에 배포됩니다.

  • wickr/vpc:privateSubnetIds - VPC에 있는 퍼블릭 서브넷의 쉼표로 구분된 목록입니다. EKS 작업자 노드와 bastion 서버는 이러한 서브넷 (예: subnet-f448ea8,subnet-3eb0da4,subnet-ad800b5)에 배포됩니다.

  • wickr/vpc:isolatedSubnetIds - VPC에 있는 격리된 서브넷의 쉼표로 구분된 목록입니다. RDS 데이터베이스는 이러한 서브넷 (예: subnet-d1273a2,subnet-33504ae,subnet-0bc83ac)에 배포됩니다.

  • wickr/vpc:availabilityZones- VPC에 있는 서브넷의 쉼표로 구분된 가용 영역 목록 (예: us-east-1a,us-east-1b,us-east-1c).

인터페이스 VPC 엔드포인트에 대한 자세한 내용은 인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스 액세스를 참조하세요.

기타 설정

자세한 내용은 컨텍스트 값을 참조하십시오.

부트스트랩

이 특정 AWS 계정 및 리전에서 CDK를 처음 사용하는 경우 먼저 계정을 부트스트랩하여 CDK 사용을 시작해야 합니다.

npx cdk bootstrap

배포

이 프로세스는 약 45분이 소요됩니다.

npx cdk deploy --all --require-approval=never

설치가 완료되면 인프라가 생성되고 Wickr Enterprise 설치를 시작할 수 있습니다.

DNS 레코드 생성

CDK를 구성할 때 퍼블릭 호스팅 영역을 사용한 경우에는 이 단계가 필요하지 않습니다.

배포 프로세스의 출력에는 로드 밸런서의 DNS 이름인 값WickrAlb.AlbDnsName이 포함됩니다. 출력값은 다음과 같습니다.

WickrAlb.AlbDnsName = Wickr-Alb-1Q5IBPJR4ZVZR-409483305.us-west-2.elb.amazonaws.com

이 경우 DNS 이름은 Wickr-Alb-1Q5IBPJR4ZVZR-409483305.us-west-2.elb.amazonaws.com입니다. 이 값은 도메인 이름에 대한 CNAME 또는 A/AAAA(ALIAS) 레코드를 만들 때 사용해야 하는 값입니다.

배포 출력이 없는 경우 다음 명령을 실행하여 로드 밸런서 DNS 이름을 표시합니다.

aws cloudformation describe-stacks --stack-name WickrAlb \ --query 'Stacks[0].Outputs[?OutputKey==`AlbDnsName`].OutputValue' \ --output text

KOTS Config 생성

주의

이 파일에는 설치에 대한 민감한 정보가 들어 있습니다. 공개적으로 공유하거나 저장하지 마십시오.

Wickr Enterprise 설치 프로그램을 성공적으로 설치하려면 인프라에 대한 여러 구성 값이 필요합니다. 도우미 스크립트를 사용하여 구성 값을 생성할 수 있습니다.

./bin/generate-kots-config.ts > wickr-config.json

첫 단계에서 외부 인증서를 ACM으로 가져온 경우 --ca-file 플래그를 이 스크립트에 전달하십시오. 예를 들면 다음과 같습니다.

./bin/generate-kots-config.ts --ca-file path/to/chain.pem > wickr-config.json

스택이 존재하지 않는다는 오류 메시지가 표시되면 AWS_REGION환경 변수(export AWS_REGION=us-west-2)를 선택한 지역으로 설정하고 다시 시도하십시오. 또는 컨텍스트 값를 설정하는 경우 접미사에 --stack-suffix 플래그를 wickr/stackSuffix전달합니다.