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
Alexaスキルを安心安全に開発運用するためのAWS自動化ソリューション
Search
chao2suke
February 23, 2019
Technology
0
700
Alexaスキルを安心安全に開発運用するためのAWS自動化ソリューション
2019/02/23 JAWS Days 2019 登壇資料
chao2suke
February 23, 2019
Tweet
Share
More Decks by chao2suke
See All by chao2suke
天井カメラで捉えた人物をコンピュータビジョンで解析した3年間のトライアンドエラーとこれから
chao2suke
0
2.2k
結局普通のエンジニアが今SageMaker使うと何ができるのかわかるLT
chao2suke
0
1.6k
機械学習の知識ゼロでも動かせるAIツールキットの世界
chao2suke
0
1.6k
「今」のAI技術と「3年後」のAI技術のご紹介
chao2suke
0
1k
Alexaに詳しい人は普段Alexaをどう扱っているか
chao2suke
0
870
奥深きAPLの世界
chao2suke
0
120
Alexaスキル & レジレスCafeにおけるStripe活用の取り組み
chao2suke
0
1.9k
Alexa x 機械学習でスキルをよりリッチにする方法
chao2suke
0
1.6k
#AAJUG vol.2 APL ハンズオン
chao2suke
0
2.7k
Other Decks in Technology
See All in Technology
さいきょうのアーキテクチャを生み出すセンスメイキング
jgeem
0
270
Agentic AI時代のプロダクトマネジメントことはじめ〜仮説検証編〜
masakazu178
3
380
SIEMによるセキュリティログの可視化と分析を通じた信頼性向上プロセスと実践
coconala_engineer
1
2.9k
あなたはJVMの気持ちを理解できるか?
skrb
5
2k
GitLab SelfManagedをCodePipelineのソースに設定する/SetGitLabSelfManagedtoCodePipeline
norihiroishiyama
1
120
例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する
kajitack
12
3.7k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
6
3.1k
トレードオフスライダーにおける品質について考えてみた
suzuki_tada
3
180
CNAPPから考えるAWSガバナンスの実践と最適化
nrinetcom
PRO
1
330
GraphRAG: What I Thought I Knew (But Didn’t)
sashimimochi
1
230
MCP server を作って Claude Desktop アプリから kintone へアクセスすると楽しい
r3_yamauchi
PRO
1
120
AWSエンジニアに捧ぐLangChainの歩き方
tsukuboshi
0
220
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Done Done
chrislema
182
16k
Music & Morning Musume
bryan
46
6.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Building Applications with DynamoDB
mza
93
6.2k
RailsConf 2023
tenderlove
29
980
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Optimising Largest Contentful Paint
csswizardry
33
3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Designing Experiences People Love
moore
139
23k
Transcript
AlexaεΩϧΛ ҆৺ɾ҆શʹ։ൃӡ༻͢ΔͨΊͷ AWSࣗಈԽιϦϡʔγϣϯ Ϋϥεϝιουגࣜձࣾ ͤʔͷ
ࣗݾհ • ਗ਼߶࢙ʢͤʔͷʣ • Ϋϥεϝιουגࣜձࣾ AIιϦϡʔγϣϯ෦ ࡳຈΦϑΟεॴଐ AlexaςΫχΧϧΤόϯδΣϦετ /
VUIΞʔΩςΫτ • ࠷ۙAWS Certified Alexa Skill Builder - SpecialtyΛड͚ͯ AWSࢼݧݴޠ͕ͳͯ͘ײಈ
εΩϧΛͲͷΑ͏ʹ࡞͍ͬͯ·͔͢ʁ
؆୯͚ͩʹ༉அ͕ͪ͠ ɾ։ൃऀίϯιʔϧʢGUIʣ ͦͷͰͳΜͱͳܾ͘Ίͯ͠·͍͕ͪ ɾόοΫΤϯυʢLambdaʣ͕1ϖʔδʢindex.jsʣͷΈͰॻ ͚ΔαΠζͩͱɺ͍Ͱॻ͍ͯ͠·͍͕ͪ ͔ͭͯͷAWS͕ͦ͏ͩͬͨ
AWSΤϯδχΞϦϯάͷ εςοϓΞοϓ ϚωʔδϝϯτίϯιʔϧͰϙνϙν࡞Δ CLI & APIͰίʔυԽͯ͠ཧ͢Δ όονԽ & ௨ػೳΛՃͯ͠CI/CD͢Δ
AlexaΛίʔυཧ͢Δ ϑϩϯτΤϯυଆ ʢIntent/SlotɺΤϯυϙΠϯτཧ) όοΫΤϯυଆ ʢ࣮ίʔυʣ SMAPI (Skill Management API) ASK
CLI AWS Lambda
Codeܑఋ
CodeܑఋΛͬͨ Alexaڥߏங
Point ɾCodeStar(SAM)Λ͏ͱLambdaͷFunction໊ʹ ༨ܭͳpostfix͕ͭ͘ͷ͕ݏ => Apex(SalesForceͷΞϨ͡Όͳ͍ํʣ ΛͬͯLambdaΛDeploy ɾApexΛೖΕͨDockerΛECRʹηοτ => ΧελϜϏϧυϞσϧͰୟ͘ ɾߏங͕͍࣌ؒ(ࣗಈπʔϧ͋Δ͋Δʣ
=> CodePipelineΛͬͯSNSʹ݁ՌΛ௨ɺ ޙ͖ͳํ๏Ͱ௨͢Δ ɾΫϥΠΞϯτʹޙ΄Ͳ εΩϧτϥϯεϑΝʔ͢Δ͜ͱΛߟྀͯ͠ CodeCommitͰͳ͘GithubΛ࠾༻
buildspec.yml version: 0.2 env: variables: SKILL_NAME: demo STAGE: dev AWS_ACCOUNT_ID:
xxxxxxxxxxxx phases: pre_build: commands: - mkdir /root/.ask - "aws s3 sync s3://askconfig-${AWS_ACCOUNT_ID}-${AWS_REGION} /root/.ask/" - cd functions/skill - yarn - cd ../../
buildspec.yml build: commands: - echo Build started on `date` -
"/usr/local/bin/apex --env ${STAGE} deploy skill" - "aws lambda add-permission --statement-id 1 --function-name ${SKILL_NAME}_$ {STAGE} --action lambda:invokeFunction --principal alexa-appkit.amazon.com || true" - cd model - "sh build.${STAGE}.sh" post_build: commands: - echo Build completed on `date`
ෳڥ࡞ͬͯ·͔͢ʁ
ࣄͰΤϯδχΞϦϯά͢Δ࣌ͷجૅ ։ൃڥͰ։ൃ εςʔδϯάͰ͓٬༷֬ೝɺOKͳΒຊ൪ ෆ۩߹εςʔδϯάͰ࠶ݱɺ։ൃڥͰम෮
ຊ൪ڥAmazonνʔϜʹΑΔ৹͕ࠪ͋Δ ʢ͍͍ͩͨ5Ӧۀʣ AlexaͰෳڥΛ࡞ΔϙΠϯτ όοΫΤϯυίʔυ৹ࠪର֎
AlexaͰෳڥΛ࡞ΔϙΠϯτ ࣗಈͰΞοϓσʔτ͢ΔͱϑϩϯτͱόοΫʹ όʔδϣϯࠩҟ͕ग़Δ
ΤΠϦΞεΛ͏
ΤΠϦΞεΛ༻͍ͨෳڥߏங
ɾεςʔδϯάͱຊ൪ͳΔ͘ಉ͡ʹ͓͖͍ͯͨ͠ ͷͰReleaseϒϥϯνΛΘͣmasterʹ౷Ұ ɾώϡʔϚϯΤϥʔʹΑΔΦϖϛεΛ͙ͨΊ ΤΠϦΞεͱόʔδϣϯͷඥ͚ ͋͑ͯखಈͰߦ͏ ɾApexͷproject.json project.dev.json / project.prd.jsonͷ2छྨɺ config(ϩάείʔϓͳͲΛཧʣ
dev/stg/prdͷ3छྨ Point
ଞʹ͍Ζ͍Ζͬͯ·͕͢ ͦΕ·ͨผͷ
·ͱΊ ɾࠓ·Ͱͷ։ൃϊϋ Alexa։ൃʹͦͷ··͑·͢ ɾLambdaόʔδϣχϯάͯ͠ ΤΠϦΞεͰཧ͠·͠ΐ͏ ɾCodeBuildʹςετπʔϧΛಥͬࠐΜͰ CI/CDͰճ͠·͠ΐ͏