フロー・ログ・コレクターの作成
特定の仮想プライベート・クラウド (VPC)、サブネット、インスタンス、またはインターフェース用のフロー・ログ・コレクターを注文してプロビジョンすることができます。 始める前に、フロー・ログについてでリストされているユース・ケースを確認し、以下の前提条件を満たしていることを確認してください。
フロー・ログ・コレクターをプロビジョンする際には、細分度の最も高いものが優先されるという点に留意してください。
コンソールでの前提条件
フロー・ログ・コレクターを作成する前に、以下の前提条件を満たしていることを確認してください。
-
少なくとも 1 つの VPC、サブネット、および仮想サーバー・インスタンスが存在することを確認してください。 この手順については、VPC およびサブネットの作成および仮想サーバー・インスタンスの作成を参照してください。
-
フローログ用のバケットを持つ IBM Cloud® Object Storage インスタンスが存在することを確認する。 Object Storage バケットを作成するには、 IBM Cloud Object Storage の注文ページを参照してください。
Object Storage バケットは、対象リソースと同じリージョンにある単一リージョンバケットでなければならない。 また、IAM アクセス・グループと監査ロギングを使用してバケットを保護することをお勧めします。
CLI からの前提条件
フロー・ログ・コレクターを作成する前に、以下の前提条件を満たしていることを確認してください。
-
少なくとも 1 つの VPC、サブネット、および仮想サーバー・インスタンスが存在することを確認してください。 この手順については、VPC およびサブネットの作成および仮想サーバー・インスタンスの作成を参照してください。
-
フローログ用のバケットを持つ IBM Cloud® Object Storage インスタンスが存在することを確認する。 Object Storage バケットを作成するには、 IBM Cloud Object Storage の注文ページを参照してください。
Object Storage バケットは、対象リソースと同じリージョンにある単一リージョンバケットでなければならない。 また、IAM アクセス・グループと監査ロギングを使用してバケットを保護することをお勧めします。
-
タイプのリソースを認可する。 Flow Logs for VPCObject Storage タイプのリソースを認可する。
これを行うには、次のコマンドを入力します。
ibmcloud iam authorization-policy-create is cloud-object-storage Writer --source-resource-type flow-log-collector --target-service-instance-id $COS_INSTANCE_GUID ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUID
Object Storage インスタンスの Service credentials セクションから
COS_INSTANCE_GUID
を取得できます。Object Storage サービス資格情報 詳しくは、許可を使用した、サービス間のアクセス権限の付与を参照してください。
API の前提条件
フロー・ログ・コレクターを作成する前に、以下の前提条件を満たしていることを確認してください。
-
少なくとも 1 つの VPC、サブネット、および仮想サーバー・インスタンスが存在することを確認してください。 この手順については、VPC およびサブネットの作成および仮想サーバー・インスタンスの作成を参照してください。
-
フローログ用のバケットを持つ IBM Cloud® Object Storage インスタンスが存在することを確認する。 Object Storage バケットを作成するには、 IBM Cloud Object Storage の注文ページを参照してください。
Object Storage バケットは、対象リソースと同じリージョンにある単一リージョンバケットでなければならない。 また、IAM アクセス・グループと監査ロギングを使用してバケットを保護することをお勧めします。
-
タイプのリソースを認可する。 Flow Logs for VPCObject Storage タイプのリソースを認可する。
そのためには、以下の手順を使用します。
-
IBM Cloud のコンソールで、**「管理」>「アクセス (IAM)」をクリックしてから、ナビゲーション・ペインで「許可」**を選択します。
-
**「作成」**をクリックし、次の情報を入力します。
「ソース・サービス」で、次のようにします。
- **「VPC インフラストラクチャー・サービス (VPC Infrastructure Services)」**を選択します。
- **「選択された属性に基づくリソース」**を選択します。
- リソース・タイプでは、**「Flow Logs for VPC」**を選択します。
- ソース・サービス・インスタンスでは、**「すべてのインスタンス」**を選択します。
「ターゲット・サービス」で、次のようにします。
- **「Cloud Object Storage」**を選択します。
- **「選択された属性に基づくリソース」**を選択します。
- サービス・インスタンスでは、**「ストリングが等しい」 > 「すべてのインスタンス」**を選択します。
サービス・アクセスでは、**「ライター」**役割を選択して、ターゲット・サービスにアクセスするソース・サービスに対してアクセス権限を割り当てます。
-
「許可」 をクリックします。
詳しくは、許可を使用した、サービス間のアクセス権限の付与を参照してください。
-
コンソールでフローログコレクターを作成する
IBM Cloud コンソールを使用してフロー・ログ・コレクターを作成するには、以下のステップを実行します。
-
IBM Cloud コンソールにアクセスし、アカウントにログインする。
-
ナビゲーション メニュー
を選択し、 インフラストラクチャ
> ネットワーク > フロー ログをクリックします。 「VPC 用のフロー・ログ」ダッシュボードが表示されます。
の -
**「フロー・ログ・コレクターの作成 (Create flow log collector)」**をクリックして、フロー・ログのプロビジョニング・ページに移動します。
-
以下のフィールドに値を入力します。
- 名前 (Name) - フロー・ログ・コレクターの固有の名前を入力します。
- リソース・グループ (Resource group) - フロー・ログ・コレクターのリソース・グループを選択します。 このフロー・ログにデフォルト・グループを使用することも、リストから選択することもできます (定義されている場合)。 詳しくは、『リソースをリソース・グループに編成するためのベスト・プラクティス』を参照してください。
- タグ- オプションで、タグを追加して、リソースの整理、使用コストの追跡、アクセス管理を行うことができます。
- アクセス管理タグ-オプションで、アクセス制御関係の編成に役立つアクセス管理タグをリソースに追加します。 サポートされるアクセス管理タグの形式は
key:value
のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。
-
**「フロー・ログ・コネクターの接続先 (Attach the flow log connector to)」**メニューから、フロー・ログのターゲット・タイプを選択します。 選択内容によっては、追加フィールドが必要になる場合があります。
- 仮想プライベートクラウド- VPCを選択します。 選択した VPC 内のすべてのネットワーク・トラフィックがログに記録されます。
- サブネット - VPC を選択して、その VPC 内のサブネットを選択します。 選択したサブネット内のすべてのトラフィックがログに記録されます。
- インスタンス - VPC を選択して、その VPC 内の仮想サーバー・インスタンスを選択します。 仮想サーバー・インスタンスのすべてのトラフィックがログに記録されます。
- インターフェース - VPC を選択して、その VPC 内の仮想サーバー・インスタンスを選択してから、その仮想サーバー・インスタンスのネットワーク・インターフェースを選択します。 選択したネットワーク・インターフェースのすべてのトラフィックがログに記録されます。
-
ログを書き込む場所を指定します。 フローログは、 Object Storage バケットに書き込まれます。このバケットは、ターゲットリソースと同じリージョンに単一リージョンバケットとして作成する必要があります。
- Cloud Object Storage instances- 欲しいバケツが存在する インスタンス。 Object Storage
- ロケーション (Location) - この入力は、ターゲット・リソースが存在するリージョンに直接関連付けられているため、利用できなくなっています。
- Bucket- フローログコレクターサービスが書き込む IBM Cloud® Object Storage バケツ。
CLIからのフローログコレクタの作成
開始する前に、 CLI 環境をセットアップします。
CLI を使用してフロー・ログ・コレクターを作成するには、次のコマンドを実行します。
ibmcloud is flow-log-create \
--bucket STORAGE_BUCKET_NAME \
--target TARGET_ID [--name NAME] \
--active ACTIVE \
[--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] \
[--json]
ここで、
-
- -bucketは Object Storage バケツ名。
- --target は、フロー・ログのターゲットです。
- --name は、フロー・ログの新しい名前です。
- --active は、このコレクターがアクティブかどうかを示します。
- --resource-group-id は、リソース・グループの ID です。 このオプションは --resource-group-name と同時に指定することはできません。
- --resource-group-name は、リソース・グループの名前です。 このオプションは --resource-group-id と同時に指定することはできません。
- --json は、出力を JSON でフォーマットします。
APIを使用してフローログコレクターを作成する
API を使用してフロー・ログ・コレクターを作成するには、以下のステップを実行します。
-
適切な変数を設定して API 環境をセットアップします。
-
API コマンドで使用する以下の値を変数に格納します。
ResourceGroupId
- まず、リソース・グループを取得してから、この変数に値を割り当てます。
export ResourceGroupId=<your_resourcegroup_id>
VpcId
- list vpc コマンドを使用してこの値を確認してから (上記の変数を使用)、得られた ID に基づいてこの変数の値を設定します。
export VpcId=<your_VPC_id>
COSbucket
- Object Storage バケツの名前。
export COSbucket=<your_COS_bucket_name>
-
すべての変数が開始されたら、特定 VPC 用のフロー・ログ・コレクターをプロビジョンします。
curl -X POST -sH "Authorization:${iam_token}" "$vpc_api_endpoint/v1/flow_log_collectors?version=$api_version&generation=2" \ -d '{ \ "name": "flow-logs-1", \ "resource_group": { "id": "'$ResourceGroupId'" }, \ "storage_bucket": { "name": "'$COSbucket'" }, \ "target": { "id": "'$VpcId'" } \ }' | jq
この例では、
jq
をパーサーとして使用しています。jq
は、 MIT ライセンスの 下でライセンスされたサードパーティツールです。インスタンスの作成時に利用可能なすべての VPC イメージにプリインストールされているとは限りません。 使用する前にjq
をインストールするか、お好みの他のパーサーを使用する必要があるかもしれません。 -
サブネット、仮想サーバー・インスタンス、または VNIC をターゲットとするコレクターをプロビジョンするには、コレクター・ターゲットとしてそれぞれサブネット ID、仮想サーバー・インスタンス ID、または VNIC ID を指定する必要があります。 例えば、以下の要求では、仮想サーバー・インスタンス ID をターゲットとするコレクターが作成されます。
export VsiId=<your_vsi_id>
curl -X POST \ -sH "Authorization:${iam_token}" \ "$vpc_api_endpoint/v1/flow_log_collectors?version=$api_version&generation=2" \ -d '{ \ "name": "flow-logs-1", \ "resource_group": { "id": "'$ResourceGroupId'" }, \ "storage_bucket": { "name": "'$COSbucket'" }, \ "target": { "id": "'$VsiId'" } \ }' | jq