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
Amazon Connect コンタクトフローの大量移管?!
Search
toyo-da01
April 16, 2025
Technology
36
0
Share
Amazon Connect コンタクトフローの大量移管?!
豊洲会登壇資料。Amazon Connectで検証環境と本番環境の移管時におけるコンタクトフロー移管の実例紹介。
toyo-da01
April 16, 2025
More Decks by toyo-da01
See All by toyo-da01
AWSからLANケーブルへ!パブリッククラウドエンジニアのホームラボ挑戦
da01toyo
0
8
AWS ハッカソン体験記~ゲーム開発で得られたAWSスキル紹介~
da01toyo
0
16
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
230
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
13
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
17
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
18
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
15
CI / CDって具体的にどう動いている??
da01toyo
0
7
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
8
Other Decks in Technology
See All in Technology
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
410
Choose your own adventure in agentic design patterns
glaforge
0
160
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
160
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
160
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
1.9k
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
360
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
260
AI時代のガードレールとしてのAPIガバナンス
nagix
0
310
Building a Standalone Programming Environment
harukasan
PRO
1
100
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
810
20年前の「OSS革命」に学ぶ AI時代の生存戦略
samakada
0
490
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
1
1.7k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Believing is Seeing
oripsolob
1
120
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
520
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
180
Optimizing for Happiness
mojombo
378
71k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
530
Claude Code のすすめ
schroneko
67
220k
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 クセ強な環境移管を自動化できた!