Submit Search
Upload
Mastdonインスタンス立ててみた in Azure #ssmjp
•
4 likes
•
2,949 views
Masahiro NAKAYAMA
Follow
20170529 #ssmjp mastodon Azure上でマネージドサービスを使って クラウドっぽくMastodonを動かしてみた話
Read less
Read more
Technology
Report
Share
Report
Share
1 of 22
Download now
Download to read offline
Recommended
負荷試験ツールlocustを使おう
負荷試験ツールlocustを使おう
iRidge, Inc.
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使う
Takeshi Fukuhara
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
政雄 金森
Apache NiFi の紹介 #streamctjp
Apache NiFi の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
zaki4649
ここが良かったDatadog
ここが良かったDatadog
tyamane
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Hiroshi Okano
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
Recommended
負荷試験ツールlocustを使おう
負荷試験ツールlocustを使おう
iRidge, Inc.
Visual StudioやAzureからAzure DevOpsを使う
Visual StudioやAzureからAzure DevOpsを使う
Takeshi Fukuhara
Sonar qubeでちょっと楽しい静的解析
Sonar qubeでちょっと楽しい静的解析
政雄 金森
Apache NiFi の紹介 #streamctjp
Apache NiFi の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
PenTesterが知っている危ないAWS環境の共通点
PenTesterが知っている危ないAWS環境の共通点
zaki4649
ここが良かったDatadog
ここが良かったDatadog
tyamane
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Hiroshi Okano
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
NTT DATA Technology & Innovation
What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?
土岐 孝平
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
とある診断員とAWS
とある診断員とAWS
zaki4649
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
Takayuki Ishikawa
0からわかるAlfresco
0からわかるAlfresco
MoritakaSoma
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
NTT DATA Technology & Innovation
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services
Amazon Web Services Japan
Datadog による Container の監視について
Datadog による Container の監視について
Masaya Aoyama
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
Amazon Web Services Japan
はじめての datadog
はじめての datadog
Naoya Nakazawa
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
Amazon Web Services Japan
Monitoring - 入門監視
Monitoring - 入門監視
Eiji KOMINAMI
#reco_tech Cloud searchでレコチョク検索の実現に向けて
#reco_tech Cloud searchでレコチョク検索の実現に向けて
recotech
アジャイル開発のためのDatadog
アジャイル開発のためのDatadog
Nobuyasu Seki
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
オラクルエンジニア通信
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Web Services Japan
Spring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
心 谷本
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
More Related Content
What's hot
What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?
土岐 孝平
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
とある診断員とAWS
とある診断員とAWS
zaki4649
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
Takayuki Ishikawa
0からわかるAlfresco
0からわかるAlfresco
MoritakaSoma
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
NTT DATA Technology & Innovation
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services
Amazon Web Services Japan
Datadog による Container の監視について
Datadog による Container の監視について
Masaya Aoyama
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
Amazon Web Services Japan
はじめての datadog
はじめての datadog
Naoya Nakazawa
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
Amazon Web Services Japan
Monitoring - 入門監視
Monitoring - 入門監視
Eiji KOMINAMI
#reco_tech Cloud searchでレコチョク検索の実現に向けて
#reco_tech Cloud searchでレコチョク検索の実現に向けて
recotech
アジャイル開発のためのDatadog
アジャイル開発のためのDatadog
Nobuyasu Seki
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
オラクルエンジニア通信
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Web Services Japan
Spring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
心 谷本
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
What's hot
(20)
What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
とある診断員とAWS
とある診断員とAWS
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
0からわかるAlfresco
0からわかるAlfresco
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services
Datadog による Container の監視について
Datadog による Container の監視について
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
はじめての datadog
はじめての datadog
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
Monitoring - 入門監視
Monitoring - 入門監視
#reco_tech Cloud searchでレコチョク検索の実現に向けて
#reco_tech Cloud searchでレコチョク検索の実現に向けて
アジャイル開発のためのDatadog
アジャイル開発のためのDatadog
RDF Semantic Graph「RDF 超入門」
RDF Semantic Graph「RDF 超入門」
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身
Spring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
More from Masahiro NAKAYAMA
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
Masahiro NAKAYAMA
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
Masahiro NAKAYAMA
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
Masahiro NAKAYAMA
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
Masahiro NAKAYAMA
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
Masahiro NAKAYAMA
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
Masahiro NAKAYAMA
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
Masahiro NAKAYAMA
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
Masahiro NAKAYAMA
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
Masahiro NAKAYAMA
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Masahiro NAKAYAMA
Serverless book
Serverless book
Masahiro NAKAYAMA
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
Masahiro NAKAYAMA
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
Masahiro NAKAYAMA
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Masahiro NAKAYAMA
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
Masahiro NAKAYAMA
More from Masahiro NAKAYAMA
(20)
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
ハッカソンについて(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
イントロダクション(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
クラウド時代のものづくり(分散アーキテクチャ時代におけるWebシステムの開発と運用) #seccamp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
めもおきば新刊のお知らせ サーバーレスでHelloWorldする25の方法 #ssmjp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
クラウド時代における分散Webシステムの構成とスケーリング #seccamp
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
#ServerlessDays Tokyo 2019 「サーバーレス」な同人誌の紹介
サーバーレス時代の システム設計ワークショップ
サーバーレス時代の システム設計ワークショップ
#ssmjp 2018/12 技術系同人誌を手に入れよう
#ssmjp 2018/12 技術系同人誌を手に入れよう
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
FaaSのインターフェースに見るサーバーレス #serverlessconf #serverlesstokyo
クラウドでハンズオンする話 #ssmjp
クラウドでハンズオンする話 #ssmjp
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
SORACOMでデータ上げてクラウドで分析・可視化するハンズオン #SecHack365
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
Serverless book
Serverless book
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
技術系同人誌を書こう #ssmjp
技術系同人誌を書こう #ssmjp
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
BluetoothメッシュによるIoTシステムを支えるサーバーレス技術 #serverlesstokyo
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
Serverless Architecture Overview #cdevc
Serverless Architecture Overview #cdevc
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug
Recently uploaded
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Recently uploaded
(8)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
Mastdonインスタンス立ててみた in Azure #ssmjp
1.
Mastodonインスタンス 立ててみた in Azure Aki@nekoruri 2017-05-29 #ssmjp
2.
Mastodon • Twitterっぽいアレ • 高頻度で短文が更新されるマイクロブログ •
添付ファイル(画像や動画)が付いたりする • 「フォロー」に基づいた購読・通知と雑なアクセスコントロール • 分散SNS(Federated Social Web) • 「Twitterっぽいアレ」をブログ更新通知などの仕組みで分散化を実現 • 割と死に体だったプロトコルも流用採用している • Rails上に教科書通りに分散システムを実装(非同期処理の多用) • 微妙な言い換え(ツイート⇒トゥート、等)
3.
日本におけるMastodon • 4月中旬に過剰とも言える流行の波 • 猫も杓子もといった流行期は脱出 •
PixivのPawooやドワンゴのfriends.nico など、CGMサイトに対応するSNSとして 一定の存在感は引き続き確保 • 分散SNSの実現可能性を十分に示した 出典:https://friends.nico/@TaiseiMiyahara/10996911
4.
Mastodon用語 • インスタンス • 一つのドメインを持つMastodonシステム(例:mstdn.jp、pawoo.net) •
インスタンス毎にその管理者が運用し、ポリシーを持つ • ネットワーク屋っぽく言えばAS(自律システム) • リモートフォロー • 別のインスタンスのユーザをフォロー(購読)する • ローカルタイムライン • 自分と同じインスタンスで発言された全ての公開トゥートのタイムライン • 連合タイムライン • ローカルタイムライン +インスタンス内の誰かがリモートフォローする全ての公開トゥート
5.
AzureにMastodonを立ててみよう 1. まず服を脱ぎます UbuntuのVMを立てます。 2. 外部からのHTTPSの接続を許可します。 3.
Dockerとdocker-composeを入れます。
6.
あとは神チュートリアル資料の通り http://qiita.com/zembutsu/items/f1f1ede26102ba27fce2
7.
ほい
8.
完
9.
んなわけはない
10.
運用こそが本当の戦い • スケールアウト対応 • 添付ファイルがローカルファイル •
DB(PostgreSQL/Redis)が同一ホスト内のコンテナ間接続 • ドメインの分離 • 「添付」画像は、トゥートに直接URLとして含まれる。 ⇒ あとからドメインの変更・分離は難しいので最初に対応すること • バックアップとか冗長化とか • ぶっちゃけもうデータベースの面倒なんて自分で見たくない ⇒ マネージドDB使おう • ぶっちゃけもうメール配信キューの面倒なんて(ry ⇒ マネージドSMTPサービス使おう
11.
オブジェクトストレージの変更 • Mastodon自体の機能としてはAmazon S3に対応 •
S3互換のなにかを持ってくれば良い • Google Cloud Storageは標準のS3互換APIでそのまま通る模様 • s3proxy • S3互換APIを提供するプロキシサーバ • Azure BlobやOpenStack Swiftなどに保存できる • ローカルファイルにも保存できる ⇒ クラウド使わない場合もひとまずs3proxyでドメイン分離が可能
12.
オブジェクトストレージの変更 • Azure BlobがカスタムドメインのHTTPSができない •
とりあえずCDNを挟んで回避 • Azure CDN from Verizonなら無償でHTTPS証明書取れます • 解説記事の通りにやれば良い • http://blog.tmyt.jp/entry/2017/04/19/202922 『今話題のMastodonインスタンスを建ててS3の代わりに Azure Blob Storageを使う』 • paperclip.rb へのパッチは既に不要
13.
データストアのマネージドサービス化 • メインのDBはPostgreSQL • いやっふう! Azure
Database for PostgreSQLプレビュー来た! • 内部のPubSubなどにRedis • Azure Redis Cache
14.
PostgreSQLの切り替え • PortalからAzure Database
for PostgreSQL構築 • 接続のセキュリティとか適当に設定 • データ移行 • とりあえずpg_dumpで吸ってpsqlで投入 • 設定変更してdocker-composeあげ直し • docker-compose.ymlでdbを削除 • .env.productionに接続情報
15.
Redisの切り替え • Redis Cacheを構築 •
とりあえずテストでSSL無しで検証(時間不足) • 設定変更してdocker-composeあげ直し • docker-compose.ymlでredisを削除、.env.productionに接続設定 • 注意点 • Mastodon側で利用するRedisライブラリがSSL非対応 「NotImplementedError (SSL not supported by hiredis driver)」 • アクセスキーに「+/」が入ると駄目 • URLエンコードすればParseは通るが、デコードされずにサーバに投げられる! • ライブラリ周りの組み合わせのバグっぽい • 当たりを引けるまでアクセスキー再生成ガチャを回せば回避可能(ひどい)
16.
メール配信の切り替え • みんなだいすきSendGrid • Azureマーケットプレイス経由でも利用できるけど、 今回は構造計画研究所さん経由 •
設定変更してdocker-composeあげ直し • docker-compose.ymlでmtaを削除、.env.productionに接続情報 • ルート証明書ストアを適切に設定する必要がある (が、所詮通知だけと割り切って検証しない設定も可能) • メールなのでDNS設定も • SendGridのDomain Whitelabel機能を設定⇒DNSにレコード登録 • SPF/DKIMともにPASSできる
17.
最終的な構成 frontend (nginx) streaming (node) web (rails) SendGrid s3proxy sidekiq (worker) PostgreSQL (managed) Azure Blob Redis (managed) docker-compose管理 AzureCDN 画像など Web/Streaming 外部 インスタンス
18.
その他の課題 • コンテナ管理 • 監視
19.
コンテナ管理 • コンテナ数などの管理 • ウェブアプリだけでなく、非同期タスクのスループットが重要 •
負荷に応じたワーカーの制御が必要 • そもそもdocker-composeとか手で叩く時代じゃない • GKEみたいなのが欲しい • Azure Container Serviceでそれっぽくできそう • 結局はコンテナのスケジューリングの問題に行き着く
20.
監視 • 一般的なサーバ性能メトリクス • CPU、メモリ •
Sidekiqキュー • 規模が大きくなるとここが詰まる模様 • 複数のキューごとにプロセス分離など • マネージドサービスのメトリクス • PostgreSQL • Redis • サービス死活 • ユーザの投稿内容 • 自インスタンスのユーザの投稿の違法性 • Federate先のユーザから流れてきた投稿の違法性
21.
まとめ • Azureでもクラウドっぽくできマストドン • Azure
Database for PostgreSQL万歳! • AWS Certificate Managerの影に隠れているけど、 Azure CDNもDigiCertのフルマネージド証明書が取得/利用可能 • 手抜きしたけどLB最初から挟んだ方が良い • もうステートレスになってるから、LB挟んで増やせばOK • ちなみに1月からMicrosoft MVPになりました • みんな祝って! • 今後も基本はベンダーニュートラルでやっていきます。 <良 い モ ノ は 良 い>
22.
で、誰? • Aki (@nekoruri) •
BLEなIoTシステムの クラウド側担当 • ちょろっと執筆も • 「薄い本」も出しています • 最近はすっかり セキュリティ教育畑に…… • セキュリティ・キャンプ プロデューサー • SecHack365 実施協議会委員 • ProjectDIVA Arcade LV.623 NEW!
Download now