跳至主要内容

快速安装指南

本指南允许您安装 HMA 的 已发布 版本,无需对源代码进行任何自定义。

先决条件

  1. Docker
  2. Terraform cli
  3. aws cli 已配置
  4. jq

将 HMA 版本镜像到您的私有 ECR 仓库

HMA 使用 Docker 镜像将代码部署到您的基础设施。 这要求镜像在您的私有云帐户中可用。 我们使用 AWS ECR Elastic Container Registry

HMA 版本部署到公共 ECR 仓库 https://gallery.ecr.aws/l5b3f6x2/hma/releases

创建镜像我们发布的私有 ECR 仓库

这假设您的 AWS 访问密钥允许您创建 ECR 仓库。

$ aws ecr create-repository --repository-name hma-releases-mirror

将版本复制到您的私有 ECR 仓库

$ export HMA_RELEASE="v0.1.1"

# Copy image to your computer
$ docker pull "public.ecr.aws/l5b3f6x2/hma/releases:$HMA_RELEASE"

# Prepare environment variables to push image to your mirror
$ ECR_PASSWORD="$(aws ecr get-login-password --region us-east-1)"
$ ECR_REPOSITORY_URI="$(aws ecr describe-repositories --repository-names hma-releases-mirror | jq -r '.repositories[0].repositoryUri')"
$ AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)

# Actually push image to your mirror
$ echo "$ECS_PASSWORD" | docker login --username AWS --password-stdin "$ECR_REPOSITORY_URI"
$ docker tag "public.ecr.aws/l5b3f6x2/hma/releases:$HMA_RELEASE" "$ECR_REPOSITORY_URI:$HMA_RELEASE"
$ docker push "$ECR_REPOSITORY_URI:$HMA_RELEASE"

检出版本

转到 HMA 的 Github 发布页面。 单击您看到的最新版本的“Assets”。 以 .zip.tar.gz 格式下载源代码。

$ unzip ThreatExchange-HMA-v0.1.1.zip

(可选)使用 cognito 设置身份验证

如果您不使用 cognito 进行身份验证,则需要进行设置。 请按照本指南使用 cognito 设置身份验证。

配置 terraform

$ cd ThreatExchange-HMA-v0.1.1/hasher-matcher-actioner/
$ cp terraform/terraform.tfvars.example terraform/terraform.tfvars
$ aws ecr describe-repositories --repository-names hma-releases-mirror | jq -r '.repositories[0].repositoryUri'
<some long number>.dkr.ecr.us-east-1.amazonaws.com/hma-releases-mirror

hma_lambda_docker_uri

复制上面最后一条命令的输出。 在编辑器中打开 terraform/terraform.tfvars。 编辑 hma_lambda_docker_uri 的值,并粘贴您上面复制的输出。

organization

使用一个简短的字符串来表示您的组织。 它可以使用组织的名称,也可以不使用。 它用作 s3 存储桶名称的一部分,这些存储桶预计是全局唯一的。 使用一个简短的、全部小写的字符串,没有任何连字符或下划线。

prefix

我们通常使用我们的用户名或像 devtestprod 这样的环境名称。 使用一个简短的、全部小写的字符串,没有任何连字符或下划线。

Terraforming HMA

现在我们开始有趣的部分。 运行以下命令

$ cd hasher-matcher-actioner
$ terraform -chdir=terraform init
$ terraform -chdir=terraform -out=tfplan plan
$ terraform -chdir=terraform apply -input=false tfplan

这将输出一堆键值对。

访问 ui_url 的值,并找到您的 HMA 实例的 UI!