Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Minato Kirino
1,008 views
20170429 jitakurack mastodon
自宅ラック勉強会向けMastodon on AWS構成資料
Internet
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 20
2
/ 20
3
/ 20
4
/ 20
5
/ 20
6
/ 20
7
/ 20
8
/ 20
9
/ 20
10
/ 20
11
/ 20
12
/ 20
13
/ 20
14
/ 20
15
/ 20
16
/ 20
17
/ 20
18
/ 20
19
/ 20
20
/ 20
More Related Content
PDF
Migrate mastodon instance to Azure from AWS
by
Minato Kirino
PDF
Cloudian with CA ARCserve
by
CLOUDIAN KK
PDF
Gluster fsにおいて内在するincident要因
by
TaikaiSebastianHirose
PDF
Comparing GlusterFS Swift API to Native Swift
by
Etsuji Nakai
PDF
NetApp SteelStore with CLOUDIAN HyperStore
by
CLOUDIAN KK
PDF
マルチAZ対応!AWS上で稼働するスケールアウトNAS Red Hat Storage
by
Taira Hajime
PPT
クラウド時代のストレージとは (Cloudian Summit 2012)
by
CLOUDIAN KK
PDF
20130319勉強会
by
Akira Yoshiyama
Migrate mastodon instance to Azure from AWS
by
Minato Kirino
Cloudian with CA ARCserve
by
CLOUDIAN KK
Gluster fsにおいて内在するincident要因
by
TaikaiSebastianHirose
Comparing GlusterFS Swift API to Native Swift
by
Etsuji Nakai
NetApp SteelStore with CLOUDIAN HyperStore
by
CLOUDIAN KK
マルチAZ対応!AWS上で稼働するスケールアウトNAS Red Hat Storage
by
Taira Hajime
クラウド時代のストレージとは (Cloudian Summit 2012)
by
CLOUDIAN KK
20130319勉強会
by
Akira Yoshiyama
What's hot
PDF
Azure Cosmos DB の整合性レベルについて
by
Oshitari_kochi
PDF
分散仮想ストレージシステム紹介
by
OSSラボ株式会社
PDF
3 クラウド・コンピューティング特論 第3章 クラウドの技術と動向
by
Enpel
PDF
Cloudian nosql casestudy_20120318
by
CLOUDIAN KK
PPTX
ReadyNAS OS 6.9.0 新機能紹介
by
NETGEAR Japan
PDF
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
by
Etsuji Nakai
PDF
分散処理のすゝめ?
by
y oe
PDF
2022.03.21 nasクラウド連携
by
ssuser3440151
PDF
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
by
Sunao Tomita
PDF
これから始めるAzure Kubernetes Service入門
by
Yuto Takei
PDF
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
by
Trainocate Japan, Ltd.
PDF
Cassandraとh baseの比較して入門するno sql
by
Yutuki r
PPTX
Start learning Azure Cosmos DB with Azure Synapse Link
by
Oshitari_kochi
PDF
C01376621
by
guest4eb0bf0
PDF
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
by
Trainocate Japan, Ltd.
PDF
G tech2016 シスコのハイパーコンバージドインフラCisco Hyper-Flexと、その先にあるIoE/BigDataインフラの世界
by
Trainocate Japan, Ltd.
PDF
azureから使うlinux
by
Trainocate Japan, Ltd.
PPTX
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
by
GoAzure
Azure Cosmos DB の整合性レベルについて
by
Oshitari_kochi
分散仮想ストレージシステム紹介
by
OSSラボ株式会社
3 クラウド・コンピューティング特論 第3章 クラウドの技術と動向
by
Enpel
Cloudian nosql casestudy_20120318
by
CLOUDIAN KK
ReadyNAS OS 6.9.0 新機能紹介
by
NETGEAR Japan
10年効く分散ファイルシステム技術 GlusterFS & Red Hat Storage
by
Etsuji Nakai
分散処理のすゝめ?
by
y oe
2022.03.21 nasクラウド連携
by
ssuser3440151
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
by
Sunao Tomita
これから始めるAzure Kubernetes Service入門
by
Yuto Takei
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
by
Trainocate Japan, Ltd.
Cassandraとh baseの比較して入門するno sql
by
Yutuki r
Start learning Azure Cosmos DB with Azure Synapse Link
by
Oshitari_kochi
C01376621
by
guest4eb0bf0
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
by
Trainocate Japan, Ltd.
G tech2016 シスコのハイパーコンバージドインフラCisco Hyper-Flexと、その先にあるIoE/BigDataインフラの世界
by
Trainocate Japan, Ltd.
azureから使うlinux
by
Trainocate Japan, Ltd.
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
by
GoAzure
More from Minato Kirino
PDF
ステイホーム期間を使って、家庭内LAN環境を見直した
by
Minato Kirino
PDF
#こみにょぴ結婚式 LT資料
by
Minato Kirino
PDF
#RouterBOARD 勉強会 OSPF検証班 発表資料
by
Minato Kirino
PDF
20120408 #自宅ラック勉強会 を監視してみたい
by
Minato Kirino
PDF
2011/06/11 #sfstudy ECCの遊び方。
by
Minato Kirino
PPT
qpstudy#6 勉強どうしてる
by
Minato Kirino
ステイホーム期間を使って、家庭内LAN環境を見直した
by
Minato Kirino
#こみにょぴ結婚式 LT資料
by
Minato Kirino
#RouterBOARD 勉強会 OSPF検証班 発表資料
by
Minato Kirino
20120408 #自宅ラック勉強会 を監視してみたい
by
Minato Kirino
2011/06/11 #sfstudy ECCの遊び方。
by
Minato Kirino
qpstudy#6 勉強どうしてる
by
Minato Kirino
20170429 jitakurack mastodon
1.
2017/04/29 きりのみなと mastodon.chotto.moe on AWS
2.
全体構成 1 DBサーバ(RDS) db.t2.micro Mastodon鯖 t2.large Redis(ElastiCache) cache.t2.micro ロードバランサ ACM+ALB メディアファイル S3Bucket+ StaticWebHosting CDN(CloudFront) メール通知 SES 権威DNS Route53 Mastodon ユーザ
3.
全体構成における考え方 AWSマネージドサービスを活用する – メールサーバを立てずSESを使う
データは腹持ちさせない – PostgreSQLはRDSに任せる – RedisはElastiCacheRedisに外出しする – メディアファイルはS3バケットに保持させる – Docker-composeでMastodon本体をバージョンアップす る時にシビアにデータの保持を考えなくて済むため 2
4.
全体構成における考え方 ユーザ通信は全て暗号化させる – ALBはAWS
Certificate ManagerのSSL証明書を使い、 Mastodonの設定でHTTP to HTTPSリダイレクトさせる – メディアファイルはCloudFront + S3バケット(静的ウェ ブホスティング)でHTTPS上でコンテンツ配信する – ユーザはメールアドレス+パスワードを入力してログ インするのにHTTP通信なのはとてもマズい – HTTPSサイトの中からCSS/Javascript/Websocket等の外 部コンテンツをHTTPで呼び出すとブラウザ側でエラー になるので、全通信をHTTPS化する必要がある 3
5.
Mastodon鯖の構成 DB/Redisを外出ししているので、本家の Docker-compose.ymlを少し修正して利用 一つのインスタンス上に、ポートを分けて以下 3つのMastodon環境を同居させている –
jitakurack.chotto.moe – mastodon.chotto.moe – ステージング環境 今のところ冗長化はしていない – なのでMastodonのバージョンアップ中は落ちますw 4
6.
Mastodon鯖のスペック EC2 t2.largeを利用 –
vCPU 2core – Mem 8GB – EBS only CPUよりはメモリが大事 5
7.
Ubuntu 16.04 LTSへMastodonを導入 1.
Docker + Docker Compose の導入 – 公式ドキュメントに沿ってDockerをまず導入 Get Docker for Ubuntu https://docs.docker.com/engine/installation/linux/ubuntu/ – Docker導入後、Docker Composeを配置 Install Docker Compose https://docs.docker.com/compose/install/ 2. Mastodonのリポジトリの取得 – 本家のコードを手元にクローンする git clone https://github.com/tootsuite/mastodon.git 6
8.
Ubuntu 16.04 LTSへMastodonを導入 3.
docker-compose.ymlを編集 – 公式だとPostgreSQL/RedisもDocker Imageを利用する が、RDS / ElastiCacheを利用するので該当部分をコメ ントアウトする 7 version: '2' services: web: restart: always build: . image: gargron/mastodon env_file: .env.production command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - "3000:3000" volumes: - ./public/assets:/mastodon/public/assets - ./public/system:/mastodon/public/system streaming: restart: always build: . image: gargron/mastodon env_file: .env.production command: npm run start ports: - "4000:4000" sidekiq: restart: always build: . image: gargron/mastodon env_file: .env.production command: bundle exec sidekiq -q default -q mailers -q pull -q push volumes: - ./public/system:/mastodon/public/system
9.
Ubuntu 16.04 LTSへMastodonを導入 4.
.env.productionを編集 – ElastiCache Redis周り REDIS_HOST=${ElastiCacheクラスタエンドポイント名} REDIS_PORT=${ElastiCacheポート番号(デフォルト6379)} – RDS PostgreSQL周り DB_HOST=${RDSインスタンスDNS名} DB_USER=${DBユーザ名} DB_NAME=${DBスキーマ名} DB_PASS=${DBパスワード} DB_PORT=${RDSサービスポート番号(デフォルト5432)} 8
10.
Ubuntu 16.04 LTSへMastodonを導入 4.
.env.productionを編集 – SES周り SMTP_SERVER=${SESエンドポイント名} SMTP_PORT=587 SMTP_LOGIN=${IAMユーザのSMTP ID (AKIA…)} SMTP_PASSWORD=${IAMユーザのSMTP Password} SMTP_FROM_ADDRESS=${SESで登録した送信元メールア ドレス} 9
11.
Ubuntu 16.04 LTSへMastodonを導入 4.
.env.productionを編集 – S3バケット周り S3_ENABLED=true S3_BUCKET=${S3バケット名} S3_REGION=ap-northeast-1 以下はIAM Roleを利用しない(出来なかった)場合に設定 AWS_ACCESS_KEY_ID=${IAM Userで作成したAPIキー} AWS_SECRET_ACCESS_KEY=${IAM Userで作成したシーク レットキー} – CloudFront周り S3_CLOUDFRONT_HOST=${CloudFront経由のホスト名} 10
12.
Ubuntu 16.04 LTSへMastodonを導入 5.
Dockerイメージの取得or作成 – 公式にDockerイメージが定期的に作成されているので それをそのまま利用する docker-compose pull – 当然、docker buildでビルドすることも出来るが数分~ 10分程度かかってしまうので注意 docker-compose build 11
13.
Ubuntu 16.04 LTSへMastodonを導入 6.
DBデータの更新、CSS/Javascriptの最新化 – Railsだから仕方ない docker-compose run --rm web rake db:migrate docker-compose run --rm web rake assets:precompile 7. Mastodonの起動 – 作成はup (-dでデーモン化)、破棄はdown docker-compose up –d – 起動はstart、停止はstop – ログを見たい場合はlogs (-fでtail -fのように追いかけ) docker-compose logs -f 12
14.
AWS独特の注意事項 同一サーバ上で、Web(Rails)とStreaming (node.js)を同居させる場合は、URLベースで通 信先ポートを変えてあげる必要あり 13 Mastodon鯖 t2.large ロードバランサ ACM+ALB web: 3000 streaming: 4000 defaultは3000番に流す /api/v1/streaming/*は 4000番に流す
15.
AWS独特の注意事項 Webのヘルスチェックは GET
/about → レスポ ンスコード 301 が良さそう 14 200番が返ってくる URLがあんまり無い… (静的コンテンツもassets:precompile するとURLが変わる)
16.
AWS独特の注意事項 Streamingのヘルスチェックは GET
/ → レスポ ンスコード 200-499が良さそう 15 Tokenが無いのでどんなURLを たたいても401が返ってくる悲しみ
17.
AWS独特の注意事項 CloudFrontが使うSSL証明書は us-east-1
で作る ALBが使うSSL証明書は ALB/EC2 がいるリー ジョンで作る – このドキュメントを見ている人は大抵は ap-northeast-1 で作ることになるはず → ACMの証明書は忘れず2カ所で作成しましょう 16
18.
その他 コンプライアンス的なやつ – ALBアクセスログはS3に忘れず保管しておきましょう –
MastodonのログはCloudwatch LogsかFluentdを使って 外部退避しましょう – 一般向けにWebサービスを公開している以上、正しく管 理するのは世間への義務です 17
19.
メモ 本家の最新コードにただ追従する場合は docker-compose buildしなくても良い –
git pull – docker-compose pull – docker-compose run --rm web rake db:migrate – docker-compose run --rm web rake assets:precompile – docker-compose up -d sidekiqは2個以上に増やしておいた方が良い – docker-compose scale sidekiq=2 18
20.
メモ crontabで必ず1日1回実行すること – docker-compose
run --rm web rake mastodon:daily 19
Download