SlideShare a Scribd company logo
1 of 44
Download to read offline
s
Copyright © 2018 HashiCorp
HashiCorp
Solution engineer 伊藤仁智
!1
DataDogにTerraformを
あげましょう
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
About me
!6
愛猫 とらじろう
Copyright © 2018 HashiCorp
About me
!7
祭
Copyright © 2018 HashiCorp !8
ミッション
キー製品
設⽴立 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
!9
DEVELOPMENT
SECURITY
OPERATIONS
Run applications
Secure infrastructure & applications
Provision infrastructure
HashiCorpの4製品
THE PRACTITIONER
s
Copyright © 2017 HashiCorp
!10
Provision
Copyright © 2018 HashiCorp !11
Private
cloud
EARLY CLOUD MULTI-CLOUD + SaaS
Azure GCP …
+
AWS
TRADITIONAL

DATACENTER
ハイブリッドなインフラへのシフト
専⽤用マシン       → オンデマンド
Copyright © 2018 HashiCorp
INFRASTRUCTURE AS CODE
!12
EXTENSIBLE PROVIDER MODEL
Core
Alibaba
GCP
AWS
Azure
TERRAFORM CONFIGURATION
DEVELOPERS
OPERATOR
様々なインフラへのプロビジョニング - Provision
…
Nomad
Consul
Vault
F5
Akamai
Heroku
GitHub
Kubernetes
Fastly
Datadog
DNSimple
s
Copyright © 2017 HashiCorp
!13
Secure
Copyright © 2018 HashiCorp
境界のないネットワーク上のアプリケーションセキュリティ
!14
Security
Copyright © 2018 HashiCorp
境界のないネットワーク上のアプリケーションセキュリティ
!15
AWS
Private
cloud
Azure GCP Alibaba
Security
「強固な城壁」を作るアプローチはもはや通⽤用しない・・・
Service
App
Service Service Service
App App App
Auth Auth Auth Auth
IPベース       → IDENTITYベース
Copyright © 2018 HashiCorp !16
信頼できるアイデンティティに対して、安全にシークレットを提供する
認証
アイデンティティによるアクセス
シークレットエンジン
ポリシーに基づいたシークレット管理理
クライアント
Copyright © 2018 HashiCorp !17
信頼できるIDPとの連携
信頼できるIDPで認証
Authentication
認証
アイデンティティによるアクセス
シークレットエンジン
ポリシーに基づいたシークレット管理理
クライアント
Copyright © 2018 HashiCorp !18
Tokenの取得
信頼できるIDPで認証
Authentication
認証
アイデンティティによるアクセス
シークレットエンジン
ポリシーに基づいたシークレット管理理
クライアント
Token ポリシー
• シークレットエンジンへのアクセス
• APIエンドポイントへのアクセス
アプリやシステムへのアクセスを認可
Authorization
Copyright © 2018 HashiCorp !19
シークレットのリクエスト
信頼できるIDPで認証
Authentication
認証
アイデンティティによるアクセス
シークレットエンジン
ポリシーに基づいたシークレット管理理
クライアント
Token
アプリやシステムへのアクセスを認可
Authorization
ポリシー
• シークレットエンジンへのアクセス
• APIエンドポイントへのアクセス
Copyright © 2018 HashiCorp !20
シークレットの取得
信頼できる認証基盤
Authentication
認証
アイデンティティによるアクセス
シークレットエンジン
ポリシーに基づいたシークレット管理理
クライアント
Token
アプリやシステムへのアクセスを認可
Authorization
サービスの提供
▪ Credentialの付与
▪ 静的シークレット
▪ 動的シークレット
▪ 証明書
▪ 暗号化サービス
シークレット
ポリシー
• シークレットエンジンへのアクセス
• APIエンドポイントへのアクセス
s
Copyright © 2017 HashiCorp
!21
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
!26
Run
Copyright © 2018 HashiCorp !27
Application
Platform
AWS
Private
cloud
Azure GCP Alibaba
DB JAR
Lambda C# node.js
container
様々なアプリケーション - Run
密結合       → 疎結合
Copyright © 2017 HashiCorp !28
ユーザー Nomad
Servers
JobをSubmit
Nomad
Clients
AppのDeploy
Bin Packing
様々なアプリケーション - Run
タスクの実⾏行行
s
Copyright © 2017 HashiCorp
!29
Provision
Secure
Connect
Run
Copyright © 2018 HashiCorp
TEAMS
& ORG
Enterprise Feature
• Collaboration
• Operations
• Governance & policy
!30
DEVELOPMENT
SECURITY
OPERATIONS
Run applications
Secure infrastructure & applications
Provision infrastructure
HashiCorpの4製品
THE PRACTITIONER
監視はどうするの?
Copyright © 2018 HashiCorp
VaultやConsulを監視
!32
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をインストール
!33
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を変更更
!34
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を作成
!36
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を作成
!37
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を実⾏行行すると
!38
Copyright © 2018 HashiCorp
Dashboardが作成されます
!39
s
Copyright © 2018 HashiCorp !40
Demo
Copyright © 2018 HashiCorp
Demo overview
!41
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 !42
エンタープライズ製品に興味がありましたら
sales_japan@hashicorp.com まで!
HahiCorpで働きたい!という⽅方いれば
https://www.hashicorp.com/jobs
以上です。ありがとうございました!

More Related Content

What's hot

What's hot (20)

2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi2016 06-30-deep-learning-archi
2016 06-30-deep-learning-archi
 
20190124 hccjp vmware_final
20190124 hccjp vmware_final20190124 hccjp vmware_final
20190124 hccjp vmware_final
 
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
ホスティッドプライベートクラウド勉強会 ~Azure Pack on SoftLayer ~
 
クラウドネイティブガバナンスの実現
クラウドネイティブガバナンスの実現クラウドネイティブガバナンスの実現
クラウドネイティブガバナンスの実現
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
 
Azure Load Testingを試してみた
Azure Load Testingを試してみたAzure Load Testingを試してみた
Azure Load Testingを試してみた
 
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...Hybrid serverless architecture using open whisk ibm cloud functions and istio...
Hybrid serverless architecture using open whisk ibm cloud functions and istio...
 
20210514 hccjp azure_stackedgesession
20210514 hccjp azure_stackedgesession20210514 hccjp azure_stackedgesession
20210514 hccjp azure_stackedgesession
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
20210709 hccjp ms_hybrid関連の追加情報
20210709 hccjp ms_hybrid関連の追加情報20210709 hccjp ms_hybrid関連の追加情報
20210709 hccjp ms_hybrid関連の追加情報
 
de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版de:code 2019 Cloud トラック 総まとめ! 完全版
de:code 2019 Cloud トラック 総まとめ! 完全版
 
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
 
ついに上陸!PaaS 最新兵器のご紹介
ついに上陸!PaaS 最新兵器のご紹介ついに上陸!PaaS 最新兵器のご紹介
ついに上陸!PaaS 最新兵器のご紹介
 
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
 
Elastic observabilitycansmartlymanagetheappsonkubernetes
Elastic observabilitycansmartlymanagetheappsonkubernetesElastic observabilitycansmartlymanagetheappsonkubernetes
Elastic observabilitycansmartlymanagetheappsonkubernetes
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
 
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
 awsで実現するミッションクリティカル業務のクラウド利用 VIP編 awsで実現するミッションクリティカル業務のクラウド利用 VIP編
awsで実現するミッションクリティカル業務のクラウド利用 VIP編
 
それでもボクはMicrosoft Azure を使う
それでもボクはMicrosoft Azure を使うそれでもボクはMicrosoft Azure を使う
それでもボクはMicrosoft Azure を使う
 
de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!de:code 2019 Cloud トラック 総まとめ!
de:code 2019 Cloud トラック 総まとめ!
 

Similar to Datadog monitoring with HashiCorp

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

Similar to Datadog monitoring with HashiCorp (20)

Datadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stackDatadog monitoring with HashiCorp stack
Datadog monitoring with HashiCorp stack
 
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
 
Sumo logic meetup 2020 jan
Sumo logic meetup 2020 janSumo logic meetup 2020 jan
Sumo logic meetup 2020 jan
 
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
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
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
 
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 #...
 
F5 meetup terraform & vault
F5 meetup   terraform & vaultF5 meetup   terraform & vault
F5 meetup terraform & vault
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 
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
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Terraform with Bitbucket pipeline
Terraform with Bitbucket pipelineTerraform with Bitbucket pipeline
Terraform with Bitbucket pipeline
 
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Fai...
 
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnightPresto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
 
HashiCorp Terraform Enterprise 紹介
HashiCorp Terraform Enterprise 紹介HashiCorp Terraform Enterprise 紹介
HashiCorp Terraform Enterprise 紹介
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 

Recently uploaded

Recently uploaded (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Datadog monitoring with HashiCorp

  • 1. s Copyright © 2018 HashiCorp HashiCorp Solution engineer 伊藤仁智 !1 DataDogにTerraformを あげましょう
  • 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 About me !6 愛猫 とらじろう
  • 7. Copyright © 2018 HashiCorp About me !7 祭
  • 8. Copyright © 2018 HashiCorp !8 ミッション キー製品 設⽴立 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
  • 9. Copyright © 2018 HashiCorp TEAMS & ORG Enterprise Feature • Collaboration • Operations • Governance & policy !9 DEVELOPMENT SECURITY OPERATIONS Run applications Secure infrastructure & applications Provision infrastructure HashiCorpの4製品 THE PRACTITIONER
  • 10. s Copyright © 2017 HashiCorp !10 Provision
  • 11. Copyright © 2018 HashiCorp !11 Private cloud EARLY CLOUD MULTI-CLOUD + SaaS Azure GCP … + AWS TRADITIONAL
 DATACENTER ハイブリッドなインフラへのシフト 専⽤用マシン       → オンデマンド
  • 12. Copyright © 2018 HashiCorp INFRASTRUCTURE AS CODE !12 EXTENSIBLE PROVIDER MODEL Core Alibaba GCP AWS Azure TERRAFORM CONFIGURATION DEVELOPERS OPERATOR 様々なインフラへのプロビジョニング - Provision … Nomad Consul Vault F5 Akamai Heroku GitHub Kubernetes Fastly Datadog DNSimple
  • 13. s Copyright © 2017 HashiCorp !13 Secure
  • 14. Copyright © 2018 HashiCorp 境界のないネットワーク上のアプリケーションセキュリティ !14 Security
  • 15. Copyright © 2018 HashiCorp 境界のないネットワーク上のアプリケーションセキュリティ !15 AWS Private cloud Azure GCP Alibaba Security 「強固な城壁」を作るアプローチはもはや通⽤用しない・・・ Service App Service Service Service App App App Auth Auth Auth Auth IPベース       → IDENTITYベース
  • 16. Copyright © 2018 HashiCorp !16 信頼できるアイデンティティに対して、安全にシークレットを提供する 認証 アイデンティティによるアクセス シークレットエンジン ポリシーに基づいたシークレット管理理 クライアント
  • 17. Copyright © 2018 HashiCorp !17 信頼できるIDPとの連携 信頼できるIDPで認証 Authentication 認証 アイデンティティによるアクセス シークレットエンジン ポリシーに基づいたシークレット管理理 クライアント
  • 18. Copyright © 2018 HashiCorp !18 Tokenの取得 信頼できるIDPで認証 Authentication 認証 アイデンティティによるアクセス シークレットエンジン ポリシーに基づいたシークレット管理理 クライアント Token ポリシー • シークレットエンジンへのアクセス • APIエンドポイントへのアクセス アプリやシステムへのアクセスを認可 Authorization
  • 19. Copyright © 2018 HashiCorp !19 シークレットのリクエスト 信頼できるIDPで認証 Authentication 認証 アイデンティティによるアクセス シークレットエンジン ポリシーに基づいたシークレット管理理 クライアント Token アプリやシステムへのアクセスを認可 Authorization ポリシー • シークレットエンジンへのアクセス • APIエンドポイントへのアクセス
  • 20. Copyright © 2018 HashiCorp !20 シークレットの取得 信頼できる認証基盤 Authentication 認証 アイデンティティによるアクセス シークレットエンジン ポリシーに基づいたシークレット管理理 クライアント Token アプリやシステムへのアクセスを認可 Authorization サービスの提供 ▪ Credentialの付与 ▪ 静的シークレット ▪ 動的シークレット ▪ 証明書 ▪ 暗号化サービス シークレット ポリシー • シークレットエンジンへのアクセス • APIエンドポイントへのアクセス
  • 21. s Copyright © 2017 HashiCorp !21 Connect
  • 22. 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
  • 23. 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
  • 24. 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)
  • 25. 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
  • 26. s Copyright © 2017 HashiCorp !26 Run
  • 27. Copyright © 2018 HashiCorp !27 Application Platform AWS Private cloud Azure GCP Alibaba DB JAR Lambda C# node.js container 様々なアプリケーション - Run 密結合       → 疎結合
  • 28. Copyright © 2017 HashiCorp !28 ユーザー Nomad Servers JobをSubmit Nomad Clients AppのDeploy Bin Packing 様々なアプリケーション - Run タスクの実⾏行行
  • 29. s Copyright © 2017 HashiCorp !29 Provision Secure Connect Run
  • 30. Copyright © 2018 HashiCorp TEAMS & ORG Enterprise Feature • Collaboration • Operations • Governance & policy !30 DEVELOPMENT SECURITY OPERATIONS Run applications Secure infrastructure & applications Provision infrastructure HashiCorpの4製品 THE PRACTITIONER
  • 32. Copyright © 2018 HashiCorp VaultやConsulを監視 !32 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 プロビジョン
  • 33. Copyright © 2018 HashiCorp まずはDatadogのAgentをインストール !33 DD_API_KEY=${dd_api_key} bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/ install_script.sh)"
  • 34. Copyright © 2018 HashiCorp VaultとConsulのConfigを変更更 !34 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
  • 36. Copyright © 2018 HashiCorp Datadog providerでMonitorを作成 !36 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 } }
  • 37. Copyright © 2018 HashiCorp Datadog providerでtimeboardを作成 !37 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" } }
  • 38. Copyright © 2018 HashiCorp Terraform applyを実⾏行行すると !38
  • 39. Copyright © 2018 HashiCorp Dashboardが作成されます !39
  • 40. s Copyright © 2018 HashiCorp !40 Demo
  • 41. Copyright © 2018 HashiCorp Demo overview !41 AWS EC2 DogStatsD app.datadoghq.com Provision with AWS provider • VM Instanceの起動 • Vaultのインストール • Consulのインストール • DogStagsDのインストール Provision with Datadog provider • Dashboardの作成 • Monitorの設定 • 監視対象の設定 Metricsの送信 ベンチマークテスト
  • 42. Copyright © 2018 HashiCorp !42