Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュリティもネットワークもVS Codeで! 〜 F5 BIG-IP VS Code拡張機能のご紹介

セキュリティもネットワークもVS Codeで! 〜 F5 BIG-IP VS Code拡張機能のご紹介

0147e163c8887ea22e97c62b6965a261?s=128

Tetsuya Tsuji

June 04, 2022
Tweet

More Decks by Tetsuya Tsuji

Other Decks in Technology

Transcript

  1. セキュリティもネットワークもVS Codeで︕ 〜 F5 BIG-IP VS Code拡張機能のご紹介 2022年6⽉3⽇ F5ネットワークスジャパン合同会社 ソリューションエンジニアリング本部

    辻 哲也
  2. | ©2022 F5 2 • [名前] 辻 哲也 (つじ てつや)

    • [所属・肩書] F5ネットワークスジャパン合同会社 ソリューションエンジニア • [担当業務] パートナー様向けの提案⽀援、新製品情報のご提供 etc. • [経歴] 国内通信⼤⼿企業から、外資系ネットワーク/セキュリティベンダーを経て、2019年にF5⼊社 • [得意分野] ネットワーク、セキュリティ、サーバ/ストレージ周辺技術 • [SNS (LinkedIn)] www.linkedin.com/in/tetsuyatsuji ⾃⼰紹介
  3. | ©2022 F5 3 負荷分散 (ロードバランサ) ファイアウォール WAF 広域負荷分散 DDoS

    BOT対策 アクセス制御 アプリ状況の監視 SSL通信 可視化 WEB不正 アクセス対策 BIG-IPソフトウェア製品モジュールを稼働させる基盤 プロキシとして上記の機能を提供 F5 BIG-IP = 快適なアプリケーション基盤の実現
  4. | ©2022 F5 4 “これまで”のネットワーク&セキュリティ製品管理 CLI (Bash/TMSH) GUI (TMUI/BIG-IQ) F5

    BIG-IP
  5. | ©2022 F5 5 F5 BIG-IP “これから”のネットワーク&セキュリティ製品管理 API (Curl/Postman/VS Code)

    + Ansible/Terraform & AS3
  6. | ©2022 F5 6 • BIG-IP (BIG-IQ)/NGINX製品向けのVS Code拡張機能 • オープンソース・プロジェクトとしての提供

    • F5DevCentralが提供しているものは以下の通り • Th F5 Extension (https://f5devcentral.github.io/vscode-f5/#/) − Automation ToolChainを活⽤して、BIG-IP/BIG-IQの設定やアプリケーション設定 をIaC (Infrastructure as Code)的に設定 • F5 ACC Chariot: AS3 Configuration Converter (ACC)統合 • DevCentralが提供している以外のBIG-IP向け拡張機能 • 例: F5 Networks iRules (推奨) (https://marketplace.visualstudio.com/items?itemName=bitwisecook.irule) − iRules向けにIntellisenseやCode Formattingの機能を提供 F5 Extension for VS Code
  7. | ©2022 F5 7 • Automation ToolChain (ATC)パッケージの管理 • ATC向け宣⾔ファイル

    (JSON形式)のエディタ • “IntelliSense”を利⽤可能 • “iRules Editor”としての利⽤ • 前述の”F5 Netwroks iRules”拡張機能を利⽤ • 既存BIG-IPからの設定の読み込み • UCSファイルの取得も可能 • 既存BIG-IP設定ファイル (.conf)からATC向け宣⾔ファイル (JSON)への変換 • F5 ACC (AS3 Configuration Convertor)により提供 • HTTP/REST APIクライアント F5 Extension for VS Codeの主な⽤途
  8. | ©2022 F5 8 • BIG-IPを選択して”Explore Config“を選択 • “mini_ucs”を⽣成して、VS Code上にBIG-IPの設定をインポート

    (右図) BIG-IP Config Explorer
  9. | ©2022 F5 9 1. コマンドパレットを開き、”F5: Remote Command Execute”を選択 2.

    BIG-IP上で実⾏するコマンドを⼊⼒ 3. 実⾏結果をファイルに出⼒ (右図) BIG-IP CLI (Linux/tmsh)の実⾏
  10. | ©2022 F5 10 • iRulesのコーディングを⽀援 • 以下の機能を提供 • Intellisense

    • コード整形 (Code Formatting) • TCL Helper • コードチェック (Diagnostics) • 詳細は以下を参照 https://marketplace.visualstudio.com/items?ite mName=bitwisecook.irule “F5 Networks iRules” Extension iRules Editor
  11. | ©2022 F5 11 • CONFIG EXPLORERで読み込んだBIG-IPの Apps設定 (TMOSオブジェクト形式)を選択 F5

    ACC Chariot 既存TMOS設定のAS3/JSON形式への変換 • 右クリックで”Convert with ACC”を選択 して、AS3 (JSON)形式へ変換
  12. | ©2022 F5 12 • F5 iControl LX Extension (Node.js)

    • L4-L7のアプリケーション・サービス設定のための「宣⾔的な」インタ フェースを提供 • 単⼀のREST APIエンドポイント (/mgmt/shared/appsvcs/declare) によるデプロイ • JSONベースのドキュメント • マルチ・テナンシーをサポート • “原⼦性 (Atomicity)”と“冪等性 (Idempotence)”を実現 App Services 3 Extension (AS3) ユーザ 宣⾔型API テナント-1 App-1 App-2 App-N テナント-X App-1 App-2 App-N サービス例: • HTTP • SSL Offload • URL Routing • HTTP(s) w/ WAF • Fast L4 TCP/UDP • プール・メンバのサービス・ディスカバリをサポート • 複数のアプリケーション・タイプをサポート • BIG-IPドメインに関する知識は最低限でOK • 設定に関するエラーを最⼩化し、⼀貫性を最⼤化 • TMOSとは独⽴したRPMパッケージ • BIG-IP v12.1以降/BIG-IQで動作 https://github.com/F5Networks/f5-appsvcs-extension
  13. | ©2022 F5 13 • AS3 JSONファイルを右クリックし、”Post as AS3 Declaration”を選択

    AS3: 設定の反映 (POST) • エラーがない場合はCode “200”が返され、 BIG-IPに設定が反映される AS3によって作成された パーティション AS3によって作成された Virtual Server
  14. | ©2022 F5 14 https://registry.terraform.io/providers/F5Networks/bigip/latest/docs/resources/bigip_as3 Terraform bigip provider: “bigip_as3” resource

    BIG-IPの設定をJSON形式で 宣⾔的に定義
  15. | ©2022 F5 15 F5 BIG-IP Collections v2 as3.json

  16. None