Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rust & AWS X-Ray による分散トレーシングの実現
Search
Kazumasa Yamamoto
October 11, 2023
3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust & AWS X-Ray による分散トレーシングの実現
Kazumasa Yamamoto
October 11, 2023
More Decks by Kazumasa Yamamoto
See All by Kazumasa Yamamoto
ユニークビジョンの Rust 活用事例
fill9120
2
1.8k
Rust製プロダクトを 3年以上運用して得たノウハウ
fill9120
0
1.1k
Messaging APIを駆使した ChatGPT ボットのUX改善
fill9120
0
400
Rust を開発言語として採用してからの取り組み
fill9120
1
1.9k
ストラクチャードコミュニケーション
fill9120
0
140
Cloudflare PagesにVue.jsアプリをデプロイしてみた
fill9120
0
1.1k
Rustでディープラーニング
fill9120
0
470
Rustで定数式を扱う
fill9120
0
470
LINE BotとLIFFを使って謎解きアプリを作った話
fill9120
0
770
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A better future with KSS
kneath
240
18k
Paper Plane
katiecoart
PRO
3
53k
Documentation Writing (for coders)
carmenintech
77
5.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Building Adaptive Systems
keathley
44
3.2k
Google's AI Overviews - The New Search
badams
0
1.6k
Product Roadmaps are Hard
iamctodd
55
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
530
Faster Mobile Websites
deanohume
310
32k
Transcript
ユニークビジョン株式会社 山本 一将 Rust、何もわからない... #10 Rust & AWS X-Ray による
分散トレーシングの実現
2 2023/10/11 Rust、何もわからない... #10 自己紹介 kyamamoto9120 山本 一将 ユニークビジョン株式会社 エンジニア
業務でRust書きつつ、チームの生産性を向上させる改善をします 実績:2015年 世界コンピュータ将棋選手権 9位 趣味:スポーツ観戦、将棋、キャンプ、リアル脱出ゲーム
3 2023/10/11 Rust、何もわからない... #10 Rust、チュートリアルにしたがって APIを作るだけなら結構簡単!
4 2023/10/11 Rust、何もわからない... #10 チュートリアルレベルから 運用に耐える品質に持ち上げるのは 大変
5 2023/10/11 Rust、何もわからない... #10 今日は、情報が少ないと感じる 「オブザーバビリティ」 チュートリアル
6 2023/10/11 Rust、何もわからない... #10 システム構成 ➢ 導入 ➢ 成果物の構成 ➢
環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
7 2023/10/11 Rust、何もわからない... #10 資料作成時の環境 インストール方法 • Rust : https://www.rust-lang.org/tools/install
• Docker : https://docs.docker.com/engine/install • AWS Copilot : https://aws.github.io/copilot-cli/ja/docs/getting-started/install/ ➢ 導入 ➢ 成果物の構成 ➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
8 2023/10/11 Rust、何もわからない... #10 プロジェクトの作成 ➢ 導入 ➢ 成果物の構成 ➢
環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
9 2023/10/11 Rust、何もわからない... #10 API サーバーの作成 ➢ 導入 ➢ 成果物の構成
➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
10 2023/10/11 Rust、何もわからない... #10 Dockerfile の作成 ➢ 導入 ➢ 成果物の構成
➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
11 2023/10/11 Rust、何もわからない... #10 AWS へデプロイ ➢ 導入 ➢ 成果物の構成
➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
12 2023/10/11 Rust、何もわからない... #10 OpenTelemetry に必要なクレートを追加 ➢ 導入 ➢ 成果物の構成
➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ tracing 最強!
13 2023/10/11 Rust、何もわからない... #10 tracing の設定を行う関数を実装 ➢ 導入 ➢ 成果物の構成
➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ AWS X-Ray は ID が特殊
14 2023/10/11 Rust、何もわからない... #10 初期化処理とミドルウェアの追加 ➢ 導入 ➢ 成果物の構成 ➢
環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ 追加するのは2行
15 2023/10/11 Rust、何もわからない... #10 AWS Distro for OpenTelemetry を追加 ➢
導入 ➢ 成果物の構成 ➢ 環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ この2行を足すと ADOT が サイドカーで 動く!
16 2023/10/11 Rust、何もわからない... #10 デプロイして動作確認 ➢ 導入 ➢ 成果物の構成 ➢
環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ
17 2023/10/11 Rust、何もわからない... #10 クリーンアップ ➢ 導入 ➢ 成果物の構成 ➢
環境構築 ➢ ベースとなる API の作成 ➢ プロジェクトの作成 ➢ API サーバーの作成 ➢ Dockerfile の作成 ➢ AWS へのデプロイ ➢ 分散トレーシングの実現 ➢ 必要なクレートの追加 ➢ tracing の設定 ➢ main.rs の修正 ➢ manifest.yaml の修正 ➢ デプロイと動作確認 ➢ クリーンアップ 消し忘れると お金かかるよ!
18 2023/10/11 Rust、何もわからない... #10 宣伝
19 2023/10/11 Rust、何もわからない... #10 Rust.Tokyo 2023
20 2023/10/11 Rust、何もわからない... #10 Vue Fes Japan 2023
21 2023/10/11 Rust、何もわからない... #10 採用情報 エンジニア募集中! Rust 書けるかも
22 2023/10/11 Rust、何もわからない... #10 ありがとうございました 皆さんとお話したい 採用してます Xのフォローお願いします • 今日の発表について
• ユニークビジョン • Rustについて • コードレビューの工夫 • 開発リーダーのお悩み • 東京ヤクルトスワローズ etc…