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
0
13
Amazon Connect コンタクトフローの大量移管?!
豊洲会登壇資料。Amazon Connectで検証環境と本番環境の移管時におけるコンタクトフロー移管の実例紹介。
toyo-da01
April 16, 2025
Tweet
Share
More Decks by toyo-da01
See All by toyo-da01
AWS ハッカソン体験記~ゲーム開発で得られたAWSスキル紹介~
da01toyo
0
10
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
69
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
5
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
12
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
15
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
10
CI / CDって具体的にどう動いている??
da01toyo
0
3
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
4
優良な技術サイトを「お気に入り」で終わらせないためのWebアプリケーション開発
da01toyo
0
3
Other Decks in Technology
See All in Technology
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
210
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
AI開発ツールCreateがAnythingになったよ
tendasato
0
110
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
1
420
サンドボックス技術でAI利活用を促進する
koh_naga
0
190
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.5k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.7k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
140
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
150
Vault を基盤として整備し、 みんなに使ってもらえるようになるまで
takahiko
1
110
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
300
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
350
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Statistics for Hackers
jakevdp
799
220k
Rails Girls Zürich Keynote
gr2m
95
14k
Gamification - CAS2011
davidbonilla
81
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
54k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
How GitHub (no longer) Works
holman
315
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
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 クセ強な環境移管を自動化できた!