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
5
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
8
UTM (統合脅威管理; FortiGate) on AWSを構築するにはどんなネットワーク設定??
da01toyo
0
37
悪用厳禁! SQLインジェクションやってみた!
da01toyo
0
5
業務効率化したいのに時間がない??OSSとLambdaを用いたツールのスピード開発術
da01toyo
0
8
普通のやり方だとできない!?💦 Amazon Connect x Lambdaのレア?な連携のご紹介!
da01toyo
0
11
CI/CD ツール導入で達成した、開発と運用の協力関係強化とストレスフリーなリリースプロセスの実現に迫る!
da01toyo
0
8
CI / CDって具体的にどう動いている??
da01toyo
0
2
監視オペレータはもういらない?~Amazon Connectを用いたスペシャリスト自動手配システムの内製開発~
da01toyo
0
4
優良な技術サイトを「お気に入り」で終わらせないためのWebアプリケーション開発
da01toyo
0
3
Other Decks in Technology
See All in Technology
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
330
フィンテック養成勉強会#54
finengine
0
200
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
1
110
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.2k
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
1
340
Geminiとv0による高速プロトタイピング
shinya337
0
180
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
3
650
Delegating the chores of authenticating users to Keycloak
ahus1
0
130
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
260
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
200
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Rails Girls Zürich Keynote
gr2m
94
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Code Review Best Practice
trishagee
69
18k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
How GitHub (no longer) Works
holman
314
140k
It's Worth the Effort
3n
185
28k
Scaling GitHub
holman
459
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Designing for Performance
lara
609
69k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
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 クセ強な環境移管を自動化できた!