Wickrエンタープライズの開始方法 - Wickr エンタープライズ

このガイドでは、Wickr Enterprise のドキュメントを提供します。AWS Wickr を使用している場合は、「AWS Wickr 管理ガイド」または「AWS Wickr ユーザーガイド」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Wickrエンタープライズの開始方法

要件

開始する前に、以下の要件が満たされていることを確認します:

  • 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 Cloud Development Kit (AWS CDK) はコンテキスト値を使用してアプリケーションの設定を制御します。Wickr Enterprise は CDK コンテキスト値を使用して、インストールされている Wickrエンタープライズのドメイン名や RDS バックアップを保持する日数などの設定を制御します。詳しくは、「AWS Cloud Development Kit (AWS CDK) デベロッパーガイド」の「ランタイムコンテキスト」を参照してください。

コンテキスト値を設定するには複数の方法がありますが、特定のユースケースに合わせて cdk.context.json で値を編集することをお勧めします。wickr/ で始まるコンテキスト値のみが Wickr Enterprise デプロイに関連し、残りは CDK 固有のコンテキスト値です。次回 CDK を使用して更新を行うときに同じ設定を維持するには、このファイルを保存します。

少なくとも、wickr/licensePath、、 wickr/domainNamewickr/acm:certificateArnまたは wickr/route53:hostedZoneIdと のいずれかを設定する必要がありますwickr/route53:hostedZoneName

パブリックホストゾーンを使用する場合

に Route 53 パブリックホストゾーンがある場合は AWS アカウント、次の設定を使用して CDK コンテキストを設定することをお勧めします。

  • 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 パブリックホストゾーンを利用できない場合は、この値を指定する必要があります。

への証明書のインポート

次のコマンドを使用して、外部から取得した証明書をインポートできます。

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

出力は証明書 ARN になり、wickr/acm:certificateArn コンテキスト設定の値として使用する必要があります。アップロードした証明書が wickr/domainName で有効であることが重要です。そうしないと、HTTPS 接続を検証できなくなります。詳細については、AWS Certificate Manager ユーザーガイドの 証明書のインポート を参照してください。

DNS レコードの作成

利用可能なパブリックホストゾーンがないため、デプロイが完了した後に、Wickr Enterprise デプロイの前面にあるロードバランサーを指すように DNS レコードを手動で作成する必要があります。

既存の VPC へのデプロイ

既存の VPC を使用する必要がある場合は、VPC を使用できます。ただし、VPC は EKS に必要な仕様を満たすように設定する必要があります。詳細については、「Amazon EKS ユーザーガイド」の「VPC とサブネットの Amazon EKS ネットワーク要件を表示」を参照し、使用する VPC がこれらの要件を満たしていることを確認します。

さらに、次のサービス用の VPC エンドポイントがあることを確認することを強くお勧めします。

  • クラウドウォッチ

  • CLOUDWATCH_LOGS

  • EC2

  • EC2_メッセージ

  • ECR

  • ECR_DOCKER

  • ELASTIC_LOAD_BALANCING

  • KMS

  • SECRETS_MANAGER

  • SSM

  • SSM_メッセージ

リソースを既存の 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 ワーカーノードと踏み台サーバーは、これらのサブネットにデプロイされます (例: 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 サービスにアクセスする」を参照してください。

その他の設定

詳細については、「Context values」を参照してください。

ブートストラップ

この特定の AWS アカウント およびリージョンで CDK を初めて使用する場合は、まずアカウントをブートストラップして CDK の使用を開始する必要があります。

npx cdk bootstrap

デプロイ

この処理には約 45 分かかります。

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

これが完了すると、インフラストラクチャーが作成され、Wickrエンタープライズのインストールを開始できます。

DNS レコードの作成

CDK の設定時にパブリックホストゾーンを使用する場合、この手順は不要です。

デプロイプロセスの出力には、ロードバランサーの DNS 名の値 WickrAlb.AlbDnsName が含まれます。出力は次のようになります。

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

この場合、ロール名は 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 設定の生成

警告

このファイルには、インストールに関する機密情報が含まれています。公開で共有したり、保存したりしないでください。

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) を設定して、もう一度試してください。または、コンテキスト値 を設定した場合はwickr/stackSuffix--stack-suffixフラグでサフィックスを渡します。