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
Amazon Connect コンタクトフローの大量移管?!
Search
toyo-da01
April 16, 2025
Technology
59
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amazon Connect コンタクトフローの大量移管?!
豊洲会登壇資料。Amazon Connectで検証環境と本番環境の移管時におけるコンタクトフロー移管の実例紹介。
toyo-da01
April 16, 2025
More Decks by toyo-da01
See All by toyo-da01
AWSからLANケーブルへ!パブリッククラウドエンジニアのホームラボ挑戦
da01toyo
0
29
AWS ハッカソン体験記~ゲーム開発で得られたAWSスキル紹介~
da01toyo
0
40
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
380
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
39
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
55
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
37
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
26
CI / CDって具体的にどう動いている??
da01toyo
0
22
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
20
Other Decks in Technology
See All in Technology
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
Getting Started with Google Antigravity
glaforge
0
300
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
190
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
450
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Product Roadmaps are Hard
iamctodd
55
13k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
Building Applications with DynamoDB
mza
96
7.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
4 Signs Your Business is Dying
shpigford
187
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Transcript
/ Amazon Connect コンタクトフローの大量移管?! 2025/04/16 豊洲会 豊岡大地
/ /9 ―― はじめに ―― Amazon Connect(AWSのコンタクトセンタサービス)では、 従来のITシステムと同様に開発環境・(検証環境)・本番環境の環境用意が推奨されます。 Amazon ConnectでもIaCツールが提供されているものの、、
⇒特にコンタクトフローはUIによる設計が充実しており、コンタクトフローの JSONに都度起こす作業は相性が悪い印象、、 3 百近くある場合は、大変
/ /9 ―― SDKを用いた移行自動化対応 ―― 4 コンタクトフローをJSONに起こすと、、 コンタクトフロー関連のAPIは下記の通り。 ✓ DescribeContatactFlow
(移管元) ✓ CreateContactFlow, UpdateContactFlowModule (移管先) { "Version": "2019-10-30", "StartAction": "12345678-1234-1234-1234-123456789012", "Metadata": { "EntryPointPosition": { "x": 88, "y": 100 }, "ActionMetadata": { "12345678-1234-1234-1234-123456789012": { "Position": { "x": 270, "y": 98 } } } }, "Actions": [{ "Identifier": "12345678-1234-1234-1234-123456789012", "Type": "MessageParticipant", "Transitions": { "NextAction": "abcdef-abcd-abcd-abcd-abcdefghijkl", "Errors": [], "Conditions": [] }, "Parameters": { "Text": "Thanks for calling the sample flow!" } } ] } Contact Flowの情報はこんなに形式的になっているのに、 公式APIではStringでしか返してくれない
/ /9 ―― SDKを用いた移行自動化対応 ―― コンタクトフローには、Amazon Connectのコンポーネント(キュー、ルーティングなど)ARNも含まれる。 Amazon Connect ARNは通常のサービスと少し異なる。
Lambdaの例)arn:aws:lambda:${AWS_REGION}:${AWS_ACCOUNT_ID}:${function_name}:${version} $ aws connect list-queues --instance-id ${instance_id} { "QueueSummaryList": [ { "Id": "92b5a537-b185-4f30-9a7e-1c71770216ac", "Arn": "arn:aws:connect:ap-northeast-1:${AWS_ACCOUNT_ID}:instance/${INSTANCE_ID}/queue/92b5a537-b185-4f30-9a7e-1c71770216ac", "Name": "BasicQueue", "QueueType": "STANDARD", "LastModifiedTime": "2024-09-05T10:07:12.925000+09:00", "LastModifiedRegion": "ap-northeast-1" } ] } インスタンス毎に、 Nameは一致していてもUUIDのように払い出される 5 ⇒ 移管元から移管先への対応では、Nameを「キー」にして、ARNを置き換える必要がある!
/ /9 ―― SDKを用いた移行自動化対応 ―― 以上で、SDKを用いた自動化対応が完了?! 1. 移管元Amazon Connectに対して、DescribeContactFlow APIで情報取得
2. 移管先のクレデンシャルで向きを変更 3. 移管先の各コンテポーネントARNを取得 4. 取得した移管元のContactFlowを、移管先のコンポーネントARNに置換 5. 整理したContact Flowを、移管先にCreateContactFlow/UpdateContactFlow APIで作成 6 残念ながら、足りませんでした、、
/ /9 ―― SDKを用いた移行自動化対応 ―― 7 コンタクトフローは、コンタクトフロー自身を参照する場合があります、、! ⇒ 移管元から移管先への対応では、コンタクトフローの依存関係を整理したうえでアップロードする必要があり!
/ /9 ―― コンタクトフローの依存関係の整理 ―― 8 手元には参照される(regax取得)コンタクトフローを把握して、 一時的なリストにアップロード進捗を格納して比較して、ソートする 各種IaC*でも同じような対策が取られている、、? *IAMロールから作るなど
/ /9 ―― SDKを用いた移行自動化対応 ―― 以上で、SDKを用いた自動化対応が完了?! 1. 移管元Amazon Connectに対して、DescribeContactFlow APIで情報取得
2. 移管先のクレデンシャルで向きを変更 3. 移管先の各コンテポーネントARNを取得 4. 取得した移管元のContactFlowを、移管先のコンポーネントARNに置換 5. 整理したContact Flowを、移管先にCreateContactFlow/UpdateContactFlow APIで作成 再 残念ながら、足りませんでした、、
/ /9 ―― SDKを用いた移行自動化対応 ―― 以上で、SDKを用いた自動化対応が完了!! 1. 移管元Amazon Connectに対して、DescribeContactFlow APIで情報取得
2. 移管先のクレデンシャルで向きを変更 3. 移管先の各コンテポーネントARNを取得 4. 取得した移管元のContactFlowを、移管先のコンポーネントARNに置換 5. コンタクトフロー自身参照からアップロードする順番を整理 6. 整理した順番とContact Flowを、移管先にCreateContactFlow/UpdateContactFlow APIで作成 9 クセ強な環境移管を自動化できた!