SlideShare a Scribd company logo
1 of 40
Download to read offline
s
Copyright © 2018 HashiCorp
HashiCorp
Solution engineer 伊藤仁智
!1
DataDogにTerraformをあげましょう
In Osaka
Copyright © 2018 HashiCorp
About me
!2
名前:伊藤仁智(まさとも)
2018年年9⽉月1⽇日に発⾜足したHashiCorp Japanの⼀一⼈人⽬目の社員です。
以前は、
• ゲームプラットフォーム開発
• Continuous Delivery Pipelineツール販売
• ソフトウェアテストツール販売
• 組込系リアルタイムOS販売
• ガチの組込系エンジニア
などをしてました
Copyright © 2018 HashiCorp
About me
!3
キャンプ
Copyright © 2018 HashiCorp
About me
!4
愛猫 とらじろう
Copyright © 2018 HashiCorp
About me
!5
祭
Copyright © 2018 HashiCorp !6
ミッション
キー製品
設⽴立 2012 by Mitchell Hashimoto and Armon Dadgar
We enable organizations to Provision, Secure, Connect, and Run any
infrastructure for any application
1.アプリケーションを実⾏行行するインフラのProvision
2.アプリケーションをSecureに
3.アプリケーションデプロイをRun
4.アプリケーションをConnectする
CEO Dave MacJannet
Copyright © 2018 HashiCorp
TEAMS
& ORG
Enterprise Feature
• Collaboration
• Operations
• Governance & policy
!7
DEVELOPMENT
SECURITY
OPERATIONS
Run applications
Secure infrastructure & applications
Provision infrastructure
HashiCorpの4製品
THE PRACTITIONER
s
Copyright © 2017 HashiCorp
!8
Provision
Copyright © 2018 HashiCorp !9
Private
cloud
EARLY CLOUD MULTI-CLOUD + SaaS
Azure GCP …
+
AWS
TRADITIONAL

DATACENTER
ハイブリッドなインフラへのシフト
専⽤用マシン       → オンデマンド
Copyright © 2018 HashiCorp
INFRASTRUCTURE AS CODE
!10
EXTENSIBLE PROVIDER MODEL
Core
Alibaba
GCP
AWS
Azure
TERRAFORM CONFIGURATION
DEVELOPERS
OPERATOR
様々なインフラへのプロビジョニング - Provision
…
Nomad
Consul
Vault
Github
Kubernetes
Heroku
Docker
Fastly
F5
Datadog
DNSimple
s
Copyright © 2017 HashiCorp
!11
Secure
Copyright © 2018 HashiCorp
境界のないネットワーク上のアプリケーションセキュリティ
!12
Security
Copyright © 2018 HashiCorp
境界のないネットワーク上のアプリケーションセキュリティ
!13
AWS
Private
cloud
Azure GCP Alibaba
Security
「強固な城壁」を作るアプローチはもはや通⽤用しない・・・
Service
App
Service Service Service
App App App
Auth Auth Auth Auth
IPベース       → IDENTITYベース
Copyright © 2018 HashiCorp !14
信頼できるアイデンティティに、
安全にシークレットを提供する
信頼できる認証基盤
Authentication
認証
アイデンティティによるアクセス
シークレットエンジン
ポリシーに基づいたシークレット管理理
クライアント
Token
アプリやシステムへのアクセスを認可
Authorization
サービスの提供
▪ Credentialの付与
▪ 静的シークレット
▪ 動的シークレット
▪ 証明書
▪ 暗号化サービス
シークレット
ポリシー
• シークレットエンジンへのアクセス
• APIエンドポイントへのアクセス
1
2
3
s
Copyright © 2017 HashiCorp
!15
Connect
Copyright © 2018 HashiCorp
AWS
Private
cloud
Azure GCP Alibaba
DB JAR
Lambda C# node.js
container
モノリシック → マイクロサービス
Web
DB
DB
DB
Big query
Payment
Web
Service 1
Service 2
ホストベース       → サービスベース
Payment Web
DB
Service 1 Service 2
Big query
Copyright © 2018 HashiCorp
AWS
Private
cloud
Azure GCP Alibaba
DB JAR
Lambda C# node.js
container
全てのアプケーションをコネクトする - Connect
Service 

Discovery
Web
DB
DB
DB Big queryPayment
Web
▪ サービスの登録・カタログ化
▪ DNSとHTTPインターフェース
▪ ヘルスチェック
Service 1
Service 2
redis.service.consulpayment.service.consul web.service.consul bq.service.consul
Copyright © 2018 HashiCorp
AWS
Private
cloud
Azure GCP Alibaba
DB JAR
Lambda C# node.js
container
全てのアプケーションをコネクトする - Connect
Service
Segmentation
Web
DB
DB
DB Big queryPayment
Web
Service 1
Service 2
X
▪ サービス間のAuthorization
▪ サイドカープロキシ
▪ mTLSコネクション
$ consul intention create -deny web '*'
Created: web => * (deny)
$ consul intention create -allow web app
Created: web => app (allow)
$ consul intention create -allow web db
Created: web => db (allow)
Copyright © 2018 HashiCorp
AWS
Private
cloud
Azure GCP Alibaba
DB JAR
Lambda C# node.js
container
全てのアプケーションをコネクトする - Connect
Web
DB
DB
DB Big queryPayment
Web
• K/Vストアで設定を保管
• リアルタイムでの設定変更更
– 設定ファイル
– 環境変数
• サービスのリロードやリスタートを実⾏行行
Service 1
Service 2
Service
Configuration
K/V
Config
Config
Config
Config
s
Copyright © 2017 HashiCorp
!20
Run
Copyright © 2018 HashiCorp !21
Application
Platform
AWS
Private
cloud
Azure GCP Alibaba
DB JAR
Lambda C# node.js
container
様々なアプリケーション - Run
密結合       → 疎結合
Copyright © 2017 HashiCorp !22
ユーザー Nomad
Servers
JobをSubmit
のぞむべき状態をコード化
Nomad
Clients
AppのDeploy
Bin Packing
様々なアプリケーション - Run
タスクの実⾏行行
Copyright © 2018 HashiCorp
TEAMS
& ORG
Enterprise Feature
• Collaboration
• Operations
• Governance & policy
!23
DEVELOPMENT
SECURITY
OPERATIONS
Run applications
Secure infrastructure & applications
Provision infrastructure
HashiCorpの4製品
THE PRACTITIONER
s
Copyright © 2017 HashiCorp
!24
Provision
Secure
Connect
Run
監視はどうするの?
Copyright © 2018 HashiCorp
VaultやConsulをDatadogで監視
!26
DogStatsD
DogStatsD
app.datadoghq.com
HTTPS
PUSH
Reference to Vault/Consul metrics
https://www.vaultproject.io/docs/internals/telemetry.html
https://www.consul.io/docs/agent/telemetry.html
プロビジョン
Copyright © 2018 HashiCorp
まずはDatadogのAgentをインストール
!27
DD_API_KEY=${dd_api_key} bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/
install_script.sh)"
Copyright © 2018 HashiCorp
VaultとConsulのConfigを変更更
!28
backend "consul" {
address = "127.0.0.1:8500"
path = "vault/"
}
listener "tcp" {
address = "127.0.0.1:8200"
tls_disable = 1
}
telemetry {
dogstatsd_addr = "127.0.0.1:8125"
disable_hostname = true
}
{
"datacenter": "dc1",
"bootstrap_expect": 1,
"server": true,
"advertise_addr": "$${local_ipv4}",
"data_dir": "/opt/consul/data",
"client_addr": "0.0.0.0",
"log_level": "INFO",
"ui": true,
"telemetry": {
"dogstatsd_addr": "localhost:8125",
"disable_hostname": true
}
}
vault.hcl
consul.json
監視できたとしても、
ダッシュボードの構築
はどうするの?
Copyright © 2018 HashiCorp
Datadog providerでMonitorを作成
!31
provider "datadog" {
api_key = “${var.datadog_api_key}"
app_key = "${var.datadog_app_key}"
}
# Cpu monitor
resource "datadog_monitor" "cpumonitor" {
name = "cpu monitor ${aws_instance.vault.id}”
type = "metric alert"
message = "CPU usage alert"
query = "avg(last_1m):avg:system.cpu.system{host:${aws_instance.vault.id}} by {host} > 60"
thresholds {
ok = 20
warning = 50
critical = 60
}
}
Copyright © 2018 HashiCorp
Datadog providerでtimeboardを作成
!32
resource "datadog_timeboard" "vault" {
title = "Dashboard on ${aws_instance.vault.tags.Name}"
description = "Created using datadog provider in Terraform"
read_only = true
# Memory usage
graph {
title = "System mem usage"
viz = "timeseries"
request = {
q = "avg:system.mem.free{host:${aws_instance.vault.id}}"
}
}
# Vault request handled
graph {
title = "Number of request handled"
viz = “timeseries"
request = {
q = "avg:vault.core.handle_request.count{host:${aws_instance.vault.id}}.as_count()"
type = "bars"
}
}
Copyright © 2018 HashiCorp
Terraform applyを実⾏行行すると
!33
Copyright © 2018 HashiCorp
Dashboardが作成されます
!34
s
Copyright © 2018 HashiCorp !35
Demo
Copyright © 2018 HashiCorp
Demo overview
!36
AWS EC2
DogStatsD
app.datadoghq.com
Provision with AWS provider
• VM Instanceの起動
• Vaultのインストール
• Consulのインストール
• DogStagsDのインストール
Provision with Datadog provider
• Dashboardの作成
• Monitorの設定
• 監視対象の設定
Metricsの送信
ベンチマークテスト
Copyright © 2018 HashiCorp !37
安⼼心だね。
おやすみなさい
HashiCorp製品に興味がありましたら
sales_japan@hashicorp.com
まで!
以上です。
ありがとうございました!

More Related Content

What's hot

プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドプランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
Yahoo!デベロッパーネットワーク
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
Yahoo!デベロッパーネットワーク
 

What's hot (20)

Alieaters2 alibabacloud 20180320
Alieaters2 alibabacloud 20180320Alieaters2 alibabacloud 20180320
Alieaters2 alibabacloud 20180320
 
めっちゃお得なDNS。Alibaba Cloud DNS を diggin’ @Alibaba Cloud Developers Meetup #2 - ...
めっちゃお得なDNS。Alibaba Cloud DNS を diggin’ @Alibaba Cloud Developers Meetup #2 - ...めっちゃお得なDNS。Alibaba Cloud DNS を diggin’ @Alibaba Cloud Developers Meetup #2 - ...
めっちゃお得なDNS。Alibaba Cloud DNS を diggin’ @Alibaba Cloud Developers Meetup #2 - ...
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
ヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtechヤフーにおけるHadoop Operations #tdtech
ヤフーにおけるHadoop Operations #tdtech
 
ヤフーの広告レポートシステムをSpring Cloud Stream化するまで #jjug_ccc #ccc_a4
ヤフーの広告レポートシステムをSpring Cloud Stream化するまで #jjug_ccc #ccc_a4ヤフーの広告レポートシステムをSpring Cloud Stream化するまで #jjug_ccc #ccc_a4
ヤフーの広告レポートシステムをSpring Cloud Stream化するまで #jjug_ccc #ccc_a4
 
Alibaba Cloudを自分なりに整理してみた
Alibaba Cloudを自分なりに整理してみたAlibaba Cloudを自分なりに整理してみた
Alibaba Cloudを自分なりに整理してみた
 
アジャイル開発のためのDatadog
アジャイル開発のためのDatadogアジャイル開発のためのDatadog
アジャイル開発のためのDatadog
 
そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)
 
プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンドプランニングツールにおけるインタラクティブな可視化を支えるバックエンド
プランニングツールにおけるインタラクティブな可視化を支えるバックエンド
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
タブブラウザSDKを作った話 #yjcamp
タブブラウザSDKを作った話 #yjcampタブブラウザSDKを作った話 #yjcamp
タブブラウザSDKを作った話 #yjcamp
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
 
C# における Redis 徹底活用
C# における Redis 徹底活用C# における Redis 徹底活用
C# における Redis 徹底活用
 
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
 
社内サービスのUI改善
社内サービスのUI改善社内サービスのUI改善
社内サービスのUI改善
 
AlibabaCloudの紹介とパブリッククラウドでのセキュリティ
AlibabaCloudの紹介とパブリッククラウドでのセキュリティAlibabaCloudの紹介とパブリッククラウドでのセキュリティ
AlibabaCloudの紹介とパブリッククラウドでのセキュリティ
 
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
「 Azure 」にデータを溜めて活用する のご紹介 - 「はじめてのNode-RED ver.1.3.0対応版」書籍出版記念イベント LT
 
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
行列ができるECサイトの悩み~ショッピングや決済の技術的問題と処方箋
 
20200729 f1 instance_intro
20200729 f1 instance_intro20200729 f1 instance_intro
20200729 f1 instance_intro
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 

Similar to Datadog monitoring with HashiCorp stack

Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
 

Similar to Datadog monitoring with HashiCorp stack (20)

Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorp
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
Dataworks Summit 2017 SanJose StreamProcessing - Hadoop Source Code Reading #...
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
Beginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning HadoopBeginner must-see! A future that can be opened by learning Hadoop
Beginner must-see! A future that can be opened by learning Hadoop
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
 
Terraform with Bitbucket pipeline
Terraform with Bitbucket pipelineTerraform with Bitbucket pipeline
Terraform with Bitbucket pipeline
 
Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713Wg for ai_dev_ops_20180713
Wg for ai_dev_ops_20180713
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
IBM Cloud 使ってタスク管理(JIRA Software)を運用してみた。
 
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnightPresto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
 
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_cccSpring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
Spring Boot on Kubernetes : Yahoo!ズバトク事例 #jjug_ccc
 
Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢Cedec2015 ゲームサーバー基盤の新しい選択肢
Cedec2015 ゲームサーバー基盤の新しい選択肢
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
 

Datadog monitoring with HashiCorp stack

  • 1. s Copyright © 2018 HashiCorp HashiCorp Solution engineer 伊藤仁智 !1 DataDogにTerraformをあげましょう In Osaka
  • 2. Copyright © 2018 HashiCorp About me !2 名前:伊藤仁智(まさとも) 2018年年9⽉月1⽇日に発⾜足したHashiCorp Japanの⼀一⼈人⽬目の社員です。 以前は、 • ゲームプラットフォーム開発 • Continuous Delivery Pipelineツール販売 • ソフトウェアテストツール販売 • 組込系リアルタイムOS販売 • ガチの組込系エンジニア などをしてました
  • 3. Copyright © 2018 HashiCorp About me !3 キャンプ
  • 4. Copyright © 2018 HashiCorp About me !4 愛猫 とらじろう
  • 5. Copyright © 2018 HashiCorp About me !5 祭
  • 6. Copyright © 2018 HashiCorp !6 ミッション キー製品 設⽴立 2012 by Mitchell Hashimoto and Armon Dadgar We enable organizations to Provision, Secure, Connect, and Run any infrastructure for any application 1.アプリケーションを実⾏行行するインフラのProvision 2.アプリケーションをSecureに 3.アプリケーションデプロイをRun 4.アプリケーションをConnectする CEO Dave MacJannet
  • 7. Copyright © 2018 HashiCorp TEAMS & ORG Enterprise Feature • Collaboration • Operations • Governance & policy !7 DEVELOPMENT SECURITY OPERATIONS Run applications Secure infrastructure & applications Provision infrastructure HashiCorpの4製品 THE PRACTITIONER
  • 8. s Copyright © 2017 HashiCorp !8 Provision
  • 9. Copyright © 2018 HashiCorp !9 Private cloud EARLY CLOUD MULTI-CLOUD + SaaS Azure GCP … + AWS TRADITIONAL
 DATACENTER ハイブリッドなインフラへのシフト 専⽤用マシン       → オンデマンド
  • 10. Copyright © 2018 HashiCorp INFRASTRUCTURE AS CODE !10 EXTENSIBLE PROVIDER MODEL Core Alibaba GCP AWS Azure TERRAFORM CONFIGURATION DEVELOPERS OPERATOR 様々なインフラへのプロビジョニング - Provision … Nomad Consul Vault Github Kubernetes Heroku Docker Fastly F5 Datadog DNSimple
  • 11. s Copyright © 2017 HashiCorp !11 Secure
  • 12. Copyright © 2018 HashiCorp 境界のないネットワーク上のアプリケーションセキュリティ !12 Security
  • 13. Copyright © 2018 HashiCorp 境界のないネットワーク上のアプリケーションセキュリティ !13 AWS Private cloud Azure GCP Alibaba Security 「強固な城壁」を作るアプローチはもはや通⽤用しない・・・ Service App Service Service Service App App App Auth Auth Auth Auth IPベース       → IDENTITYベース
  • 14. Copyright © 2018 HashiCorp !14 信頼できるアイデンティティに、 安全にシークレットを提供する 信頼できる認証基盤 Authentication 認証 アイデンティティによるアクセス シークレットエンジン ポリシーに基づいたシークレット管理理 クライアント Token アプリやシステムへのアクセスを認可 Authorization サービスの提供 ▪ Credentialの付与 ▪ 静的シークレット ▪ 動的シークレット ▪ 証明書 ▪ 暗号化サービス シークレット ポリシー • シークレットエンジンへのアクセス • APIエンドポイントへのアクセス 1 2 3
  • 15. s Copyright © 2017 HashiCorp !15 Connect
  • 16. Copyright © 2018 HashiCorp AWS Private cloud Azure GCP Alibaba DB JAR Lambda C# node.js container モノリシック → マイクロサービス Web DB DB DB Big query Payment Web Service 1 Service 2 ホストベース       → サービスベース Payment Web DB Service 1 Service 2 Big query
  • 17. Copyright © 2018 HashiCorp AWS Private cloud Azure GCP Alibaba DB JAR Lambda C# node.js container 全てのアプケーションをコネクトする - Connect Service 
 Discovery Web DB DB DB Big queryPayment Web ▪ サービスの登録・カタログ化 ▪ DNSとHTTPインターフェース ▪ ヘルスチェック Service 1 Service 2 redis.service.consulpayment.service.consul web.service.consul bq.service.consul
  • 18. Copyright © 2018 HashiCorp AWS Private cloud Azure GCP Alibaba DB JAR Lambda C# node.js container 全てのアプケーションをコネクトする - Connect Service Segmentation Web DB DB DB Big queryPayment Web Service 1 Service 2 X ▪ サービス間のAuthorization ▪ サイドカープロキシ ▪ mTLSコネクション $ consul intention create -deny web '*' Created: web => * (deny) $ consul intention create -allow web app Created: web => app (allow) $ consul intention create -allow web db Created: web => db (allow)
  • 19. Copyright © 2018 HashiCorp AWS Private cloud Azure GCP Alibaba DB JAR Lambda C# node.js container 全てのアプケーションをコネクトする - Connect Web DB DB DB Big queryPayment Web • K/Vストアで設定を保管 • リアルタイムでの設定変更更 – 設定ファイル – 環境変数 • サービスのリロードやリスタートを実⾏行行 Service 1 Service 2 Service Configuration K/V Config Config Config Config
  • 20. s Copyright © 2017 HashiCorp !20 Run
  • 21. Copyright © 2018 HashiCorp !21 Application Platform AWS Private cloud Azure GCP Alibaba DB JAR Lambda C# node.js container 様々なアプリケーション - Run 密結合       → 疎結合
  • 22. Copyright © 2017 HashiCorp !22 ユーザー Nomad Servers JobをSubmit のぞむべき状態をコード化 Nomad Clients AppのDeploy Bin Packing 様々なアプリケーション - Run タスクの実⾏行行
  • 23. Copyright © 2018 HashiCorp TEAMS & ORG Enterprise Feature • Collaboration • Operations • Governance & policy !23 DEVELOPMENT SECURITY OPERATIONS Run applications Secure infrastructure & applications Provision infrastructure HashiCorpの4製品 THE PRACTITIONER
  • 24. s Copyright © 2017 HashiCorp !24 Provision Secure Connect Run
  • 26. Copyright © 2018 HashiCorp VaultやConsulをDatadogで監視 !26 DogStatsD DogStatsD app.datadoghq.com HTTPS PUSH Reference to Vault/Consul metrics https://www.vaultproject.io/docs/internals/telemetry.html https://www.consul.io/docs/agent/telemetry.html プロビジョン
  • 27. Copyright © 2018 HashiCorp まずはDatadogのAgentをインストール !27 DD_API_KEY=${dd_api_key} bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/ install_script.sh)"
  • 28. Copyright © 2018 HashiCorp VaultとConsulのConfigを変更更 !28 backend "consul" { address = "127.0.0.1:8500" path = "vault/" } listener "tcp" { address = "127.0.0.1:8200" tls_disable = 1 } telemetry { dogstatsd_addr = "127.0.0.1:8125" disable_hostname = true } { "datacenter": "dc1", "bootstrap_expect": 1, "server": true, "advertise_addr": "$${local_ipv4}", "data_dir": "/opt/consul/data", "client_addr": "0.0.0.0", "log_level": "INFO", "ui": true, "telemetry": { "dogstatsd_addr": "localhost:8125", "disable_hostname": true } } vault.hcl consul.json
  • 30.
  • 31. Copyright © 2018 HashiCorp Datadog providerでMonitorを作成 !31 provider "datadog" { api_key = “${var.datadog_api_key}" app_key = "${var.datadog_app_key}" } # Cpu monitor resource "datadog_monitor" "cpumonitor" { name = "cpu monitor ${aws_instance.vault.id}” type = "metric alert" message = "CPU usage alert" query = "avg(last_1m):avg:system.cpu.system{host:${aws_instance.vault.id}} by {host} > 60" thresholds { ok = 20 warning = 50 critical = 60 } }
  • 32. Copyright © 2018 HashiCorp Datadog providerでtimeboardを作成 !32 resource "datadog_timeboard" "vault" { title = "Dashboard on ${aws_instance.vault.tags.Name}" description = "Created using datadog provider in Terraform" read_only = true # Memory usage graph { title = "System mem usage" viz = "timeseries" request = { q = "avg:system.mem.free{host:${aws_instance.vault.id}}" } } # Vault request handled graph { title = "Number of request handled" viz = “timeseries" request = { q = "avg:vault.core.handle_request.count{host:${aws_instance.vault.id}}.as_count()" type = "bars" } }
  • 33. Copyright © 2018 HashiCorp Terraform applyを実⾏行行すると !33
  • 34. Copyright © 2018 HashiCorp Dashboardが作成されます !34
  • 35. s Copyright © 2018 HashiCorp !35 Demo
  • 36. Copyright © 2018 HashiCorp Demo overview !36 AWS EC2 DogStatsD app.datadoghq.com Provision with AWS provider • VM Instanceの起動 • Vaultのインストール • Consulのインストール • DogStagsDのインストール Provision with Datadog provider • Dashboardの作成 • Monitorの設定 • 監視対象の設定 Metricsの送信 ベンチマークテスト
  • 37. Copyright © 2018 HashiCorp !37