UID2 Private Operator for AWS Integration Guide
UID2 Operator は、UID2 エコシステムにおける API サーバーです。AWS Marketplace で稼働する Private Operator Service の場合、UID2 Operator ソリューションはAWS Nitro Enclave テクノロジーで強化されています。これは、UID2 情報を不正なアクセスから保護するための追加のセキュリティ対策です。
UID2 Private Operator for AWS
NOTE: UID2 Private Operator for AWS は無償製品です。製品ページに表示されている費用は、必要なインフラの概算費用となります。
UID2 Private Operator for AWS を契約することで、以下を利用できます:
- Amazon Machine Image (AMI) UID2 Operator Service がインストールされ、ブートストラップの準備が整っている状態です:
AMI には、UID2 Operator Service がすでにセットアップされたAmazon Linux 2オペレーティングシステムが含まれています。AMI をベースにした EC2 インスタンスが起動すると、AWS アカウントから設定を自動的に取得し、エンクレーブ内で UID2 Operator サーバーを起動します。 - CloudFormation template:
このテンプレートでは、UID2 Operator AMI がデプロイ展開されます。
Prerequisites
AWS で 1 つまたは複数の UID2 Operator をサブスクライブしてデプロイするには、次の手順を実行します:
Minimal IAM Role Privileges
IMPORTANT: ワンクリックデプロイを成功させるためには、AWS アカウントに以下のアクションを実行する権限が必要です:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:*",
"kms:*",
"autoscaling:*",
"cloudformation:*",
"iam:ListRoleTags",
"secretsmanager:*",
"iam:PutRolePolicy",
"iam:AddRoleToInstanceProfile",
"iam:ListRolePolicies",
"iam:ListPolicies",
"iam:GetRole",
"iam:GetPolicy",
"iam:DeleteRole",
"iam:UpdateRoleDescription",
"iam:TagPolicy",
"iam:GetRolePolicy",
"iam:CreateInstanceProfile",
"iam:UntagRole",
"iam:TagRole",
"iam:ListInstanceProfilesForRole",
"iam:PassRole",
"iam:DeleteRolePolicy",
"iam:ListPolicyTags",
"iam:DeleteInstanceProfile",
"iam:ListRoles",
"iam:CreatePolicy",
"iam:UntagPolicy",
"iam:UpdateRole",
"iam:UntagInstanceProfile",
"iam:TagInstanceProfile",
"iam:SetDefaultPolicyVersion",
"iam:UpdateAssumeRolePolicy",
"iam:GetPolicyVersion",
"iam:RemoveRoleFromInstanceProfile",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:DetachRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:DeletePolicy",
"iam:ListInstanceProfileTags",
"iam:CreatePolicyVersion",
"iam:GetInstanceProfile",
"iam:ListInstanceProfiles",
"iam:ListPolicyVersions",
"iam:DeletePolicyVersion",
"iam:ListUserTags"
],
"Resource": "*"
}
]
}
Resources Created
次の表は、deployment 中に作成されるすべてのリソースの一覧です。
Name | Type | Description |
---|---|---|
KMSKey | AWS::KMS::Key | 秘密暗号化用のキー (設定文字列用) です。 |
SSMKeyAlias | AWS::KMS::Alias | KMSキーに簡単にアクセスする方法を提供するエイリアスです。 |
TokenSecret | AWS::SecretsManager::Secret | Operator Key を含む暗号化されたコンフィギュレーションです。 |
WorkerRole | AWS::IAM::Role | UID2 Operator が実行する IAM ロールです。ロールは、設定キーへのアクセスを提供します。 |
WorkerInstanceProfile | AWS::IAM::InstanceProfile | Operator EC2 インスタンスにアタッチする Worker Role を持つインスタンスプロファイルです。 |
SecurityGroup | AWS::EC2::SecurityGroup | オペレーターインスタンスに対するルールを提供するセキュリティグループポリシーです。Security Group Policy を参照してください。 |
LaunchTemplate | AWS::EC2::LaunchTemplate | すべての設定が配置された起動テンプレートです。このテンプレートから新しい UID2 Operator インスタンスを起動できます。 |
AutoScalingGroup | AWS::AutoScaling::AutoScalingGroup | 起動テンプレートがアタッチされている Auto Scaling Group(ASG)。必要であれば、これを使用して後でインスタンスの必要数を更新できます。 |
Customization Options
以下は、デプロイ の実行中または実行後にカスタマイズできる内容です。
- VPC: 新しい VPC とサブネットを設定するか、既存のものを使用するかのどちらかです。
- ルートボリュームサイズ (8G Minimum)
- SSH キー: UID2 Operator の EC2 インスタンスにアクセスする際に使用する SSH キーです。
- Instance type: m5.2xlarge、m5.4xlarge、といった具合です。カスタマイズがない場合は、デフォルト値の m5.2xlarge を推奨します。
Security Group Policy
NOTE: ドメインに関連する証明書をエンクレーブに渡すのを避けるため、HTTPS の代わりにインバウンド HTTP が許可されています。これは、組織内部のプライベートネットワークで使用する場合、セキュアレイヤーのコストを回避することにもなります。
Port Number | Direction | Protocol | Description |
---|---|---|---|
80 | Inbound | HTTP | Healthcheck エンドポイント /ops/healthcheck を含むすべての UID2 API を提供します。すべてが稼働している場合、エンドポイントは HTTP 200 を返し、レスポンスボディは OK となります。詳しくは、Checking UID2 Operator Status を参照してください。 |
9080 | Inbound | HTTP | Prometheus metrics サービス (/metrics )。 |
443 | Outbound | HTTPS | UID2 Core Service を呼び出し、オプトアウトデータとキーストアを更新します。 |
VPC Chart
次の図は、Private Operator をホストする仮想プライベートクラウドを示したものです。
Deployment
UID2 Operator を AWS Marketplace をデプロイするには、次の手順を実行します:
- UID2 Operator on AWS Marketplace をサブスクライブしてください。AWS がサブスクリプションを完了するまで、数分かかる場合があります。
- Configuration をクリックします。
- Configuration ページで、Launch をクリックし、Launch CloudFormation アクションを選択します。
- Create stack ウィザードで、テンプレートを指定し、Next をクリックします。テンプレートファイルの S3 パスが自動的に入力されます。
- スタックの詳細 を入力し、Next をクリックします。
- スタックオプション を設定し、Next をクリックします。
- 入力した情報を確認し、変更したい場合は変更します。
- IAM ロールの作成許可を求められたら、I acknowledge that AWS CloudFormation might create IAM resources のチェックボックスを選択します。
- Create stack をクリックします。
スタックが作成されるまでには数分かかります。作成された Auto Scaling Group (ASG) が表示されたら、それを選択して EC2 インスタンスを確認します (デフォルトでは、開始するインスタンスは1つだけです)。
Stack Details
以下の画像は、スタックの作成ウィザード (デプロイ Step 5) のSpecify stack detailsページを示しています。以下の表は、パラメータ値のリファレンスを提供し ます。
下段です:
次の表は、デプロイ の Step 5 で指定するパラメータ値について説明したものです。
Parameter | Description |
---|---|
Stack name | 好きな名前をつけてください。 |
OPERATOR_KEY | UID2 Admin チームから受け取った Operator Key です。 |
UID2 Environment | 本番環境なら prod 、インテグレーションテスト環境なら integ を選択します。 |
Instance Type | m5.2xlarge を推奨します。 |
Instance root volume size | 15GB 以上を推奨します。 |
Key Name for SSH | デプロイされた EC2 インスタンスに SSH アクセスするための EC2 キーペアです。 |
Trusted Network CIDR | CIDR (Classless Inter-Domain Routing) 値は、オペレーターサービスにアクセスできる IP アドレス範囲を決定します。 UID2 オペレーターへのアクセスを制限して、内部ネットワークまたはロードバランサーからのみアクセスできるようにするには、CIDR 値として内部 IP 範囲を指定します。 |
Stack Configuration Options
次の図は、スタックの作成ウィザード (Deployment Step 6) のスタックオプションの設定ページを示しています。
次の表は、Deployment の Step 6 で指定するパラメータ値について説明したものです。
Parameter | Description |
---|---|
Tags | (オプション) スタックにタグをつけます。 |
Permissions | AWS Marketplace にサブスクライブする IAM ロールとスタックをデプロイする IAM ロールが分かれている場合、スタックをデプロイするために使用するロールの名前/ARN を入力します。 |
Stack failure options | デプロイメントに失敗したときの処理を選択します。Roll back all stack resources (すべてのスタックリソースをロールバックする) オプションを推奨します。 |
Advanced options | これらはオプションです。 |
Creating a Load Balancer
ロードバランサーとターゲットオペレーターのオートスケーリンググループを作成するには、次の手順を実行します:
- AWS コンソールで EC2 ダッシュボードに移動し、
Load Balancer
を検索します。 - Create Load Balancer をクリックします。
- Load balancer typesページの Application Load Balancer セクションで、Create をクリックします。
- UID2 Load balancer name を入力します。パブリックインターネットから UID2 API にアクセスする必要があるかどうかに応じて、Internet-facing または Internal スキームを選択します。
- ターゲットの VPC と、CloudFormationスタックで使用する少なくとも2つのサブネットを選択します。
- Security groups の下にある Create new security group をクリックし、以下を実行します:
UID2SGALB
を Security group name として入力し、関連する Description も入力します。- Inbound rules の下で、Add rule をクリックし、要件に応じて HTTPS タイプと適切な Source を選択します。
- Create security group をクリックします。
- ロードバランサーのページに戻り、新しく作成した
UID2SGALB
セキュリティグループを選択します。 - Listeners and routing の下にある、Create target group リンクをクリックし、以下を実行します:
- Specify group details page で、ターゲットタイプとして Instances を選択し、 Target group name として
UID2ALBTG
を入力します。 - Protocol version として HTTP1 が選択されていることを確認します。
- Health checks の下で、Health check path に
/ops/healthcheck
を指定し、Next をクリックします。 - オートスケーリンググループが作成した UID2 Operator EC2 インスタンスを選択し、Include as pending below をクリックします。
- ターゲットのすべてのポートに
80
が含まれていることを確認します。 - Create target group をクリックします。
- Specify group details page で、ターゲットタイプとして Instances を選択し、 Target group name として
- ロードバランサーのページに戻り、Listeners and routing の下にある、
UID2ALBTG
をデフォルトのアクションとして転送するターゲットグループとして選択します。新しく作成したターゲットグループが表示されるように、ターゲットグループをリフレッシュする必要があるかもしれないことに注意してください。リスナーの Port を443
に変更します。 - AWS user guide の指示に従って、HTTPS リスナーをセットアップします。
- Create load balancer をクリックします。
- ロードバランサーのステータスを確認するには、以下のセクションに進んでください: Checking UID2 Operator Status
Checking UID2 Operator Status
ロードバランサー配下の UID2 Operator のステータスを確認するには、次の手順を実行します:
- EC2 > Load balancers で、ロードバランサーの DNS name 列を見て、ロードバランサーの DNS 名を特定します。
- ブラウザで、
https://{dns-name-of-your-load-balancer}/ops/healthcheck
にアクセスします。OK
のレスポンスであれば、Operator のステータスは良好です。
Upgrading the UID2 Operator
各オペレーターのバージョンを更新するたびに、Private Operator は、アップグレードのウィンドウを持つメール通知を受け取ります。アップグレードウィンドウの後、古いバージョンは非アクティブ化され、サポートされなくなります。
ここでは、アップグレードについて紹介します:
- 新しいバージョンの提供に関する情報は、UID2 Operator on AWS Marketplace のページで提供されます。
- UID2 Operator をアップグレードするには、新しい CloudFormation スタックを作成します。詳しくは、デプロイ を参照してください。
TIP: スムーズな移行を行うには、まず新しいスタックを作成します。新しいスタックが起動し、サービスを提供する準備ができたら、古いスタックを削除してください。ロードバランサーを使用している場合は、まず新しいインスタンスを立ち上げて実行してから、DNS 名を以前のものから新しいものに変換してください。
Technical Support
製品のサブスクライブや導入に問題がある場合は、aws-mktpl-uid@thetradedesk.com までご連絡ください。