Create Nomad Cluster on DigitalOcean
nomad

Create Nomad Cluster on DigitalOcean

Nomad 上にこのブログ (Ghost) を移そうと考えています。 Nomad by HashiCorp そこで、まずは Nomad クラスターを DigitalOcean 上に作成してみました。 この記事の一番最後にクラスター作成に使用している Terraform のファイルを貼っておきます。 Nomad とは Nomad とは Docker コンテナや Qemu 仮想マシン、 Java アプリケーション等のデプロイ、それらによる処理の実行の管理を自動的に行うツールです。 つまり、ワークロードオーケストレーターです。 Introduction - Nomad by

  • Lorentzca
    Lorentzca
9 min read
Create Kubernetes Cluster on DigitalOcean
digitalocean

Create Kubernetes Cluster on DigitalOcean

このブログは DigitalOcean 上で動かしています。サーバの構築は Terraform で、ミドルウェアの設定などは Ansible で行なっているのですが、そろそろ飽きてきたので Kubernetes に移行しようと考えています。 そこで、まずは Kubernetes クラスタを DigitalOcean 上に作成するところからやってみます。 使用するツール クラスタの構築を全て手動でやるのはかなり苦しそうなので kops (Kubernetes Operations) を使ってみます。 GitHub - kubernetes/kops: Kubernetes Operations (kops) - Production

  • Lorentzca
    Lorentzca
4 min read
DigitalOcean Roadmap 2018
digitalocean

DigitalOcean Roadmap 2018

ちょうど1ヶ月前くらいに DigitalOcean の2018年の計画が発表されました。 2018: What's Shipping Next on DigitalOcean 少し遅くなりましたが読んでみたのでまとめます。 去年のまとめはこちら。 DigitalOcean Roadmap 2017 2017年の振り返り まずは2017年の振り返りから始まっています。2017年は以下の大きな機能がリリースされました。 ロードバランサー モニタリング ファイアウォール オブジェクトストレージ 幾つかの機能については私も試してみていました。 DigitalOcean - ゆるふわキャンパー 個人的にはファイアウォールがありがたかったです!サービス内容が徐々に充実してきましたね。 機能追加以外にはドロップレットの新しいプランの追加やネットワークのバックボーンの強化などが行われていたようです。 2018年の予定 DigitalOcean プロダクトチームの2018年のミッションは、より簡単にアプリケーションをスケールさせられる基盤を作っていく、

  • Lorentzca
    Lorentzca
2 min read
Respond to Intel chip vulnerability on DigitalOcean
digitalocean

Respond to Intel chip vulnerability on DigitalOcean

年明け早々大きな脆弱性が発表されましたね。 Meltdown and Spectre CPUの脆弱性 MeltdownとSpectreについてまとめてみた このブログは DigitalOcean 上で動いているのですが、 DigitalOcean ではどのような対策が取られているのでしょうか。 公式ブログに記事が上がっていました。 A Message About Intel Security Findings 読んでみると Intel やその他ハードウェアベンダーと協力して対策を進めている 1月9日時点では、 DigitalOcean に当てるパッチの検証をしている カーネル側で対応するためのアップデートが各ディストリビューションから出ているので、まずはそれを適用して対策してほしい そのために全ての Droplet で内部カーネルを使えるように設定した と言った感じでした。1月10日現在、まだ DigitalOcean

  • Lorentzca
    Lorentzca
1 min read
DigitalOcean released Cloud Firewalls
digitalocean

DigitalOcean released Cloud Firewalls

DigitalOceanにマネージドなファイアウォールが追加されました! ✨ Cloud Firewalls: Secure Droplets by Default 管理画面やAPIから設定できるファイアウォールで、設定はDigitalOceanのネットワーク層で適用されます(フィルタされたパケットはドロップレットまで届かない)。 この機能によってドロップレット毎にiptablesやfirewalldを設定する必要がなくなるのがうれしいですね。 sourceもしくはdestinationにはIPv4, IPv6, タグ, ドロップレット, ロードバランサを指定することができます。tagを指定することで楽かつ柔軟にスケールできそうですね。 terraformでも近いうち実装されそう。 resource_digitalocean_firewall.go: Add DO Cloud Firewalls (#15124) by keinohguchi · Pull Request #1 · terraform-providers/

  • Lorentzca
    Lorentzca
1 min read
Annotate provider maintenance time with Mackerel
mackerel

Annotate provider maintenance time with Mackerel

このブログはDigitalOceanが提供しているVPS上で動いています。 digitalocean - ゆるふわキャンパー DigitalOceanはもちろん、AWSやさくらVPSなどの物理リソースを提供しているプロバイダでは、プロバイダの都合によってメンテナンスが発生する場合があります。例えばネットワーク機器の差し替えや古くなった物理サーバの入れ替えなどによるものです。 このようなプロバイダ側で予測が可能で、サービスの可用性に影響する類のメンテナンスについては、まず何らかの形(メールや公式サイトなど)で告知が行われます。 DigitalOceanのシンガポールリージョンでネットワーク機器のメンテナンスのため 2017/04/25 05:00 ~ 07:00(JST) の間でネットワークが不安定になる場合があるとのこと ?— †殲滅の修道者† (@lorentzca) 2017年4月19日 ふと思いついて↑のメンテナンス期間をMackerelのグラフアノテーションに入れてみました。 はたしてグラフアノテーションは未来の日付に対して有効なのでしょうか…。 Web管理画面からは日付をマニュアルで入力することはできなかったので、mkrコマンドでやってみます。以下のコマンドを実行。

  • Lorentzca
    Lorentzca
3 min read
DigitalOcean released Monitoring
digitalocean

DigitalOcean released Monitoring

DigitalOceanの管理画面にモニタリング機能が追加されました!✨ Introducing Monitoring: Insight into Your Infrastructure モニタリングでできること まだできることは少なく、最小限という感じ。 グラフ(ドロップレット毎にデフォルトで用意されている)をモニタリングし、閾値を超えたら通知を出すことができる 通知先はまだメールかSlackの2つだけ モニタリング対象はドロップレット単位もしくはタグで指定できる 費用 無料! free with all Droplets. Introducing Monitoring: Insight into Your Infrastructure 設定方法 まずドロップレットにdo-agentをインストールする必要があります。 DigitalOceanがリリースしたdo-agentとはどういうものなのか curl -sSL

  • Lorentzca
    Lorentzca
2 min read
Impact of Cloudflare's incident on DigitalOcean
digitalocean

Impact of Cloudflare's incident on DigitalOcean

先週(2017/02/03)、Cloudflareでインシデントが発生しました。 Incident report on memory leak caused by Cloudflare parser bug これを受けて、DigitalOceanからCloudflareのインシデントによるDigitalOceanへの影響について説明する記事が公開されました。 DigitalOcean, Your Data, and the Cloudflare Vulnerability 先に結論 DigitalOceanから顧客データが流出する事態には(DigitalOceanのセキュリティチームによる調査によると)至っていない。 Cloudflareで何が起きたのか インシデントの記事で詳細まで語られていますが、以下のような経緯がありインシデントが発生したようです(訳が雑・間違っている可能性有り

  • Lorentzca
    Lorentzca
2 min read
Sammy The Shark ASCII Art
digitalocean

Sammy The Shark ASCII Art

私のこのブログはDigitalOcean上で動いています。 digitalocean - ゆるふわキャンパー DigitalOceanには可愛らしいサメのマスコットキャラクターがいて、名前を「Sammy The Shark」(サメのサミー かな?)といいます。 今のサミーはモデルチェンジ後の姿で、以前はもっとどんくさそうなサメでした。 Sammy The Shark Gets A Birthday Makeover From Simon Oxley サミーの物販もあります。ステッカー欲しい!!! Accessories - DigitalOcean Store サミーはマスコットキャラクターの割には意外に露出がなく、DigitalOceanの公式トップページにも存在しないし、ブログにも稀にしか出てきません。

  • Lorentzca
    Lorentzca
2 min read
DigitalOcean has released Load Balancers
digitalocean

DigitalOcean has released Load Balancers

昨日、DigitalOceanからマネージドロードバランサの提供が始まりました! Load Balancers: Simplifying High Availability ロードバランサの提供はロードマップでも発表されていましたね。思ったより早かった。 DigitalOcean Roadmap 2017 今まではロードバランサは自前で用意し、ロードバランサの冗長化をFloating IPsを使って行う、というような紹介に留まっていました。 How To Use Floating IPs on DigitalOcean | DigitalOcean マネージドなロードバランサを使用することでだいぶ楽になりそうですね。 特徴 記事のままですが、以下のような特徴があります。 TCP、HTTP、HTTPSを負荷分散してくれる リージョンをまたぐことは出来ない HTTPSを使う場合はロードバランサまでか、

  • Lorentzca
    Lorentzca
2 min read
DigitalOcean Roadmap 2017
digitalocean

DigitalOcean Roadmap 2017

2017年のDigitalOceanのロードマップ的な記事を読みました。 2017: What's Shipping Next on DigitalOcean 大きめのマイルストーンとしては、 do-agentによる監視、モニタリングの提供 ロードバランサの提供 があるようです。 do-agentについてはもう動き出していますね。私も先日少し触ってみました。 DigitalOceanがリリースしたdo-agentとはどういうものなのか ロードバランサは今まで無かったのでFloating IP(EIPみたいなやつ)と自分で(もしくはセットアップ済みのイメージを使って)立てたロードバランサを使った冗長化の仕組みが、コミュニティのチュートリアルで解説されたりしていました。 What is High Availability? | DigitalOcean ほかにはDigitalOceanのミッションが語られていました。曰く、「インフラを簡素化し、開発者が夢中になるような体験の創造」。...多分そんな感じ。 simplify

  • Lorentzca
    Lorentzca
1 min read
Read access key from Vault with Terraform
terraform

Read access key from Vault with Terraform

ここ最近terraformのvaultプロバイダについて試していました。 terraformのvaultプロバイダを試す terraformでvaultから値を取得する方法 Solved Vault data source error その成果として、terraformで管理している個人サーバのアクセスキーをvaultで管理し、terraformで利用してみます。 これまで main.tfのあるディレクトリでdirenvを使い、アクセスキーを環境変数で設定していました。 export DIGITALOCEAN_TOKEN="XXXXXXXX" これから vaultにアクセスキーを格納し、terraformから呼び出すようにしました。 data "vault_generic_secret" "digitalocean"

  • Lorentzca
    Lorentzca
1 min read
What is do-agent by DigitalOcean
digitalocean

What is do-agent by DigitalOcean

1月4日にDigitalOcean公式ブログでdo-agentなるものの発表がされました。 Improved Graphs: Powered by the Open Source DO Agent これが一体どういったものなのか、記事を読んで使ってみたのでメモしておきます。 do-agentとは 以降の引用部分は、記事から引っ張ってきたものです。 DigitalOceanはこんな感じで、立ち上げたサーバに対し申し訳程度のグラフダッシュボードを管理画面にて提供しています。 do-agnetは、このグラフをもっと有用なものにするためのツールで、サーバにインストールして使うものです。 開発はオープンソースで行われています。 GitHub - digitalocean/do-agent: Collects system metrics from DigitalOcean Droplets より簡単に、より正確に、

  • Lorentzca
    Lorentzca
4 min read
去年より個人ブログのポスト数を2倍くらい増やせたのでなぜなのか書く
ghost

去年より個人ブログのポスト数を2倍くらい増やせたのでなぜなのか書く

この記事はfeedforceアドベントカレンダーの11日目の記事なんだからね! feedforce Advent Calendar 2016 - Adventar 昨日は@tmd45さんのターンでした。私も脂肪が増えてきた気がするので減らしていこうと思います(戒め)。まずは野菜だ!(ちなみに最初フト「れ」ない話に空目して関連する人物が3人ほど脳内サジェストされました。) フトらない話 - TMD45'β'LOG!!! さて、今回は「分散惑星間データセンター(Grid Interplanetary Data Center)時代のデータ通信技術」について書こうとしたのですが、すごい難しそうなので諦めました。 公転の関係で季節によって通信先の惑星とのレイテンシが変わったり、公転の関係で通信先の惑星が太陽の向こう側に隠れると通信できなくなったり、太陽風とか重力レンズ効果を考慮しないとだめとか多分そんな感じです。 ていうかそもそもまだ地球以外の惑星にデータセンターと呼べるものがないのでは?(怒)

  • Lorentzca
    Lorentzca
5 min read
Improve my terraform modules
terraform

Improve my terraform modules

以前terraformのmain.tfをモジュールに分割した際に、モジュール同士で変数をやり取りする方法について書きました。 モジュール間の変数のやり取りはregion = "${droplet_region}"みたいに書く Split main.tf into modules, my server was dead しかし、最近になって以下のようなエラーが出るようになっていました。 $ terraform plan There are warnings and/or errors related to your configuration. Please

  • Lorentzca
    Lorentzca
2 min read
Split main.tf into modules, my server was dead
terraform

Split main.tf into modules, my server was dead

このサイトが動いているサーバはDigitalOceanで、terraformで管理しています。 最近、main.tfを見ていて見づらいなと感じたので(行数は100行もないけれど大半が変更しない行だしいつも目で飛ばしてる行だった。)moduleを使ってスッキリさせようと思い立ちました。 Modules - Terraform by HashiCorp 結果、main.tfが大分すっきりしました。 variable "default_key" {} variable "mailgun_key" {} module "droplet" { source = "./modules/digitalocean/

  • Lorentzca
    Lorentzca
6 min read
Create swap with cloud-config
swap

Create swap with cloud-config

digitaloceanでcloud-configを使ってサーバ初期起動時にswapが有効になるようにしてみる。 How to enable linux swap on boot? cloud-configの作成 こんな感じのcloud-config.ymlを書く。fstabへの記述はansibleでやっているので端折ったが、ここまでやるならfstabの編集までcloud-configの責務にしたほうが良さそう。 #cloud-config runcmd: - fallocate -l 2G /swapfile - chmod 600 /swapfile - mkswap /swapfile - swapon /swapfile 動作確認 実際にdropletを立てて確認する(もっと楽な方法無いかな…

  • Lorentzca
    Lorentzca
1 min read
Backup Droplet
digitalocean

Backup Droplet

このblogのbackupどうしようか考えていて、ghostはwordpressみたいにバックアッププラグインがあって毎日S3に転送、みたいなことはできない。 バックアップスクリプト書いてcronで叩こうかと思ったものの、どうせそのうちblog以外もなんか動かすしサーバーごとバックアップとることにした digitaloceanのdropletのバックアップを取る方法は2つある 1つはsnapshotで、もう1つはbackups。違いはいくつかあって、 snapshot backups 費用 無料 対象droplet費用の20% 自動 No Yes 電源 シャットダウンされる シャットダウンされない みたいな感じ 世代は4世代らしい。もし何らかの理由でバックアップが失敗した場合は、その分の料金は発生しないとのこと。(4世代中1世代のバックアップが失敗したら、費用はdroplet費用の15%になる) バックアップの周期は1週間毎で、タイミングは指定したウインドウ内で実行される その辺の話は、以下のフォーラム・FAQでされていた(digitaloceanはなぜかAPI以外はまとまったドキュメントがない。

  • Lorentzca
    Lorentzca
2 min read