Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
住所正規化 API をLambda + Redis で動くようにしたお話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
enkatsu
August 02, 2021
Technology
500
0
Share
住所正規化 API をLambda + Redis で動くようにしたお話
enkatsu
August 02, 2021
More Decks by enkatsu
See All by enkatsu
NICOGRAPH 2022 で発表してきました
enkatsu
0
360
インデントの崩れる音がする
enkatsu
0
290
Open Street Map の歩き方
enkatsu
0
480
Other Decks in Technology
See All in Technology
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
5
1.6k
MCPで決済に楽にする
mu7889yoon
0
170
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
590
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
ハーネスエンジニアリング×AI適応開発
aictokamiya
3
1.3k
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
12
7.2k
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
180
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
180
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
170
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
240
FASTでAIエージェントを作りまくろう!
yukiogawa
4
180
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
160
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
170
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
92
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
92
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
Visualization
eitanlees
150
17k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
The Pragmatic Product Professional
lauravandoore
37
7.2k
Transcript
住所正規化 API を Lambda + Redis で動くようにしたお話 ARCANA Meetup #72
2021/7/30 株式会社スタジオ・アルカナ 遠藤勝也
住所正規化 API とは?
霞が関 2-1-10 東京都 / 千代田区 / 霞が関 / 2 /
1 / 10
入力 { "@type": " 住所型", " 表記" : " 霞が関2-1-10"
}
出力 { "@type": " 住所型", " 表記": " 霞が関2-1-10", "
都道府県": " 東京都", " 都道府県コード": "http://data.e-stat.go.jp/lod/sac/C13000", " 市区町村": " 千代田区", " 市区町村コード": "http://data.e-stat.go.jp/lod/sac/C13101", " 町名": " 霞が関", " 丁目": "2", " 番地": "1", " 号": "10" }
既存の構成 imi-enrichment-address https://github.com/IMI-Tool-Project/imi-enrichment-address LevelDB を使った npm EC2 で動かしてる 同時にアクセスできない
LevelDB とは https://github.com/google/leveldb Google 製のキーバリューストア 高速 SQLite の KVS バージョンみたいなイメージ
既存のライブラリの構造 . ├── LICENSE ├── README.md ├── bin ├── cache
├── db # ここにファイルがあって読み書きしてる ├── lib ├── main.js ├── node_modules ├── package-lock.json ├── package.json ├── spec ├── test └── tools
他の KVS で使える様にしよう!
せっかくだから AWS のサービスで構築したい
Lambda + Redis で構築しました やったこと 1. imi-enrichment-address をフォークしたリポジトリを作成する 2. imi-enrichment-address
のテストコードを実行する 3. LeveelDB を使っている箇所を Redis に差し替える 4. RedisInsight を使ってローカルの Redis にデータが保存されているか確認する 5. AWS ElastiCache にデータをリストアする 6. AWS Lambda から Redis に接続できるか確認する 7. AWS Lambda で API を実装する
つまったこと ElastiCache にリストアできない! S3 の権限を緩める必要がある ElastiCache にローカルの Redis CLI で接続できない!
Lambda から ElastiCache にアクセスできない! ElastiCache は同じセキュリティグループじゃないと接続できない
おわり