快速安装指南
本指南允许您安装 HMA 的 已发布
版本,无需对源代码进行任何自定义。
先决条件
将 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
我们通常使用我们的用户名或像 dev
、test
或 prod
这样的环境名称。 使用一个简短的、全部小写的字符串,没有任何连字符或下划线。
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!