エージェントインストールガイド
概要
ここでは、AWS EC2の環境でContrastのJavaエージェントを使用する方法について紹介します。 Amazon Elastic Compute Cloud(Amazon EC2)は、アマゾン ウェブ サービス (AWS) クラウド内で安全でサイズ変更可能なコンピューティング性能を提供します。Amazon EC2を使用すれば、ハードウェアへの先行投資が不要になるため、アプリケーションの開発・デプロイを迅速に行うことができます。
本項を参考にご利用の環境に合わせた方法で、アプリケーションにContrastエージェントをインストールし、必要に応じてチーム内で共有してください。
本項では主に、Amazon AWS EC2のLinuxベースの環境で実行するJavaアプリケーションにContrastエージェントを組み込むための最も一般的な方法について説明します。
主な手順
EC2インスタンスにContrastエージェントをインストールするには、以下の2つの方法があります。
方法 1:Contrast APIを使用してContrastエージェントをインストール
- EC2インスタンスを起動
- EC2インスタンスの起動時にContrast エージェントをダウンロード/インストールするスクリプトをユーザデータに指定
- Contrastエージェントを利用するようにEC2インスタンスを設定
- Contrastエージェントを有効にしてアプリケーションを起動
方法 2:yumリポジトリからContrasエージェントをインストール
- EC2インスタンスを起動
- EC2インスタンスにContrast yumリポジトリを追加するスクリプトをユーザデータに指定
- yumリポジトリからContrastエージェントをインストール
- Contrastエージェントを利用するようEC2インスタンスを設定
- Contrastエージェントを有効にしてアプリケーションを起動
サポート対象のテクノロジ
作業を開始する前に、ご利用のJavaのツールや環境がContrastでサポートされていることを確認してください:
https://docs.contrastsecurity.jp/ja/java-supported-technologies.html
本項は以下を前提としております:
- EC2とJavaの仕組みに関してある程度の知識があること
- AWS Secrets Managerに関してある程度理解していること
- Contrast API経由でエージェントをダウンロードするために利用できるAPI認証情報があること
- Contrast JavaエージェントがContrastサーバに接続するための必要な情報があること
- 以下のEC2開始方法のチュートリアルに従っていること:
- AWSインスタンスにアクセスするためにAWS CLIをインストールして設定済みであること
手順
事前の準備
AWS CLIを使用して、必要なAPI認証情報をAWS Secrets Managerに追加
ターミナルから、コマンドラインで以下の2つのコマンドを実行します。
aws secretsmanager create-secret --region <AWS_REGION> --name <SECRET_NAME_API> --secret-string <YOUR_API_KEY>
|
aws secretsmanager create-secret --region <AWS_REGION> --name <SECRET_NAME_AUTH> --secret-string <YOUR_AUTHORIZATION_HEADER>
|
ご利用の環境に合わせて値を置き換えてください:
<SECRET_NAME_API>
= ユーザのAPIキーを保存するために作成するAWS Secrets Managerのシークレット名<SECRET_NAME_AUTH>
= ユーザの認証ヘッダーを保存するために作成するAWS Secrets Managerのシークレット名<YOUR_API_KEY>
= Contrast APIにアクセスするために使用されるユーザのAPIキー<YOUR_AUTHORIZATION_HEADER>
= Contrast APIにアクセスするために使用されるユーザの認証ヘッダー
ユーザのAPIキーの検索方法は、Contrastドキュメントで以下を参照ください。
https://docs.contrastsecurity.jp/ja/personal-keys.html
注:
Contrast APIへのプログラムによるアクセスのために、API用ユーザを作成することをお勧めします。
AWS Secrets Managerへのアクセスを許可するIAMロールを作成
AWSの管理コンソールで、IAMを選択し、続いて表示される画面でロールを選択します。
- 「ロールの作成」ボタンをクリックします。
- 「AWS サービス」を選択し、「EC2」を選択します。
- 「次のステップ:アクセス権限」をクリックします。
- 「SecretsManagerReadWrite」を検索します。
- 「SecretsManagerReadWrite」ポリシーのチェックボックスにチェックをします。
- 「次のステップ:タグ」を選択し、ロールに適切なタグを作成します。
- 「次のステップ:確認」をクリックします。
- IAMロールに適切な名前を付けます(本項では<IAM_ROLE>として表記されます)。
EC2のユーザデータでContrast Javaエージェントをインストール
以下の手順で、EC2インスタンスにContrast Javaエージェントをインストールします。
EC2インスタンスを作成
AWS EC2の管理コンソールで、インスタンス起動を選択して、EC2起動画面を開始します。
インスタンス起動の画面で、
- Amazonマシンイメージ(AMI)の選択画面で、「Amazon Linux 2 AMI (64-ビット x86)」を選択します。
- インスタンスタイプには、「t2.micro」を選択するか、アプリケーションに応じて適切なタイプを選択します。
- 「次のステップ:インスタンスの詳細の設定」をクリックします。
- 「インスタンスの詳細の設定」画面で、以下を行います。
- 前述の事前準備で作成したIAMロール<IAM_ROLE>を選択します。
- 「ユーザーデータ」フィールドに以下のスクリプトを貼り付けます。
#!/bin/bash |
ご利用の環境に合わせて値を置き換えてください:
<SECRET_NAME_API>
= 前述の事前準備で作成した、APIキーを保存しているAWS Secrets Managerのシークレット名<SECRET_NAME_AUTH>
= 前述の事前準備で作成した、認証ヘッダーを保存しているAWS Secrets Managerのシークレット名<ORGANIZATION_ID>
= Contrastサーバ内の自分の組織の組織ID
- 「確認と作成」をクリックします。
- 「作成」をクリックして、EC2インスタンスを起動します。
yumリポジトリからContrast Javaエージェントをインストール
以下の手順で、EC2インスタンスにContrast Javaエージェントをインストールします。
EC2インスタンスを作成
AWS EC2の管理コンソールで、インスタンス起動を選択して、EC2起動画面を開始します。
インスタンス起動の画面で、
- Amazonマシンイメージ(AMI)の選択画面で、「Amazon Linux 2 AMI (64-ビット x86)」を選択します。
- インスタンスタイプには、「t2.micro」を選択するか、アプリケーションに応じて適切なタイプを選択します。
- 「次のステップ:インスタンスの詳細の設定」をクリックします。
- 「インスタンスの詳細の設定」画面で、以下を行います。
- 前述の事前準備で作成したIAMロール<IAM_ROLE>を選択します。
- 「ユーザーデータ」フィールドに以下のスクリプトを貼り付けます。
#!/bin/bash |
ご利用の環境に合わせて値を置き換えてください:
<SECRET_NAME_API>
= 前述の事前準備で作成した、APIキーを保存しているAWS Secrets Managerのシークレット名<SECRET_NAME_AUTH>
= 前述の事前準備で作成した、認証ヘッダーを保存しているAWS Secrets Managerのシークレット名<ORGANIZATION_ID>
= Contrastサーバ内の自分の組織の組織ID
- 「確認と作成」をクリックします。
- 「作成」をクリックして、EC2インスタンスを起動します。
FAQ
- Javaエージェントをインストールするたびに、最新のエージェントに更新する方法は?
Javaエージェントを最新の状態に保つ方法についてこちらで解説しています: https://support.contrastsecurity.com/hc/en-us/articles/360054526731