Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Similar to NGINX + Ansible Automation Webinar (日本語版)(20)

Advertisement

More from NGINX, Inc.(20)

Recently uploaded(20)

Advertisement

NGINX + Ansible Automation Webinar (日本語版)

  1. NGINX + Ansibleによる システム構築・運用自動化 F5ネットワークスジャパン合同会社 NGINX – テクニカルソリューションズアーキテクト 鈴木 孝彰
  2. 本日のアジェンダ • NGINX 製品ご紹介 • NGINX と Ansibleについて • デモ NGINX製品 + Ansible Tower + AWS • まとめ • Q/A, その他
  3. 主要パブリッククラウド SaaS / クラウド型サービスデータセンタ F5 Silverline フルマネージド型クラウドサービス DNS Cloud Services DNS Loadbalancer Cloud Services Essential App Protect Services 独自オペレーティングシステム:TMOS 機能カスタマイズ言語&API:iRules/iControl/iApps/iCall 加入者 ポリシー 制御 キャリア NAT IPv4/ v6 ロード バランサ インテリ ジェント DNS 回線 冗長化 リモート アクセス ・SSO WAF (L7) L3- L4 FW PEM CGNAT LTM DNS LC APM AWAF AFM SSL 可視化 SSLO Proxy URL Filter SWG 管理系・可視化・ アナリティクス F5 Beacon セルフサービス型クラウドサービス BIG-IPソフトウェア製品モジュールを稼働させる基盤 ADC製品 : BIG-IPソフトウェア製品モジュール群 BIG-IQ BIG-IP集中管理・ オーケストレーション クレデンシャルスタッフィング攻撃・ BOTトラフィック対策 アナリティクス製品 モダナイゼイションインフラに最適なAll In Oneソフトウェア 安定・高速・低リソースと幅広い機能を提供でき、 アプリケーションデリバリに必要な要件をシンプルに 実現する高品質データプレーンソリューション NGINXのオーケストレーション インスタンス・証明書管理や CI/CDとシームレスに統合 F5 Product Portfolio 本日のご紹介範囲
  4. 4.5億 sites run NGINX WE HAVE TREMENDOUS INSIGHT INTO APPLICATION PATTERNS | ©2020 F5 NETWORKS4 https://news.mynavi.jp/article/20200827-1251527/ https://news.netcraft.com/archives/2020/08/26/august-2020-web- server-survey.html
  5. DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD NGINX 製品 NGINX Plus All-In-One Software ロードバランサー、コンテンツキャッシュ、 Webサーバ 安定、高速、高機能 必要となるリソースは最小 NGINX Controller NGINX+統合管理ソフトウェア NGINX+のロードバランサやAPI Gateway、更にマルチクラウド環境に おいても容易に管理が可能。 GUI/CLIに加えAPIでの制御が可能 NGINX Unit NGINXが開発する新しいダイナミック アプリケーションサーバ OSSで提供されており、複数の プログラミング言語をサポート。 NGINX UnitはREST APIを用いて 設定変更が可能
  6. DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD NGINX Service Mesh NGINX Plusで複雑な マイクロサービス、アプリケーション間の 通信問題を解決するシンプルな サービスメッシュソリューション。 Amazon EKS対応 NGINX App Protect アプリケーションに特化した Web Application Firewall NGINX+にシームレスに統合可能な 新しいWAF。 F5の実績に基づき、 高速な高品質なWAFを実現 NEW NGINX 製品 NGINX Ingress Controller Kubernetes環境への 外部アクセスをコントロール。 NGINX機能をIngressリソース を通じて管理可能。 NGINX App Protect対応 NEW
  7. NGINXによるアプリケーションモダナイズ例 NGINXの特性を生かし、 アプリ開発者はアプリの開発に注力し、セキュリティも担保できる基盤を実現する案。 APIマネジメント モニタリング 自動化 WAF サービスメッシュ Docker Kubernetes マルチクラウド HTTP/HTTPS レート/アクセス制限 軽量/高速処理 コンテンツキャッシュ
  8. NGINXによるアプリケーションモダナイズ例 NGINXの特性を生かし、 アプリ開発者はアプリの開発に注力し、セキュリティも担保できる基盤を実現する案。 APIマネジメント モニタリング 自動化 WAF サービスメッシュ Docker Kubernetes マルチクラウド HTTP/HTTPS レート/アクセス制限 軽量/高速処理 コンテンツキャッシュ
  9. NGINX と Ansibleについて
  10. What is Ansible ? 10 • Ansible(アンシブル)は、レッドハットが開発するオープンソースの構成管理 ツールである。サーバを立ち上げる際、あらかじめ用意した設定ファイルに従って、 ソフトウェアのインストールや設定を自動的に実行する事が出来る。 • Ansibleは非常に強力な自動化ツール、運用のセルフサービス化 Wikipedia : https://ja.wikipedia.org/wiki/Ansible_(ソフトウェア) https://www.redhat.com/ja/explore/ansible
  11. What is Ansible ? 11 • Ansible(アンシブル)は、レッドハットが開発するオープンソースの構成管理 ツールである。サーバを立ち上げる際、あらかじめ用意した設定ファイルに従って、 ソフトウェアのインストールや設定を自動的に実行する事が出来る。 • Ansibleは非常に強力な自動化ツール、運用のセルフサービス化 https://www.redhat.com/ja/explore/ansible
  12. What is Ansible ? 12 Ansibleを利用してNGINX製品の非常に強力な自動化が可能 APIマネジメント モニタリング 自動化 WAF サービスメッシュ Docker Kubernetes マルチクラウド HTTP/HTTPS レート/アクセス制限 軽量/高速処理 コンテンツキャッシュ
  13. NGINX Ansible History 2018 2017 2015 2020 2015年: NGINXおよびNGINXPlusをインストールするためのAnsibleプレイブックを作成する方法を説明するブログ を公開しました。コミュニティメンバーから、公式のAnsible roleを開発して維持する必要があると言われ ブログ記事削除。 https://www.nginx.com/blog/announcing-nginx-core-collection-ansible 2017年: NGINXとNGINX Plusの基本的なインストールを別々に実行する2つの最初のAnsible roleを提供しました。 2018年: 初期Ansible Roleを1つのNGINX roleに統一、NGINXとNGINX Plusの両方をインストールできるようにしまし た。NGINXの設定、NGINX Unitのインストール等、NGINX roleを強化しました。 2020年: NGINX Coreの認定コレクションをリリース。 NGINX Controllerの認定コレクションをリリース。 新しいセキュリティソリューションNGINX App Protectに対応
  14. Ansible Galaxy galaxy.ansible.com Ansible Automation Hub cloud.redhat.com ● コミュニティサポート ● 最新コレクションフレーム ワークを活用 ● Red Hatと認定パートナーが共同サポート ● 高度分析や情報へのアクセス Ansible コンテンツ配布元
  15. https://access.redhat.com/articles/3642632
  16. Ansible コレクション NGINX Controller • 17 Roles 利用可能 NGINX Core • 3 Roles 利用可能 Ansibleコレクションは Playbook, Role, Module, Pluginを まとめた配布形式
  17. WITH ANSIBLE, NGINX CONTROLLER & NGINX PLUS Ansible コレクション 次の場合にNGINX Ansibleコレクションを選択します NGINX Core • NGINX OSS インストール/設定 • NGINX Plus (評価|商用版)インストール/設定 • NGINX App Protect (評価|商用版) インストール/設定 NGINX Controller • NGINX Controller (評価|商用版) インストール/設定
  18. Ansible NGINX Core コレクション --- - hosts: all collections: - nginxinc.nginx_core roles: - role: nginx - role: nginx_config vars: nginx_config_http_template_enable: true nginx_config_http_template: app: template_file: http/default.conf.j2 conf_file_name: default.conf conf_file_location: /etc/nginx/conf.d/ servers: main: listen: listen_localhost: port: 80 server_name: localhost access_log: - name: main location: /var/log/nginx/access.log reverse_proxy: locations: main: location: / proxy_pass: http://upstr/ proxy_set_header: header_host: NGINX OSS インストール NGINX OSS 設定 NGINX Core コレクション NGINX OSS
  19. Ansible NGINX Core コレクション --- - hosts: all collections: - nginxinc.nginx_core roles: - role: nginx vars: nginx_type: plus nginx_license: certificate: "/var/lib/awx/venv/ansible/nginx-repo.crt" key: "/var/lib/awx/venv/ansible/nginx-repo.key” NGINX Plus NGINX Plus インストール *NGINX Plus ライセンスファイル指定 NGINX Core コレクション
  20. Ansible NGINX Core コレクション --- - hosts: all collections: - nginxinc.nginx_core roles: - role: nginx vars: nginx_type: plus nginx_license: certificate: "/var/lib/awx/venv/ansible/nginx-repo.crt" key: "/var/lib/awx/venv/ansible/nginx-repo.key” - role: nginx_app_protect vars: nginx_app_protect_setup_license: false nginx_app_protect_remove_license: false nginx_app_protect_install_signatures: true NGINX Plus, NGINX App Protect NGINX Plus インストール NGINX App Protect インストール
  21. Ansible NGINX Controller コレクション - hosts: all collections: - name: nginxinc.nginx_controller - include_role: name: nginxinc.nginx_controller.nginx_controller_generate_token - name: Get controller api key for agent registration uri: url: "https://{{nginx_controller_fqdn}}/api/v1/platform/global" method: "GET" return_content: yes status_code: 200 validate_certs: false headers: Cookie: "{{nginx_controller_auth_token}}" register: ctrl_globals - name: Copy api_key to a variable set_fact: nginx_controller_api_key: "{{ctrl_globals.json.currentStatus.agentSettings.apiKey}}" - name: install the agent include_role: name: nginxinc.nginx_controller.nginx_controller_agent NGINX Controller 関連 c NGINX Controller コレクション NGINX Controller Agentインストール
  22. Demo
  23. NGINX OSS インスタンス NGINX Plus インスタンス デモ環境: Red Hat Ansible Tower, NGINX Collections, AWS ⓪ GitHub Playbook ① Red Hat Ansible Tower ログイン ② AWS インスタンス作成ジョブ実行 ③ NGINX OSS ジョブ実行 ④ NGINX Plus ジョブ実行 ⑤ NGINX App Protect ジョブ実行 ⑥ NGINX Controller Agent ジョブ実行 ⑦ NGINX Controller から動作確認 amazon.aws.collection nginxinc.nginx_core nginxinc.nginx_controller playbook ⓪ ① ③ ④⑤⑥ ⑦ ②
  24. Projects amazon.aws.collection nginxinc.nginx_core nginxinc.nginx_controller Playbook/Collection InventoriesCredentials NGINX OSS/Plus インスタンス Access/Secret Templates 各リソースを指定 - Inventory - Project - Playbook - Credential ’Launch’ Playbook Job実行 デモ環境: Red Hat Ansible Tower, NGINX Collections, AWS SSH Key
  25. 補足資料
  26. NGINX リバースプロキシ Drivers登録 microservice モバイル microservice PC向け microservice /api/f1/* /application01 /pc/circuits/* = /mobile/f1/seasons F1 GET microservice TCP/UDP, HTTP/HTTPS, gRPC, コンテンツキャッシュ,アクセス制御、 レート制限
  27. NGINX Plusで追加されている機能 • ロードバランシング 負荷分散アルゴリズム, セッション維持, L7ヘルスチェック • 動的設定変更 REST API, アップストリーム, SSL証明書, Key-Valueストア, キャッシュ削除 • 監視 REST API, ダッシュボード, Prometheus, DataDog/NewRelicエージェント対応 • 公式Dockerfile 公式ドキュメント, NGINX Plus Ingress Controller • 高可用性とクラスタリング HA構成, ステート情報の共有, クラウド環境スケールアップ/ダウン • 認証 OpenID, JWT • Webアプリケーションファイアウォール NGINX App Protect • 認定サードパーティ動的モジュール NGINX, コミュニティ, 認定ISV
  28. Public Cloudを補完するNGINX Plus ① Public Cloudはトラフィック処理とセキュリティ機能について不足機能があり、 NGINX Plus が機能的に優れる点も多数 カテゴリ 機能 NGINX Plus AWS ALB AWS CLB AWS NLB Azure AG Azure LB トラフィック 処理 L4/L7負荷分散 ○ ○ ○ ○ ○ ○ 対応プロトコルの幅の広さ ◎ TCP, UDP, SSL, HTTP, HTTPS, gRPC, WebSocket △ HTTP, HTTPS バックエンド向けgRPC通信 未対応 ○ TCP, SSL, HTTP, HTTPS △ TCP △ HTTP, HTTPS ○ Basic SKU: TCP, HTTP Standard SKU: TCP, HTTP, HTTPS ロードバランシングルール ◎ ラウンドロビン、リーストコ ネクション、リーストタイム △ ラウンドロビンのみ △ ラウンドロビンのみ △ ハッシュベースルーティング のみ ○ ラウンドロビン、URL毎ルー ルベース △ ハッシュベースルーティング のみ セッション維持 ◎ Cookieセッション維持 △ クッキーのみ △ クッキーのみ × △ クッキーのみ ○ ハッシュ、ソースアドレス リーバスプロキシ ○ ○ × × ○ × SSLオフロード ◎ TLS v1.3対応 動的SSL証明書更新 幅広いCipher Suiteに対応可 ○ ○ × ○ × ゾーンをまたぐ負荷分散 ◎ ◎ ◎ ◎ ◎ ○ Standard SKUのみ L7レイヤーデータの解析 ◎ locationを利用 × × × × × クライアント証明書チェック ◎ × × × × ×
  29. カテゴリ 機能 NGINX Plus AWS ALB AWS CLB AWS NLB Azure AG Azure LB トラフィック 処理 送信元ソースIPアドレスの保持 ○ X-Forwarded-Forに挿入可能 ○ X-Forwarded-Forに挿入可能 ○ X-Forwarded-Forに挿入可能 ○ 送信元IPアドレスとポートの 書換えなし ○ X-Forwarded-Forに挿入可能 ○ WebSocket対応 ○ ○ × ○ ◎ × HTTP/2対応 ◎ ◎ × × ◎ × 流量制御(コネクションリミッ ト)+Sorryメッセージの表示 ◎ コネクションリミット、コネ クションレートリミット × × × ? ? 帯域制御 ◎ brotli/gzip圧縮 帯域制御など可 × × × ? ? HTTPキャッシュ ◎ REST APIを利用したキャッ シュクリアに対応 △ CloudFrontが必要 △ CloudFrontが必要 △ CloudFrontが必要 ? ? IPv6対応 ◎ ○ ○ × × ○ セキュリティ WAF追加 ◎ NGINX App Protectアドオン可 ○ × × ○ × FW追加 ◎ map, geo対応可能 × × × × × Public Cloudを補完するNGINX Plus ② Public Cloudはトラフィック処理とセキュリティ機能について不足機能があり、 NGINX Plus が機能的に優れる点も多数
  30. NGINX Plus 商用サブスクリプション • テクニカルサポート 受賞歴 (Steve Gold 9.7/10) 顧客満足度 • 定期的な機能追加更新 安定したサイクル (年約3回, 4月,9月,12月) • F5でテストされたソフトウェアバイナリ コミュニティ実証済み, NGINXによる追加テスト • プロアクティブなセキュリティ更新プログラム セキュリティパッチ, ホットフィックスの提供 • 機密性 公開フォーラムではなく、プライベートでのサポート • 製品の方向性に影響を与える ロードマップ, 製品開発チームへのアクセス • 商用サブスクリプションの有効期限が切れた場合 • NGINX Plusは正常に動作し続けます. • 最新版アップデートが不可となります. • サブスクリプション更新後は最新版アップデートが可能です.
  31. CONFIDENTIAL NGINX Plusダッシュボード メトリクス参照と動的な設定変更
  32. NGINX App Protect ワールドワイドで実績豊富なF5製WAFの機能を移植 (Signature/DataGuard/HTTP Compliance/Evasion Techniques等)Secure Manage CI/CD Friendly NGINXの動的モジュールとして提供(現在、NGINX Plusのみ対応) • 仮想マシン/コンテナの双方で動作可能 • ゲートウェイ型/ホスト型 • NGINX Ingress Controller サポート (v1.8.0) 軽量なため、CI/CDパイプライン上でのデプロイが容易 2020年5月リリース https://www.nginx.co.jp/products/nginx-app-protect/
  33. NGINX App Protect 標準セキュリティポリシー Drivers登録 microservice Circuits microservice Seasons microservice /api/f1/* /application01 /api/circuits/* =/api/f1/seasons F1 GET microservice https://docs.nginx.com/nginx-app-protect/configuration/ • OWASP Top 10 シグネチャ & CVEs • メタ文字チェック • HTTPプロトコル標準 • Evasionテクニック • 不許可ファイルアップロード検知 (bin, cgi, cmd, com, dll, exe, msi, sys, shtm, shtml, stm等) • セキュリティスコア検知 • Cookie改ざん • JSON & XML文法 • Data Guard & 重要パラメータ
  34. デモリクエスト – example.com http://www.example.com/index.html?a=<script>aaa</script> XSS – クロスサイトスクリプティング JavaScript SQLインジェクション http://www.example.com/products?category=Gifts%27+OR+1=1--
  35. Advanced Load Balancing Advanced Content Cache Web Server Reverse Proxy and Cache Advanced Monitoring & Management Advanced Security Controls NGINX Controller NGINX Plus インスタンスを大規模にデプロイ、監視、管理するための、 高パフォーマンス、クラウドネイティブAPIソリューション
  36. NGINX Controller
  37. まとめ
  38. NGINXはマルチクラウド環境で一貫性と信頼性、セキュリティを提供します まとめ: AnsibleとNGINXを利用して 複数クラウドにアプリを展開する Hybrid Cloud 一貫したインフラストラクチャ 一貫した機能設定 新しいアーキテクチャを有効にする 迅速な統合 プラットフォームの移植性 効率的なテスト アプリケーションの再プラットフォーム セキュリテイレベルの向上
  39. NGINX ドキュメントとコンテンツ https://nginx.com/ https://docs.nginx.com/ RESOURCE BLOG https://nginx.co.jp/ リソース ブログ https://nginx.org/en/docs/ https://nginx.org/en/docs/dirindex.html
  40. 無料トライアル https://www.nginx.co.jp/free-trial-request/ https://www.nginx.co.jp/free-trial-request-nginx-controller/ NGINX Plus, NGINX App Protect 無料トライアル NGINX Plusは、オールインワン型のソフトウェアロードバランサ、コンテンツキャッシュ、 Webサーバ、APIゲートウェイ、マイクロサービスプロキシです。NGINX App Protect は、業界トップクラスのF5の高度なWAFテクノロジーをNGINX Plusに搭載し最新の アプリケーションセキュリティを提供します。この2つの技術の融合により、最新の分散型 環境におけるWeb/モバイルアプリケーションの拡張性と保護が実現します。 NGINX Controllerの評価版 NGINX Controllerは、NGINXデータプレーンを管理するNGINXのコントロールプ レーンソリューションです。マルチクラウド環境でロードバランサ―、APIゲートウェイ、およ びサービスメッシュのスケーラブルな実装を容易に集中管理することができます。 お申し込みのお客様向けに、NGINX Controllerの無償評価版をご用意しています。 NGINX Plus無料トライアル NGINX Controller 無料トライアル
  41. Q&A?
Advertisement