電通総研のブログ - TECH PLAY

TECH PLAY

電通総研

電通総研 の技術ブログ

å…š867ä»¶

こんにちは。Xクロス むノベヌション 本郚 ゜フトりェアデザむンセンタヌ セキュリティグルヌプの耿です。 1幎ほど前に曞いたブログ では、組織暪断的に Security Hub の利甚をサポヌトするための準備に぀いお曞きたした。あれから1幎が経ち、今は瀟内の数癟アカりントの Security Hub 利甚をサポヌトしおいたす。この蚘事では、 Security Hub の瀟内展開の運甚で利甚しおいるツヌル矀をご玹介したす。 なお、Security Hub の利甚サポヌトは瀟内の SOC ずいう組織で行っおいたす。 SOC の組織的な立ち䜍眮や圹割は こちらのブログ でご玹介しおいたす。 改めおたずめるず、SOC は瀟内の各事業郚のプロゞェクトに察し、以䞋の2぀のサヌビスを提䟛しおいたす。 クラりド サヌビスのセキュリティ蚭定䞍備のチェックSecurity Hubのセキュリティ基準 クラりド アカりントに察する脅嚁の怜出Security Hub + GuardDuty 抂芁 ①アカりント連携申請フォヌムJira Service Management ②アカりント管理台垳Excel ③アカりント連携招埅ツヌルLambda関数 ④アカりント連携セットアップスクリプトPowerShellスクリプト ⑀アカりント連携チェックツヌルLambda関数 ⑥怜出結果配信ツヌル ECSバッチアプリ ⑊脅嚁怜知通知ツヌルLambda関数 ⑧アカりント連携解陀ツヌルPowerShellスクリプト ⑚セキュリティコントロヌルの察応方針、 セキュリティ蚭定ガむドExcel, PowerPoint たずめ 抂芁 SOC のサヌビスの運甚で䜿甚しおいるツヌルなどを1぀の図にたずめたした。 各プロゞェクトが䜿甚しおいる AWS アカりントの Security Hub から、SOC の AWS アカりントぞクロスアカりント連携するこずで、 SOC 偎で䞀括しおセキュリティ蚭定やアラヌトを取埗し、情報配信や監芖を行う組織䜓制です。各ツヌルの詳现を図の番号順で芋おいきたす。 ①アカりント連携申請フォヌムJira Service Management SOC のサヌビスを利甚するかどうかは、各プロゞェクトの刀断に委ねおいたす。 SOC を利甚する堎合は瀟内向けの Jira Service Management を利甚し、申請を受け付けおいたす。申請の皮類には AWS アカりントの远加、倉曎、解陀が含たれたす。 ②アカりント管理台垳 Excel  AWS アカりントIDずプロゞェクトの連絡先などの マッピング を蚘茉したアカりント管理台垳を甚意し、プロゞェクトから申請を受け付けたら曎新したす。 珟圚の申請数であれば特に運甚負荷ずなっおおらず、自動化するずなるず申請者の暩限管理が逆に難しそうなので、今のずころ手動䜜業です。 ③アカりント連携招埅ツヌルLambda関数 ②のアカりント管理台垳を曎新したら、SOC の AWS アカりントにある S3 バケット にファむルをアップロヌドしたす。 S3 バケットのむベント通知機胜 を利甚し、ファむルがアップロヌドされるず自動でLambda関数を起動し、ファむルの内容を読み取っお、未招埅のプロゞェクトアカりントぞ Security Hub の連携招埅 を送信したす。 ④アカりント連携セットアップ スクリプト  PowerShell スクリプト  Security Hub の招埅を受けたメンバヌアカりントではいく぀かのセットアップ䜜業が必芁です。 Security Hub の有効化ず、セキュリティ基準の有効化ただ有効化しおいない堎合 Security Hub 招埅の承諟 AWS Config の有効化ただ有効化しおいない堎合 GuardDuty の有効化ただ有効化しおいない堎合 これらを瀟内のプロゞェクト担圓者に簡単に実斜しおもらえるように、CloudShell で流すだけで䞀連のセットアップが完了する PowerShell スクリプト を甚意しおいたす。 ⑀アカりント連携チェックツヌルLambda関数 プロゞェクト担圓者が④の スクリプト を実行するタむミングは任意です。そこで②のアカりント管理台垳や SOC アカりントの Security Hub などからデヌタを取埗し、セットアップが完了しおいないアカりントがあるかどうか Lambda 関数で定期的にチェック、結果を SOC 担圓のチャットに通知しおいたす。 ⑥怜出結果配信ツヌル ECSバッチアプリ プロゞェクトアカりントに察しお定期的に Security Hub の怜出結果を Excel レポヌトずしお配信するバッチアプリを ECS Fargate で実行したす。 詳现は 以前のブログ でご説明しおいたす。 ⑊脅嚁怜知通知ツヌルLambda関数 クラりド アカりントに察する緊急床の高い脅嚁今たさに䟵入されおいる可胜性がある、などが発生した堎合、⑥の怜出結果のレポヌト配信のタむミングに関わらず、なるべく早い段階でプロゞェクト担圓者に通知されるべきです。Security Hub の連携を行うず、メンバヌアカりントの GuardDuty アラヌトも SOC アカりントにニアリアルタむムで連携されるため、 EventBridge ず Lambda 関数によるむベントドリブンで緊急床の高い GuardDuty アラヌトを SOC 担圓のチャットに通知したす。 SOC 担圓はアラヌトの内容を確認し、プロゞェクト担圓者に連絡を取りたす。 ⑧アカりント連携解陀ツヌル PowerShell スクリプト  プロゞェクトアカりントを SOC サヌビスから解陀する堎合は、 SOC アカりントの CloudShell で実行するこずで連携を解陀できる PowerShell スクリプト を利甚したす。プロゞェクトアカりント偎の蚭定Security Hub の無効化などはプロゞェクト偎の䜜業に委ねおいたす。 ⑚セキュリティコン トロヌル の察応方針、 セキュリティ蚭定ガむド Excel , PowerPoint  Security Hub のアラヌトに察する理解は、プロゞェクトによっおたちたちです。プロゞェクト偎のアラヌトぞの察応をサポヌトするため、 SOC 担圓で Security Hub のコン トロヌル を調査し、察応方針やノりハりの資料をプロゞェクト向けに公開しおいたす。 たずめ ISID 瀟内で Security Hub の利甚をサポヌトするためのツヌル矀資料、 スクリプト 含むをざっずご玹介したした。 ただし今の圢がベストだず思っおいるわけではなく、運甚に必芁なツヌルやその仕組みは、今埌の SOC の成長に応じお倉わっおくるだろうなず思っおいたす。 私たちは同じチヌムで働いおくれる仲間を倧募集しおいたすたくさんのご応募をお埅ちしおいたす。 セキュリティ゚ンゞニア(セキュリティ蚭蚈) 執筆 @kou.kinyo 、レビュヌ 寺山 茝 (@terayama.akira)  Shodo で執筆されたした 
ISID Xクロス むノベヌション 本郚 の䞉浊です。 筆者の関わっおいる案件では、コンテナ利甚、 AWS Fargate利甚を進めおおりたす。 今日は、 AWS Fargateのコストを䞋げるための取り組み䟋に぀いおご玹介したす。 目次 目次 AWS Fargate Spotずは terraformのコヌドでAWS Fargate Spot察応 皌働率の䟋 たずめ AWS Fargate Spotずは Fargate Spotは、EC2スポット むンスタンス ず同じように、 AWS 内で未䜿甚の クラりド リ゜ヌスを掻甚するこずでオンデマンド料金ず比べお最倧70%の割匕䟡栌で䞀時的に利甚できる むンスタンス です。 Fargate Spotが空きキャパシティを確保できるかぎり、ナヌザヌは指定したタスクを起動できたす。 AWS にキャパシティが必芁になったずき、Fargate Spotで皌働するタスクは2分前の通知ずずもに䞭断されたす。 そのため、本番で䜿おうずするず様々な怜蚎が必芁ですが、䞭断しおも問題にならないような小芏暡の開発環境、技術怜蚌環境ならデメリットを最小化しお䜿うこずができたす。 AWS Fargate の料金 Amazon ECS 向け Fargate Spot の料金 AWS Fargate の料金 より terraformのコヌドで AWS Fargate Spot察応 terraformでecs serviceを定矩しおいる堎合、resource " aws _ecs_service"に䞋蚘の赀枠のコヌドを远加するだけで、Fargate Spot察応が完了したす。本案件では、耇数コンテナを䜿甚しおおらず1コンテナを立ち䞊げる仕様です。 䞭断が問題にならないフェむズむンフラ担圓者が構築䞭、極䞀郚の開発者のみが䜿甚する段階ではFargate Spotで起動し、本皌働のフェむズではFargateに切り替えるずいったこずをしおいたす。 なお、Fargate Spotの仕様ずしおは、weightにお通垞のFargateずFargate Spotの比率をコン トロヌル できたす。䟋えば、7割をfargateにし3割をspotにするずspotが萜ちるような状況䞋でも圱響を限定できたす。 たた1コンテナしか存圚しないような堎合でも、weightを1:0 ⇒0:1のように切り替えるこずにより、非垞に小さな修正でFargate SpotずFargate を切り替えられたす。 青枠の郚分は キャパシティヌ プロバむダヌの蚭定ずコンフリクトするため、削陀が必芁です 皌働率 の䟋 このようにコストの削枛に効果的で、か぀、察応も簡単なFargate Spotですが、あたり頻繁に立ち䞊がらないず぀らいものがありたす。 ずいうこずで、Fargate Spotが実際に、どのくらいの頻床で皌働し続けるのか、再起動はどれくらい発生するかずいう実䟋をご玹介いたしたす。 䞋蚘は日本リヌゞョンで小さいコンテナを20コンテナ、1週間起動したずきのコストです。 コスト ゚クスプロヌラ ヌでみるず、ほが党おの時間で安定しお起動しおおり、特定の曜日、時間垯に倧芏暡に䞭断し぀づけるずいうこずはありたせんでした アベむラビリティ ヌゟヌン IDはapne1-az4を䜿甚したした。 䞀方、ある皋床の頻床でタスクの終了は発生しおおり、ログを確認したずころ、20コンテナで48hで42回再起動しおいたした。1コンテナ圓たり、1日䞀回皋床の頻床になりたす。なお、再起動は特定の時間垯に明らかに偏っおいるずいうこずはありたせんでした。 ずいうこずで、ある皋床の再起動ずは匕き換えになりたすが、倧幅なコスト削枛が可胜ずなりたす。 たずめ ずいうこずで、本栌的なSpotの利甚ずなるず採甚が難しいずころもあるずは思いたすが、たず、構築時、技術怜蚌時、プラむベヌト環境等からFargate Spotを䜿っおみるずいうのはいかがでしょうか 䜿っおみるず、意倖ず䞭断は気にならずいいかんじでコストが抑制できるかもしれたせん。 私たちは同じチヌムで働いおくれる仲間を探しおいたす。 クラりド アヌキテクトの業務に興味がある方のご応募をお埅ちしおいたす。 クラりドアヌキテクト 執筆 @miura.toshihiko 、レビュヌ @yamashita.tsuyoshi  Shodo で執筆されたした 
ISID Xクロス むノベヌション 本郚 の䞉浊です。 筆者の関わっおいる案件では、コンテナ利甚、 AWS Fargate利甚を進めおおりたす。 今日は、 AWS Fargateのコストを䞋げるための取り組み䟋に぀いおご玹介したす。 目次 目次 AWS Fargate Spotずは terraformのコヌドでAWS Fargate Spot察応 皌働率の䟋 たずめ AWS Fargate Spotずは Fargate Spotは、EC2スポット むンスタンス ず同じように、 AWS 内で未䜿甚の クラりド リ゜ヌスを掻甚するこずでオンデマンド料金ず比べお最倧70%の割匕䟡栌で䞀時的に利甚できる むンスタンス です。 Fargate Spotが空きキャパシティを確保できるかぎり、ナヌザヌは指定したタスクを起動できたす。 AWS にキャパシティが必芁になったずき、Fargate Spotで皌働するタスクは2分前の通知ずずもに䞭断されたす。 そのため、本番で䜿おうずするず様々な怜蚎が必芁ですが、䞭断しおも問題にならないような小芏暡の開発環境、技術怜蚌環境ならデメリットを最小化しお䜿うこずができたす。 AWS Fargate の料金 Amazon ECS 向け Fargate Spot の料金 AWS Fargate の料金 より terraformのコヌドで AWS Fargate Spot察応 terraformでecs serviceを定矩しおいる堎合、resource " aws _ecs_service"に䞋蚘の赀枠のコヌドを远加するだけで、Fargate Spot察応が完了したす。本案件では、耇数コンテナを䜿甚しおおらず1コンテナを立ち䞊げる仕様です。 䞭断が問題にならないフェむズむンフラ担圓者が構築䞭、極䞀郚の開発者のみが䜿甚する段階ではFargate Spotで起動し、本皌働のフェむズではFargateに切り替えるずいったこずをしおいたす。 なお、Fargate Spotの仕様ずしおは、weightにお通垞のFargateずFargate Spotの比率をコン トロヌル できたす。䟋えば、7割をfargateにし3割をspotにするずspotが萜ちるような状況䞋でも圱響を限定できたす。 たた1コンテナしか存圚しないような堎合でも、weightを1:0 ⇒0:1のように切り替えるこずにより、非垞に小さな修正でFargate SpotずFargate を切り替えられたす。 青枠の郚分は キャパシティヌ プロバむダヌの蚭定ずコンフリクトするため、削陀が必芁です 皌働率 の䟋 このようにコストの削枛に効果的で、か぀、察応も簡単なFargate Spotですが、あたり頻繁に立ち䞊がらないず぀らいものがありたす。 ずいうこずで、Fargate Spotが実際に、どのくらいの頻床で皌働し続けるのか、再起動はどれくらい発生するかずいう実䟋をご玹介いたしたす。 䞋蚘は日本リヌゞョンで小さいコンテナを20コンテナ、1週間起動したずきのコストです。 コスト ゚クスプロヌラ ヌでみるず、ほが党おの時間で安定しお起動しおおり、特定の曜日、時間垯に倧芏暡に䞭断し぀づけるずいうこずはありたせんでした アベむラビリティ ヌゟヌン IDはapne1-az4を䜿甚したした。 䞀方、ある皋床の頻床でタスクの終了は発生しおおり、ログを確認したずころ、20コンテナで48hで42回再起動しおいたした。1コンテナ圓たり、1日䞀回皋床の頻床になりたす。なお、再起動は特定の時間垯に明らかに偏っおいるずいうこずはありたせんでした。 ずいうこずで、ある皋床の再起動ずは匕き換えになりたすが、倧幅なコスト削枛が可胜ずなりたす。 たずめ ずいうこずで、本栌的なSpotの利甚ずなるず採甚が難しいずころもあるずは思いたすが、たず、構築時、技術怜蚌時、プラむベヌト環境等からFargate Spotを䜿っおみるずいうのはいかがでしょうか 䜿っおみるず、意倖ず䞭断は気にならずいいかんじでコストが抑制できるかもしれたせん。 私たちは同じチヌムで働いおくれる仲間を探しおいたす。 クラりド アヌキテクトの業務に興味がある方のご応募をお埅ちしおいたす。 クラりドアヌキテクト 執筆 @miura.toshihiko 、レビュヌ @yamashita.tsuyoshi  Shodo で執筆されたした 
こんにちは。Xクロス むノベヌション 本郚 ゜フトりェアデザむンセンタヌ の山䞋です。 入瀟したのが2021幎の10月なのでそろそろ1幎ず半幎くらいが経過したした。 今日は入瀟たでの経緯や、仕事の雰囲気などに぀いおお話出来ればず思いたす。 䌚瀟の雰囲気 自分が受けおいる印象では、ISIDは䌚瀟の雰囲気ずしお意思決定が玠早く意芋が通りやすいずいう印象がありたす。 結果、䌚議の時間がずおも短く倧倉驚いおいたす。 コロナ犍での入瀟だったので、基本的にリモヌトでしか業務に参加しおいないのですが、皆さん意芋をちゃんず蚀っおくれたす。たた自分が提案した意芋に぀いおも真剣に議論しお貰えたす。 やっおいる業務内容 担圓しおいる業務ですが、瀟内の開発に関する改善掻動党般ずいう感じです。 䟋えば、CI/CDの普及掻動であったり、 GitHub のCodespacesなどに぀いおの怜蚌掻動ずいったこずをやっおいたす。 成果の䞀郚はテックブログずしお公開したりしおいたすね。 たた、新しい技術が出おきたらそれをキャッチアップするために詊しおみるずいったこずもやっおいたす。 入瀟の経緯 前職では、家電メヌカヌの研究郚門で゜フトりェア開発の生産性に関する研究、瀟内斜策の実斜などの業務に携わっおいたした。䟋えば、゜フトりェア リポゞトリ のマむニング、CI/CD環境の敎備などです。 前職の業務もやりがいがあるものでした。しかし、䌚瀟芏暡が倧きい䌚瀟ずいうこずもあり段々ずマネゞメントに関する業務が増え、スキルなどもマネゞメント系の胜力を䌞ばしおいくこずが期埅されるようになっおきたした。 もう少し技術に觊れおいる時間を増やせる䌚瀟を探しおいたずころISIDを知人に玹介されお、自分も良さそうず思っお転職を決めたした。 入瀟前に䞍安だったこず、実際 入瀟前に䞍安に感じおいたものは以䞋のような物でした。 技術力の䞍足 業務知識や業界の垞識の䞍足 プラむベヌトの時間の確保 それぞれに぀いお䞍安ず実際どうだったかに぀いお芋おいきたす。 技術力の䞍足 前職では研究職で、ISIDに入瀟するず技術職になりたす。これは䌌おいる面はありたすが違うものであるず自分は思っおいたす。䟋えば、補品開発を最初から最埌たで党郚やり切るずいった経隓は研究職だずなかなか経隓できたせん。 なので、実際の開発で圹に立぀ような知識を自分が持っおいるか䞍安でした。 特に入瀟前から技術をリヌドしおいく立堎ずしお、メンバに技術を教える立堎であるこずを期埅されおいたした。䞊手くやれるのか䞍安を持っおいたした。結論から蚀うず、これは杞憂だったようです。 技術的な偎面に぀いおは、教える堎面では高床な技術の知識が必芁ずいうよりは基本的な知識があれば十分でした。䟋えば蚈算機に関する基本的な知識、 Linux の操䜜に関する䞀通りの知識などです。なので今のずころ自分の技術の胜力が䞍足しおいお困ったずいう堎面には遭遇しおいたせん。 たた、ISIDでは知らない技術がある堎合にはその知識を獲埗するための期間や勉匷する堎が準備される䜓制になっおいたす。知識䞍足で業務に支障が出るずいうこずは発生しなさそうです。 業務知識や業界の垞識の䞍足 前職でSIのような仕事ず党く無関係ずいうこずはなかったのですが、いざ圓事者ずなるず業界の ドメむン 知識が十分であるかずいうずかなり疑問でした。入瀟しお1幎経ちたすが、過去の経隓が生きおいる堎面もありたすが、やはり分からない話もありたす。その堎合、瀟内で質問すれば教えおもらえるので倧倉助かっおいたす。皆さたありがずうございたす。 逆に前職の経隓に匕っ匵られおしたう堎面も倚く、ただただ勉匷するこずは倚いなず感じおいたす。 プラむベヌトの時間の確保 前職では業務時間がやや長くなる傟向にありたした。プラむベヌトの時間に圱響が出るほどではなかったのですが、ISIDに入瀟しおからはプラむベヌトの時間が倧幅に取れるようになりたした。前職ず比范しお䌚議の時間が枛り、効率的な働き方が可胜になったからず自分では分析しおいたす。 たた、前職では8時間ず蚭定されおいた暙準の劎働時間がISIDでは7時間ずなっおおり、玔粋に1時間ほどプラむベヌトの時間を確保しやすくなりたした。 前職ず働き方で倉わった事 業務䞊の目暙は前職で䞀番倉化した点は意思決定が早くなり、䜜業時間の確保が比范的容易になったので 技術的な調査、怜蚌ずいった時間を確保できるようになったのが䞀番の倉化だず考えおいたす。 前職では䌚瀟の芏暡が倧きかったため、利害関係者が倚くなる傟向にありたした。 結果ずしお資料䜜成や䌚議が倚くなり実際の技術に䜿える時間は限られおいたした。 ISIDに入瀟しおからは、利害関係者も少なく意思決定が早いこずから調敎の為の䌚議やそれに向けた資料の䜜成 ずいった時間が枛り、技術的な調査、怜蚌の時間が増えおいたす。 䞀方で、意思決定や利害関係者が少なく、自分の刀断が䌚瀟に圱響を䞎える比率が倧きくなりたした、そのため責任を感じる堎面も増えたなずいう印象がありたす。気を匕き締めお仕事に臚たないずいけない堎面は増えたかもしれたせん。 これは、自分ずしおはやりたいこずをやるたでの手数が枛ったので良かったかなず考えおいたす。意思決定の早さに぀いおは1幎半経った今でも驚かされる事が倚いので、ただただ慣れが必芁だなず考えおいたす。 最埌に 今回は、ISIDに入瀟しお1幎半経った自分の入瀟前の䞍安や働き方の倉化に぀いお簡単にですが振り返っおみたした。 もし、ISIDにご興味がある方は是非応募しおみおください。 私たちは同じチヌムで働いおくれる仲間を探しおいたす。今回の゚ントリで玹介したような仕事に興味のある方、ご応募お埅ちしおいたす。 ゜リュヌションアヌキテクト 執筆 @yamashita.tsuyoshi 、レビュヌ @handa.kenta  Shodo で執筆されたした 
こんにちは。Xクロス むノベヌション 本郚 ゜フトりェアデザむンセンタヌ の山䞋です。 入瀟したのが2021幎の10月なのでそろそろ1幎ず半幎くらいが経過したした。 今日は入瀟たでの経緯や、仕事の雰囲気などに぀いおお話出来ればず思いたす。 䌚瀟の雰囲気 自分が受けおいる印象では、ISIDは䌚瀟の雰囲気ずしお意思決定が玠早く意芋が通りやすいずいう印象がありたす。 結果、䌚議の時間がずおも短く倧倉驚いおいたす。 コロナ犍での入瀟だったので、基本的にリモヌトでしか業務に参加しおいないのですが、皆さん意芋をちゃんず蚀っおくれたす。たた自分が提案した意芋に぀いおも真剣に議論しお貰えたす。 やっおいる業務内容 担圓しおいる業務ですが、瀟内の開発に関する改善掻動党般ずいう感じです。 䟋えば、CI/CDの普及掻動であったり、 GitHub のCodespacesなどに぀いおの怜蚌掻動ずいったこずをやっおいたす。 成果の䞀郚はテックブログずしお公開したりしおいたすね。 たた、新しい技術が出おきたらそれをキャッチアップするために詊しおみるずいったこずもやっおいたす。 入瀟の経緯 前職では、家電メヌカヌの研究郚門で゜フトりェア開発の生産性に関する研究、瀟内斜策の実斜などの業務に携わっおいたした。䟋えば、゜フトりェア リポゞトリ のマむニング、CI/CD環境の敎備などです。 前職の業務もやりがいがあるものでした。しかし、䌚瀟芏暡が倧きい䌚瀟ずいうこずもあり段々ずマネゞメントに関する業務が増え、スキルなどもマネゞメント系の胜力を䌞ばしおいくこずが期埅されるようになっおきたした。 もう少し技術に觊れおいる時間を増やせる䌚瀟を探しおいたずころISIDを知人に玹介されお、自分も良さそうず思っお転職を決めたした。 入瀟前に䞍安だったこず、実際 入瀟前に䞍安に感じおいたものは以䞋のような物でした。 技術力の䞍足 業務知識や業界の垞識の䞍足 プラむベヌトの時間の確保 それぞれに぀いお䞍安ず実際どうだったかに぀いお芋おいきたす。 技術力の䞍足 前職では研究職で、ISIDに入瀟するず技術職になりたす。これは䌌おいる面はありたすが違うものであるず自分は思っおいたす。䟋えば、補品開発を最初から最埌たで党郚やり切るずいった経隓は研究職だずなかなか経隓できたせん。 なので、実際の開発で圹に立぀ような知識を自分が持っおいるか䞍安でした。 特に入瀟前から技術をリヌドしおいく立堎ずしお、メンバに技術を教える立堎であるこずを期埅されおいたした。䞊手くやれるのか䞍安を持っおいたした。結論から蚀うず、これは杞憂だったようです。 技術的な偎面に぀いおは、教える堎面では高床な技術の知識が必芁ずいうよりは基本的な知識があれば十分でした。䟋えば蚈算機に関する基本的な知識、 Linux の操䜜に関する䞀通りの知識などです。なので今のずころ自分の技術の胜力が䞍足しおいお困ったずいう堎面には遭遇しおいたせん。 たた、ISIDでは知らない技術がある堎合にはその知識を獲埗するための期間や勉匷する堎が準備される䜓制になっおいたす。知識䞍足で業務に支障が出るずいうこずは発生しなさそうです。 業務知識や業界の垞識の䞍足 前職でSIのような仕事ず党く無関係ずいうこずはなかったのですが、いざ圓事者ずなるず業界の ドメむン 知識が十分であるかずいうずかなり疑問でした。入瀟しお1幎経ちたすが、過去の経隓が生きおいる堎面もありたすが、やはり分からない話もありたす。その堎合、瀟内で質問すれば教えおもらえるので倧倉助かっおいたす。皆さたありがずうございたす。 逆に前職の経隓に匕っ匵られおしたう堎面も倚く、ただただ勉匷するこずは倚いなず感じおいたす。 プラむベヌトの時間の確保 前職では業務時間がやや長くなる傟向にありたした。プラむベヌトの時間に圱響が出るほどではなかったのですが、ISIDに入瀟しおからはプラむベヌトの時間が倧幅に取れるようになりたした。前職ず比范しお䌚議の時間が枛り、効率的な働き方が可胜になったからず自分では分析しおいたす。 たた、前職では8時間ず蚭定されおいた暙準の劎働時間がISIDでは7時間ずなっおおり、玔粋に1時間ほどプラむベヌトの時間を確保しやすくなりたした。 前職ず働き方で倉わった事 業務䞊の目暙は前職で䞀番倉化した点は意思決定が早くなり、䜜業時間の確保が比范的容易になったので 技術的な調査、怜蚌ずいった時間を確保できるようになったのが䞀番の倉化だず考えおいたす。 前職では䌚瀟の芏暡が倧きかったため、利害関係者が倚くなる傟向にありたした。 結果ずしお資料䜜成や䌚議が倚くなり実際の技術に䜿える時間は限られおいたした。 ISIDに入瀟しおからは、利害関係者も少なく意思決定が早いこずから調敎の為の䌚議やそれに向けた資料の䜜成 ずいった時間が枛り、技術的な調査、怜蚌の時間が増えおいたす。 䞀方で、意思決定や利害関係者が少なく、自分の刀断が䌚瀟に圱響を䞎える比率が倧きくなりたした、そのため責任を感じる堎面も増えたなずいう印象がありたす。気を匕き締めお仕事に臚たないずいけない堎面は増えたかもしれたせん。 これは、自分ずしおはやりたいこずをやるたでの手数が枛ったので良かったかなず考えおいたす。意思決定の早さに぀いおは1幎半経った今でも驚かされる事が倚いので、ただただ慣れが必芁だなず考えおいたす。 最埌に 今回は、ISIDに入瀟しお1幎半経った自分の入瀟前の䞍安や働き方の倉化に぀いお簡単にですが振り返っおみたした。 もし、ISIDにご興味がある方は是非応募しおみおください。 私たちは同じチヌムで働いおくれる仲間を探しおいたす。今回の゚ントリで玹介したような仕事に興味のある方、ご応募お埅ちしおいたす。 ゜リュヌションアヌキテクト 執筆 @yamashita.tsuyoshi 、レビュヌ @handa.kenta  Shodo で執筆されたした 
はじめに ISID Xクロス むノベヌション 本郚 の䞉浊です。 暩限の問題でシステム郚門での䜜業が必芁だったのですが、ようやくシステム郚門での䜜業が完了し、匊瀟でも AWS Chatbotが Microsoft Teamsでも䜿えるようになりたした。 ずいうこずで今さら感もありたすが、システム郚門の䜜業前の状態、䜜業埌の䞀般ナヌザヌによる蚭定䟋、利甚方法に぀いお蚘述しようず思いたす。 目次 はじめに 目次 AWS Chatbot の抂芁 システム郚門の䜜業前の状態 䜜業埌の䞀般ナヌザヌによる蚭定䟋 利甚䟋 ゚むリアスの利甚 たずめ AWS Chatbot の抂芁 簡易な䜜業でTeams等から AWS の操䜜を可胜にする機胜です。同様のこずは、 AWS Lambda、webhookを利甚すれば実装可胜でしたが、 AWS Chatbotによっお非垞に簡易にできるようになりたした。 筆者の堎合、開発環境、デモ環境の立ち䞊げを簡易にやりたいずいうニヌズがありたした。 ゚ンゞニアが察象の堎合は、自身で AWS コン゜ヌルから立ち䞊げるようにする、 スクリプト で起動するずいった手も取れたす。しかし、非゚ンゞニアが倚い堎合、䟝頌を受けお運甚゚ンゞニアが起動する、停止するずいう運甚をしおいる䟋がありたした。 これらの問題を AWS Chatbotを䜿甚しお察応する䟋を瀺したす。 システム郚門の䜜業前の状態 䞋蚘の芁領で、『Teamsクラむアント  アプリ  AWS で怜玢  チヌムに远加』でアプリの登録を詊みたす。 しかしながら、テナントの蚭定状況の問題でアプリが䜿えない状態でした。 䞊蚘の旚をシステム郚門に申請し、アプリの承認および AWS からのアクセス暩付䞎を察応しおいただきたした。 本䜜業は、倚くのテナントでは䞀般ナヌザヌに暩限解攟されおいないず思いたすので、システム郚門に実斜しおいただく必芁がありたす。 䜜業埌の䞀般ナヌザヌによる蚭定䟋 䞊蚘の察応が枈んでいる堎合、䞋蚘画面より先に進めたす。 連携するチャネルを遞択したす。 しかし、privateチャネルは衚瀺されない、5個以䞊のチャネルは衚瀺されないteam名+チャネル名で絞り蟌めたすなどのやや癖のある動きをするようです。 連携が終わるず、䞊蚘のようにメッセヌゞが投皿されたす。 続いお、 AWS アカりント偎で AWS Chatbot の蚭定を行っおいきたす。 たず、チャネル情報を AWS Chatbot で蚭定する必芁がありたす。ですので、 Microsoft Teams のチャネル䞀芧から察象チャネルを右クリックし「チャネルぞのリンクを取埗」メニュヌから URL を取埗したす。 続いお、 AWS コン゜ヌルにログむンし、 AWS Chatbot コン゜ヌルを開きたす。 チャットクラむアント蚭定画面で Microsoft Teams が遞択できるようになっおいるので、遞択したす。 先ほど取埗した察象チャネルの URL を蚭定したす。 組織ずしお認蚌枈みのため、特に認蚌画面が出るこずなく完了したす。 続いお、チャネル登録をしたす。 チャネル名の衚蚘がURL ゚ンコヌド で衚瀺されおいお芋た目が悪いですが、問題なく動䜜したす。 次にこのチャットボットで䜕ができるか暩限を指定したす。 䞋蚘のように、いく぀かロヌルのテンプレヌトがあるのですが、それらでは限られた暩限しかありたせん。 そのため、䞋蚘の蚭定より新芏にロヌルを䜜成したす。 『信頌された゚ンティティ』に AWS Chatbotを遞び 今回はec2の起動、停止をしたいため、䞀旊雑にEc2FullAccessを指定したす。実際に利甚されるずきは、そのチャネルの利甚者のロヌルに応じお暩限を蚭定するのがよいでしょう。 このようにしお䜜成したIAMロヌルには、chatbotに察する信頌関係が蚭定されおいたす。 本ロヌルを元の画面で蚭定し、チャネルガヌドレヌルポリシヌにも同等の暩限であるEc2FullAccessを指定したす。 これで、chatbotの蚭定が完了したした。 利甚䟋 それでは、chatbotを利甚しおみたしょう。 chatbotの構文は、ほが、 aws cli ず同じです。 ずいうこずで、 むンスタンス の起動を詊みたす。 初回利甚のため、リヌゞョンを蚭定しろず蚀われおしたいたした。 ずいうこずでchatbot䞊でリヌゞョンを蚭定したす。 再床コマンドを実行するず、本圓にこのコマンドを流しおいいかず聞かれるため実行したす。 コマンドが実行されたした。 AWS コンロヌルで確認したずころ、 むンスタンス が起動しおいるこずを確認できたした。 同様の手順で むンスタンス の停止も可胜です。 ゚むリアス の利甚 が、 AWS CLI に盞圓するものをTeam䞊で叩けずいうのは敷居が高いため、 ゚むリアス を蚭定したす。 䞋蚘のような芁領で ゚むリアス の䜜成が可胜です。 開始、停止甚の ゚むリアス を䜜成したので、さっそく詊したす。 ゚むリアス を䜿甚しお環境1を立ち䞊げろず呜じたずころ、実際に実行するコマンドが展開されお衚瀺されたした。 䟿利ですね。 で、実行するず、䞋蚘のようにコマンドが実行されたす。 なお、日本語での ゚むリアス は蚭定できたせんでした。 たずめ このようにしお、簡易にTeamsから AWS の むンスタンス の開始、停止ができるようになりたした。非゚ンゞニアにずっお非垞に良い機胜なのではないかず思っおいたす。 執筆 @miura.toshihiko 、レビュヌ @wakamoto.ryosuke  Shodo で執筆されたした 
はじめに ISID Xクロス むノベヌション 本郚 の䞉浊です。 暩限の問題でシステム郚門での䜜業が必芁だったのですが、ようやくシステム郚門での䜜業が完了し、匊瀟でも AWS Chatbotが Microsoft Teamsでも䜿えるようになりたした。 ずいうこずで今さら感もありたすが、システム郚門の䜜業前の状態、䜜業埌の䞀般ナヌザヌによる蚭定䟋、利甚方法に぀いお蚘述しようず思いたす。 目次 はじめに 目次 AWS Chatbot の抂芁 システム郚門の䜜業前の状態 䜜業埌の䞀般ナヌザヌによる蚭定䟋 利甚䟋 ゚むリアスの利甚 たずめ AWS Chatbot の抂芁 簡易な䜜業でTeams等から AWS の操䜜を可胜にする機胜です。同様のこずは、 AWS Lambda、webhookを利甚すれば実装可胜でしたが、 AWS Chatbotによっお非垞に簡易にできるようになりたした。 筆者の堎合、開発環境、デモ環境の立ち䞊げを簡易にやりたいずいうニヌズがありたした。 ゚ンゞニアが察象の堎合は、自身で AWS コン゜ヌルから立ち䞊げるようにする、 スクリプト で起動するずいった手も取れたす。しかし、非゚ンゞニアが倚い堎合、䟝頌を受けお運甚゚ンゞニアが起動する、停止するずいう運甚をしおいる䟋がありたした。 これらの問題を AWS Chatbotを䜿甚しお察応する䟋を瀺したす。 システム郚門の䜜業前の状態 䞋蚘の芁領で、『Teamsクラむアント  アプリ  AWS で怜玢  チヌムに远加』でアプリの登録を詊みたす。 しかしながら、テナントの蚭定状況の問題でアプリが䜿えない状態でした。 䞊蚘の旚をシステム郚門に申請し、アプリの承認および AWS からのアクセス暩付䞎を察応しおいただきたした。 本䜜業は、倚くのテナントでは䞀般ナヌザヌに暩限解攟されおいないず思いたすので、システム郚門に実斜しおいただく必芁がありたす。 䜜業埌の䞀般ナヌザヌによる蚭定䟋 䞊蚘の察応が枈んでいる堎合、䞋蚘画面より先に進めたす。 連携するチャネルを遞択したす。 しかし、privateチャネルは衚瀺されない、5個以䞊のチャネルは衚瀺されないteam名+チャネル名で絞り蟌めたすなどのやや癖のある動きをするようです。 連携が終わるず、䞊蚘のようにメッセヌゞが投皿されたす。 続いお、 AWS アカりント偎で AWS Chatbot の蚭定を行っおいきたす。 たず、チャネル情報を AWS Chatbot で蚭定する必芁がありたす。ですので、 Microsoft Teams のチャネル䞀芧から察象チャネルを右クリックし「チャネルぞのリンクを取埗」メニュヌから URL を取埗したす。 続いお、 AWS コン゜ヌルにログむンし、 AWS Chatbot コン゜ヌルを開きたす。 チャットクラむアント蚭定画面で Microsoft Teams が遞択できるようになっおいるので、遞択したす。 先ほど取埗した察象チャネルの URL を蚭定したす。 組織ずしお認蚌枈みのため、特に認蚌画面が出るこずなく完了したす。 続いお、チャネル登録をしたす。 チャネル名の衚蚘がURL ゚ンコヌド で衚瀺されおいお芋た目が悪いですが、問題なく動䜜したす。 次にこのチャットボットで䜕ができるか暩限を指定したす。 䞋蚘のように、いく぀かロヌルのテンプレヌトがあるのですが、それらでは限られた暩限しかありたせん。 そのため、䞋蚘の蚭定より新芏にロヌルを䜜成したす。 『信頌された゚ンティティ』に AWS Chatbotを遞び 今回はec2の起動、停止をしたいため、䞀旊雑にEc2FullAccessを指定したす。実際に利甚されるずきは、そのチャネルの利甚者のロヌルに応じお暩限を蚭定するのがよいでしょう。 このようにしお䜜成したIAMロヌルには、chatbotに察する信頌関係が蚭定されおいたす。 本ロヌルを元の画面で蚭定し、チャネルガヌドレヌルポリシヌにも同等の暩限であるEc2FullAccessを指定したす。 これで、chatbotの蚭定が完了したした。 利甚䟋 それでは、chatbotを利甚しおみたしょう。 chatbotの構文は、ほが、 aws cli ず同じです。 ずいうこずで、 むンスタンス の起動を詊みたす。 初回利甚のため、リヌゞョンを蚭定しろず蚀われおしたいたした。 ずいうこずでchatbot䞊でリヌゞョンを蚭定したす。 再床コマンドを実行するず、本圓にこのコマンドを流しおいいかず聞かれるため実行したす。 コマンドが実行されたした。 AWS コンロヌルで確認したずころ、 むンスタンス が起動しおいるこずを確認できたした。 同様の手順で むンスタンス の停止も可胜です。 ゚むリアス の利甚 が、 AWS CLI に盞圓するものをTeam䞊で叩けずいうのは敷居が高いため、 ゚むリアス を蚭定したす。 䞋蚘のような芁領で ゚むリアス の䜜成が可胜です。 開始、停止甚の ゚むリアス を䜜成したので、さっそく詊したす。 ゚むリアス を䜿甚しお環境1を立ち䞊げろず呜じたずころ、実際に実行するコマンドが展開されお衚瀺されたした。 䟿利ですね。 で、実行するず、䞋蚘のようにコマンドが実行されたす。 なお、日本語での ゚むリアス は蚭定できたせんでした。 たずめ このようにしお、簡易にTeamsから AWS の むンスタンス の開始、停止ができるようになりたした。非゚ンゞニアにずっお非垞に良い機胜なのではないかず思っおいたす。 執筆 @miura.toshihiko 、レビュヌ @wakamoto.ryosuke  Shodo で執筆されたした 
こんにちは、ISID 金融゜リュヌション事業郚の岡厎です。 今回はUE5で コリゞョン 衝突刀定機胜を䜿っお、自動で開閉するドアや、 NPC ずの簡単な䌚話システムを䜜成しおみたす。 はじめに UE5ではフィヌルド䞊のさたざたなオブゞェクトや、プレむダヌが操䜜するキャ ラク タヌに コリゞョン 刀定機胜を持たせるこずができたす。 これにより、物䜓にキャ ラク タヌが圓たった時や、前もっお蚭定しおおいた領域に他のオブゞェクトが䟵入した時などに、 任意の機胜を䜜成できたす。 今回はこの コリゞョン 刀定機胜を利甚しお䞋蚘2぀の機胜を実装したす。 キャ ラク タヌが近づくず開き、遠ざかるず閉じる自動ドアの機胜 察象キャ ラク タヌ NPC にプレむダヌが近づき、任意のキヌボヌドを抌すず䌚話が行われる機胜 怜蚌環境/ツヌル Unreal Engine5.2.0 AWS EC2 Windows _Server-2022-English-Full-Base-2023.01.19 実装手順 【自動ドア線】タむムラむンを利甚したドアのアニメヌションの䜜成 【自動ドア線】 コリゞョン を利甚した自動開閉システムの䜜成 【 NPC 䌚話線】䌚話UI甚の りィゞェット の䜜成 【 NPC 䌚話線】 コリゞョン を利甚した䌚話UI甚の りィゞェット の衚瀺 【 NPC 䌚話線】 NPC 毎のメッセヌゞ内容切り替え 1. 【自動ドア線】タむムラむンを利甚したドアのアニメヌションの䜜成 今回はThirdPersonテンプレヌトを利甚したプロゞェクトで進めおいきたす。 たず初めにドアに䜿甚するアクタヌのBluePrintを䜜成したす。 コンテンツドロワヌより、BlueprintClassを遞び、Actorを遞択したす。今回は「BP_Door」ずいう名前にしたす。 「BP_Door」の線集画面に入りたす。 コンポヌネント 远加ボタンより、「Static Mesh」を远加し、「Door」ず 呜名 したす。 右偎の詳现パネルより、Static Meshのセレクトボックスでスタヌタヌコンテンツの「SM_Door」を遞びたす。 次にドアの圓たり刀定甚に コンポヌネント 远加ボタンより、「Box Collision」を远加し、ドアの倧きさに合わせお倉曎したす。 たたキャ ラク タヌがドアをすり抜けおしたわないよう、今䜜った「Box Collision」のあたり刀定を蚭定する コリゞョン プリセットの倀を「BlockAllDynamic」に倉曎したす。 続いお、䜜成したドアにアニメヌションを぀けおいきたす。 本ステップでは、ドアにアニメヌションを぀けるこずが目的なので、わかりやすくするため、 ゲヌム開始時に、ドアが開く仕組みを䜜成したす。 「BP_Door」のむベントグラフを開きたす。 「むベント BeginPlay」の埌に、ドアに動きを぀けるためにタむムラむンを䜿甚したす。 以前のこちらの蚘事UE5 x ZBrushでタむムラむンを掻甚したアニメヌションを䜜成する で、タむムラむンに぀いお詳しく説明しおいるので、今回は割愛したす。 「DoorOpenRate」ずいう名前でタむムラむンを䜜成し、さらに「Rate」ずいうトラックを䜜成し、䞋蚘倀を远加したした。 秒数0:倀0 秒数0.5:倀1 むベントグラフに戻るず、返华倀ずしお「Rate」を持぀タむムラむンができおいるので、「むベント BeginPlay」のピンず぀なぎたす。 次に「Make Rotator」ノヌドを䜜成しZ軞の倀を「90」に蚭定したす。これはドアが90床開くための倀になりたす。 「乗算」ノヌドを远加し、䞋の写真のように䜜成したタむムラむンず぀なぎたす。 最埌に「Set Relative Rotation(Door)」を遞択し、「New Rotation」にタむムラむンから乗算した倀を぀なぎたす。 コンパむル し、Map䞊に「BP_Door」を配眮を行い、ゲヌムを開始するこずでドアが開くアニメヌションを確認できたす。 2. 【自動ドア線】 コリゞョン を利甚した自動開閉システムの䜜成 ここでは、 コリゞョン を利甚しお、キャ ラク タヌが近づくず自動で開き、離れるず自動で閉じるドアにしたす。 ちなみに先ほどドアに「Box Collision」を䜿いたしたが、これはキャ ラク タヌがドアを通り抜けられなくするための コリゞョン のため、 これから䜜る自動ドアの範囲を瀺す コリゞョン ずは別のものになりたす。 「BP_Door」を開き、「 Sphere Collision」を远加したす。 次に、「 Sphere Collision」をドアの䞭心ぞ移動し拡倧を行い、キャ ラク タヌが入るず自動でドアが開く領域を蚭定したす。 詳现パネルのむベント欄から「On Component Begin Overlap」ず「On Component End Overlap」の右のプラスボタンを抌したす。 むベントグラフに䞋のようなノヌドができおいるこずを確認したす。 䜜成された「On Component Begin Overlap」を「むベント BeginPlay」ず入れ替えるこずで、キャ ラク タヌが コリゞョン で蚭定した領域に入るこずでドアが開く挙動になりたす。 たた、「On Component End Overlap」をタむムラむンの「Reverse」ピンに接続するこずで、タむムラむンで蚭定した倀ず逆の挙動が行われるので、キャ ラク タヌが領域からでた際にドアが閉たりたす。 以䞊がキャ ラク タヌが近づくず開き、遠ざかるず閉じる自動のドアの機胜の玹介になりたす。 3. 【 NPC 䌚話線】䌚話UI甚の りィゞェット の䜜成 続いお、察象キャ ラク タヌ NPC にプレむダヌが近づき、任意のキヌボヌドを抌すず䌚話が行われる機胜の䜜成手順を玹介したす。 たずは䌚話UIに䜿甚する りィゞェット を䜜成するために、「 Widget Blueprint」を「WBP_ Talk 」ずいう名前で䜜成したす。 りィゞェット の䜜成方法は 以前のこちらの蚘事UE5 PixelStreamingで、マりスカヌ゜ルを別の画像に倉曎しおクリックむベントを䜜成する で玹介しおおりたす。 たずはパレット内の䞀般から「Border」を「WBP_ Talk 」内に ドラッグ&ドロップ し、「 Canvas Panel」でラップしたす。 詳现パネルからアンカヌを遞び、䞋に䌞びおいるものを遞びたす。 「Brush」内の「Tint」の郚分にカラヌピッカヌがあるので「Aアルファ」の倀を「0.5」たで䞋げお、先ほど䜜成した「Border」を半透明にしたす。サむズを䞋の写真のように倧きくしお簡易的な䌚話テキストを眮く郚分のUIずしたす。 次にパレット内から「Text」を遞び、今䜜成した「Border」内に ドラッグ&ドロップ したす。 詳现タブの「Padding」から䞊䞋巊右䞭倮そろえにしたす。たた、「Font」から文字サむズも「36」に倉曎したす。 これで䌚話UI甚の りィゞェット が出来たした。 実際に画面に衚瀺させおみたす。 スタヌタヌコンテンツで初期から入っおいるキャ ラク タヌを䜿甚したす。 ファむルは、コンテンツThirdPersonBlueprintsBP_ThirdPersonCharacter にありたす。 たずはこのBlueprintから りィゞェット にアクセスできるように蚭定したす。 「 りィゞェット を䜜成」ノヌドを远加し、Class属性にWBP_ Talk を蚭定したす。たた「Owning Player」には「Get Player Controller」を぀なぎたす。 次に りィゞェット を䜜成ノヌドを「むベント BeginPlay」のピンず぀なげたす。 「WBP_ Talk りィゞェット を䜜成」のノヌドの「Return Value 」を倉数ずしおセットし、「UI_ Talk 」ず 呜名 したす。 次に 「Q」 を抌した時に りィゞェット を画面に衚瀺させるようにしたす。 「Add to Viewport(UI_ Talk )」を遞び、 「Q」 のノヌドず぀なぎたす。 これで実際に画面に䌚話甚のUIを衚瀺するこずが出来たした。 ここたでで、䌚話甚のUIに必芁な りィゞェット の準備が敎いたした。 続いお コリゞョン を利甚しお、プレむダヌが操䜜しおいるキャ ラク タヌの前に、他のキャ ラク タヌがいる時のみ 「Q」 を抌すこずで、䌚話甚のUIを出す機胜を䜜成したす。 4. 【 NPC 䌚話線】 コリゞョン を利甚した䌚話UI甚の りィゞェット の衚瀺 たずは「BP_ThirdPersonCharacter」のキャ ラク タヌに、先ほどドアを䜜成した時ず同じように「 Sphere Collision」を䜜成したす。 キャ ラク タヌの前方に䞋の写真のように「 Sphere Collision」を配眮したす。 むベントグラフに戻り、「Get Overlapping Actors( Sphere )」を䜜成したす。これは先ほど䜜成した「 Sphere Collision」に 接觊 しおいるアクタヌの䞀芧を配列で返しおくれるノヌドになりたす。 先ほど䜜成した 「Q」 を抌した埌の「ブランチIF文」でfalseだった時に「For Each Loop With Break」ノヌドで「 Sphere Collision」に 接觊 しおいるアクタヌの配列を展開したす。 本ステップではただアクタヌごずに䌚話の文章の内容を分けず、 コリゞョン 内にアクタヌがある堎合のみ䌚話甚のUIを出すだけの凊理なので䞋の写真のように「Add to Viewport」に぀なぎ、配列がなくなるたでルヌプさせたす。 これで、 コリゞョン 内にアクタヌが1぀でもあれば、 「Q」 を抌すこずで䌚話甚のUIを衚瀺できたす。 たた、このたただず䌚話甚UIが出たたたになっおしたうので、消去する凊理も䜜成したす。 「IsTalk」ずいうBooleanの倉数を䜜成し、䌚話䞭ではない時のみ画面に䌚話甚UIが出るように蚭定したす。 たた䌚話䞭の堎合は、画面から䌚話甚UIを消すために「Remove From Parent」ノヌドを远加し、画面から䌚話甚UIを消去し、「IsTalk」のフラグをfalseに倉曎したす。 実際に詊しおみるために、マップにいく぀かアクタヌを蚭眮させたす。 どんなアクタヌでも良いですが、今回は NPC 颚の人型アクタヌを䜜成しお蚭眮したす。 Blueprint䜜成画面からCharacterを遞択しお「BP_ NPC 」を䜜成したす。 コンポヌネント 䞀芧よりより、「Mesh」を遞択し、詳现パネルよりメッシュを遞びたす。今回は「SK_Mannequin」を遞択したす。 マテリアルも任意のものを遞び、マップに配眮したす。 ここたでの実装で、プレむダヌが操䜜するキャ ラク タヌの前にアクタヌがある時のみ、 「Q」 を抌すこずで、䌚話甚のUIが出おくる凊理が完成したした。 続いお、マップに配眮した NPC ごずに䌚話の内容を倉曎させる機胜を䜜成し説明したす。 5. 【 NPC 䌚話線】 NPC 毎のメッセヌゞ内容切り替え たずはアクタヌ間を超えお共通の䌚話甚の関数を䜿甚できるようにブルヌプリントむンタヌフェヌスを䜜成したす。 コンテンツドロワヌからブルヌプリントむンタヌフェヌスを䜜成し、「BPI_ Talk 」ず 呜名 したす。 線集画面で「CanTalk」ずいうBooleanを返す関数ず、「GetTalkMessage」ずいうTextを返す関数を䜜成したす。 「BP_ NPC 」で2぀の関数を䜿甚するために、「BP_ NPC 」を開き画面䞊郚のクラス蚭定を抌し、右偎の実装むンタヌフェヌスのセレクトボックスより「BPI_ Talk 」を遞択したす。 巊偎にむンタヌフェヌス欄が远加され、先ほど䜜成した2぀の関数があるこずを確認したす。 巊偎のむンタヌフェヌス欄から「CanTalk」をダブルクリックで開き、Booleanの返り倀をtrueに蚭定したす。 同様に「GetTalkMessage」を開き、リタヌンノヌドのTextの返り倀を倉数ずしおセットし、「TalkMessage」ず 呜名 したす。 さらに、倉数欄の右偎の目のアむコンをクリックしお、UEの党䜓の線集画面から盎接倉数の倀を倉曎できるように蚭定しおおきたす。 最埌のステップずしお「BP_ThirdPersonCharacter」を開き、前にいるアクタヌBP_ NPC が「CanTalk」でtrueを返しおいるかをチェックし、trueだった堎合に「TalkMessage」でセットした文字列を䌚話甚UIに埋め蟌んで衚瀺させる凊理を䜜成したす。 先ほど配列で取埗した コリゞョン 内のアクタヌをForEachで回しおいる郚分で、「CanTalk」がtrueかどうか確認するためにノヌドを远加したす。 trueだった堎合に、さらにそのアクタヌが蚭定しおある䌚話の内容を「GetTalkMessage」から取埗したす。 BP_ NPC は党お「CanTalk」をtrueで返す蚭定をしおいたす。 「GetTalkMessage」のタヌゲットはアクタヌの配列が入っおいる「Array Element」です。 次に取埗しおきた䌚話の内容を「WBP_ Talk 」の䞭に埋め蟌みたす。 「WBP_ Talk 」を開き、階局から「Text」を遞択したす。次に右䞊の「is Variable」にチェックを入れ、「 Widget _TalkMessage」ず 呜名 したす。 「WBP_ Talk 」をグラフ衚瀺に倉曎しお、関数を䜜成したす。今回は「 Widget _SetTextMessage」ず 呜名 したす。 むンプットにTextを蚭定したす。 「SetText(Text)」ノヌドを぀なぎ、タヌゲットに「 Widget _TalkMessage」を蚭定し、タヌゲットに「UI_ Talk 」を぀なぎたす。 「BP_ThirdPersonCharacter」に戻り、「 Widget _SetTextMessage」ノヌドを䜜成し、「GetTalkMessage」ず぀なぎたす。 最埌に「Add to Viewport」ず繋ぐこずでBlueprint偎での凊理は完了です。 党䜓の凊理は䞋蚘のような流れになっおいたす。 UEの線集画面からアクタヌを遞択し、詳现タブの「 Talk Massage」欄に任意の文蚀を远加するこずで、アクタヌごずに䌚話する内容を蚭定できたす。 実際に䌚話を行っおみたす。 以䞊が コリゞョン 機胜を䜿っお、自動で開閉するドアや、 NPC ずの簡単な䌚話システムの䜜成方法の玹介です。 所感 コリゞョン を利甚するこずで、オブゞェクトを動かしたり、重なったアクタヌの情報を取埗したりず、さたざたな䜿い方ができるこずがわかりたした。 たた、基本的な䌚話の䜜り方もわかったので、より耇雑な䌚話方法や、 りィゞェット の䜜成方法なども孊習しおいきたす。 特に りィゞェット でできるこずはただただありそうなので、もう少し深がっお調査しおいきたいず思いたす。 珟圚ISIDは web3領域のグルヌプ暪断組織 を立ち䞊げ、Web3および メタバヌス 領域のR&Dを行っおおりたすカテゎリヌ「3DCG」の蚘事は こちら 。 もし本領域にご興味のある方や、䞀緒にチャレンゞしおいきたい方は、ぜひお気軜にご連絡ください 私たちず同じチヌムで働いおくれる仲間を、是非お埅ちしおおりたす ISID採甚ペヌゞWeb3/メタバヌス/AI 参考 https://note.com/ak_schweitzer/n/n2a7b116c8ee8 https://qiita.com/4_mio_11/items/fed86efca7407a7975fb https://www.youtube.com/watch?v=b8AwUvTaCs0& 執筆 @okazaki.wataru 、レビュヌ @wakamoto.ryosuke  Shodo で執筆されたした 
こんにちは、ISID 金融゜リュヌション事業郚の岡厎です。 今回はUE5で コリゞョン 衝突刀定機胜を䜿っお、自動で開閉するドアや、 NPC ずの簡単な䌚話システムを䜜成しおみたす。 はじめに UE5ではフィヌルド䞊のさたざたなオブゞェクトや、プレむダヌが操䜜するキャ ラク タヌに コリゞョン 刀定機胜を持たせるこずができたす。 これにより、物䜓にキャ ラク タヌが圓たった時や、前もっお蚭定しおおいた領域に他のオブゞェクトが䟵入した時などに、 任意の機胜を䜜成できたす。 今回はこの コリゞョン 刀定機胜を利甚しお䞋蚘2぀の機胜を実装したす。 キャ ラク タヌが近づくず開き、遠ざかるず閉じる自動ドアの機胜 察象キャ ラク タヌ NPC にプレむダヌが近づき、任意のキヌボヌドを抌すず䌚話が行われる機胜 怜蚌環境/ツヌル Unreal Engine5.2.0 AWS EC2 Windows _Server-2022-English-Full-Base-2023.01.19 実装手順 【自動ドア線】タむムラむンを利甚したドアのアニメヌションの䜜成 【自動ドア線】 コリゞョン を利甚した自動開閉システムの䜜成 【 NPC 䌚話線】䌚話UI甚の りィゞェット の䜜成 【 NPC 䌚話線】 コリゞョン を利甚した䌚話UI甚の りィゞェット の衚瀺 【 NPC 䌚話線】 NPC 毎のメッセヌゞ内容切り替え 1. 【自動ドア線】タむムラむンを利甚したドアのアニメヌションの䜜成 今回はThirdPersonテンプレヌトを利甚したプロゞェクトで進めおいきたす。 たず初めにドアに䜿甚するアクタヌのBluePrintを䜜成したす。 コンテンツドロワヌより、BlueprintClassを遞び、Actorを遞択したす。今回は「BP_Door」ずいう名前にしたす。 「BP_Door」の線集画面に入りたす。 コンポヌネント 远加ボタンより、「Static Mesh」を远加し、「Door」ず 呜名 したす。 右偎の詳现パネルより、Static Meshのセレクトボックスでスタヌタヌコンテンツの「SM_Door」を遞びたす。 次にドアの圓たり刀定甚に コンポヌネント 远加ボタンより、「Box Collision」を远加し、ドアの倧きさに合わせお倉曎したす。 たたキャ ラク タヌがドアをすり抜けおしたわないよう、今䜜った「Box Collision」のあたり刀定を蚭定する コリゞョン プリセットの倀を「BlockAllDynamic」に倉曎したす。 続いお、䜜成したドアにアニメヌションを぀けおいきたす。 本ステップでは、ドアにアニメヌションを぀けるこずが目的なので、わかりやすくするため、 ゲヌム開始時に、ドアが開く仕組みを䜜成したす。 「BP_Door」のむベントグラフを開きたす。 「むベント BeginPlay」の埌に、ドアに動きを぀けるためにタむムラむンを䜿甚したす。 以前のこちらの蚘事UE5 x ZBrushでタむムラむンを掻甚したアニメヌションを䜜成する で、タむムラむンに぀いお詳しく説明しおいるので、今回は割愛したす。 「DoorOpenRate」ずいう名前でタむムラむンを䜜成し、さらに「Rate」ずいうトラックを䜜成し、䞋蚘倀を远加したした。 秒数0:倀0 秒数0.5:倀1 むベントグラフに戻るず、返华倀ずしお「Rate」を持぀タむムラむンができおいるので、「むベント BeginPlay」のピンず぀なぎたす。 次に「Make Rotator」ノヌドを䜜成しZ軞の倀を「90」に蚭定したす。これはドアが90床開くための倀になりたす。 「乗算」ノヌドを远加し、䞋の写真のように䜜成したタむムラむンず぀なぎたす。 最埌に「Set Relative Rotation(Door)」を遞択し、「New Rotation」にタむムラむンから乗算した倀を぀なぎたす。 コンパむル し、Map䞊に「BP_Door」を配眮を行い、ゲヌムを開始するこずでドアが開くアニメヌションを確認できたす。 2. 【自動ドア線】 コリゞョン を利甚した自動開閉システムの䜜成 ここでは、 コリゞョン を利甚しお、キャ ラク タヌが近づくず自動で開き、離れるず自動で閉じるドアにしたす。 ちなみに先ほどドアに「Box Collision」を䜿いたしたが、これはキャ ラク タヌがドアを通り抜けられなくするための コリゞョン のため、 これから䜜る自動ドアの範囲を瀺す コリゞョン ずは別のものになりたす。 「BP_Door」を開き、「 Sphere Collision」を远加したす。 次に、「 Sphere Collision」をドアの䞭心ぞ移動し拡倧を行い、キャ ラク タヌが入るず自動でドアが開く領域を蚭定したす。 詳现パネルのむベント欄から「On Component Begin Overlap」ず「On Component End Overlap」の右のプラスボタンを抌したす。 むベントグラフに䞋のようなノヌドができおいるこずを確認したす。 䜜成された「On Component Begin Overlap」を「むベント BeginPlay」ず入れ替えるこずで、キャ ラク タヌが コリゞョン で蚭定した領域に入るこずでドアが開く挙動になりたす。 たた、「On Component End Overlap」をタむムラむンの「Reverse」ピンに接続するこずで、タむムラむンで蚭定した倀ず逆の挙動が行われるので、キャ ラク タヌが領域からでた際にドアが閉たりたす。 以䞊がキャ ラク タヌが近づくず開き、遠ざかるず閉じる自動のドアの機胜の玹介になりたす。 3. 【 NPC 䌚話線】䌚話UI甚の りィゞェット の䜜成 続いお、察象キャ ラク タヌ NPC にプレむダヌが近づき、任意のキヌボヌドを抌すず䌚話が行われる機胜の䜜成手順を玹介したす。 たずは䌚話UIに䜿甚する りィゞェット を䜜成するために、「 Widget Blueprint」を「WBP_ Talk 」ずいう名前で䜜成したす。 りィゞェット の䜜成方法は 以前のこちらの蚘事UE5 PixelStreamingで、マりスカヌ゜ルを別の画像に倉曎しおクリックむベントを䜜成する で玹介しおおりたす。 たずはパレット内の䞀般から「Border」を「WBP_ Talk 」内に ドラッグ&ドロップ し、「 Canvas Panel」でラップしたす。 詳现パネルからアンカヌを遞び、䞋に䌞びおいるものを遞びたす。 「Brush」内の「Tint」の郚分にカラヌピッカヌがあるので「Aアルファ」の倀を「0.5」たで䞋げお、先ほど䜜成した「Border」を半透明にしたす。サむズを䞋の写真のように倧きくしお簡易的な䌚話テキストを眮く郚分のUIずしたす。 次にパレット内から「Text」を遞び、今䜜成した「Border」内に ドラッグ&ドロップ したす。 詳现タブの「Padding」から䞊䞋巊右䞭倮そろえにしたす。たた、「Font」から文字サむズも「36」に倉曎したす。 これで䌚話UI甚の りィゞェット が出来たした。 実際に画面に衚瀺させおみたす。 スタヌタヌコンテンツで初期から入っおいるキャ ラク タヌを䜿甚したす。 ファむルは、コンテンツThirdPersonBlueprintsBP_ThirdPersonCharacter にありたす。 たずはこのBlueprintから りィゞェット にアクセスできるように蚭定したす。 「 りィゞェット を䜜成」ノヌドを远加し、Class属性にWBP_ Talk を蚭定したす。たた「Owning Player」には「Get Player Controller」を぀なぎたす。 次に りィゞェット を䜜成ノヌドを「むベント BeginPlay」のピンず぀なげたす。 「WBP_ Talk りィゞェット を䜜成」のノヌドの「Return Value 」を倉数ずしおセットし、「UI_ Talk 」ず 呜名 したす。 次に 「Q」 を抌した時に りィゞェット を画面に衚瀺させるようにしたす。 「Add to Viewport(UI_ Talk )」を遞び、 「Q」 のノヌドず぀なぎたす。 これで実際に画面に䌚話甚のUIを衚瀺するこずが出来たした。 ここたでで、䌚話甚のUIに必芁な りィゞェット の準備が敎いたした。 続いお コリゞョン を利甚しお、プレむダヌが操䜜しおいるキャ ラク タヌの前に、他のキャ ラク タヌがいる時のみ 「Q」 を抌すこずで、䌚話甚のUIを出す機胜を䜜成したす。 4. 【 NPC 䌚話線】 コリゞョン を利甚した䌚話UI甚の りィゞェット の衚瀺 たずは「BP_ThirdPersonCharacter」のキャ ラク タヌに、先ほどドアを䜜成した時ず同じように「 Sphere Collision」を䜜成したす。 キャ ラク タヌの前方に䞋の写真のように「 Sphere Collision」を配眮したす。 むベントグラフに戻り、「Get Overlapping Actors( Sphere )」を䜜成したす。これは先ほど䜜成した「 Sphere Collision」に 接觊 しおいるアクタヌの䞀芧を配列で返しおくれるノヌドになりたす。 先ほど䜜成した 「Q」 を抌した埌の「ブランチIF文」でfalseだった時に「For Each Loop With Break」ノヌドで「 Sphere Collision」に 接觊 しおいるアクタヌの配列を展開したす。 本ステップではただアクタヌごずに䌚話の文章の内容を分けず、 コリゞョン 内にアクタヌがある堎合のみ䌚話甚のUIを出すだけの凊理なので䞋の写真のように「Add to Viewport」に぀なぎ、配列がなくなるたでルヌプさせたす。 これで、 コリゞョン 内にアクタヌが1぀でもあれば、 「Q」 を抌すこずで䌚話甚のUIを衚瀺できたす。 たた、このたただず䌚話甚UIが出たたたになっおしたうので、消去する凊理も䜜成したす。 「IsTalk」ずいうBooleanの倉数を䜜成し、䌚話䞭ではない時のみ画面に䌚話甚UIが出るように蚭定したす。 たた䌚話䞭の堎合は、画面から䌚話甚UIを消すために「Remove From Parent」ノヌドを远加し、画面から䌚話甚UIを消去し、「IsTalk」のフラグをfalseに倉曎したす。 実際に詊しおみるために、マップにいく぀かアクタヌを蚭眮させたす。 どんなアクタヌでも良いですが、今回は NPC 颚の人型アクタヌを䜜成しお蚭眮したす。 Blueprint䜜成画面からCharacterを遞択しお「BP_ NPC 」を䜜成したす。 コンポヌネント 䞀芧よりより、「Mesh」を遞択し、詳现パネルよりメッシュを遞びたす。今回は「SK_Mannequin」を遞択したす。 マテリアルも任意のものを遞び、マップに配眮したす。 ここたでの実装で、プレむダヌが操䜜するキャ ラク タヌの前にアクタヌがある時のみ、 「Q」 を抌すこずで、䌚話甚のUIが出おくる凊理が完成したした。 続いお、マップに配眮した NPC ごずに䌚話の内容を倉曎させる機胜を䜜成し説明したす。 5. 【 NPC 䌚話線】 NPC 毎のメッセヌゞ内容切り替え たずはアクタヌ間を超えお共通の䌚話甚の関数を䜿甚できるようにブルヌプリントむンタヌフェヌスを䜜成したす。 コンテンツドロワヌからブルヌプリントむンタヌフェヌスを䜜成し、「BPI_ Talk 」ず 呜名 したす。 線集画面で「CanTalk」ずいうBooleanを返す関数ず、「GetTalkMessage」ずいうTextを返す関数を䜜成したす。 「BP_ NPC 」で2぀の関数を䜿甚するために、「BP_ NPC 」を開き画面䞊郚のクラス蚭定を抌し、右偎の実装むンタヌフェヌスのセレクトボックスより「BPI_ Talk 」を遞択したす。 巊偎にむンタヌフェヌス欄が远加され、先ほど䜜成した2぀の関数があるこずを確認したす。 巊偎のむンタヌフェヌス欄から「CanTalk」をダブルクリックで開き、Booleanの返り倀をtrueに蚭定したす。 同様に「GetTalkMessage」を開き、リタヌンノヌドのTextの返り倀を倉数ずしおセットし、「TalkMessage」ず 呜名 したす。 さらに、倉数欄の右偎の目のアむコンをクリックしお、UEの党䜓の線集画面から盎接倉数の倀を倉曎できるように蚭定しおおきたす。 最埌のステップずしお「BP_ThirdPersonCharacter」を開き、前にいるアクタヌBP_ NPC が「CanTalk」でtrueを返しおいるかをチェックし、trueだった堎合に「TalkMessage」でセットした文字列を䌚話甚UIに埋め蟌んで衚瀺させる凊理を䜜成したす。 先ほど配列で取埗した コリゞョン 内のアクタヌをForEachで回しおいる郚分で、「CanTalk」がtrueかどうか確認するためにノヌドを远加したす。 trueだった堎合に、さらにそのアクタヌが蚭定しおある䌚話の内容を「GetTalkMessage」から取埗したす。 BP_ NPC は党お「CanTalk」をtrueで返す蚭定をしおいたす。 「GetTalkMessage」のタヌゲットはアクタヌの配列が入っおいる「Array Element」です。 次に取埗しおきた䌚話の内容を「WBP_ Talk 」の䞭に埋め蟌みたす。 「WBP_ Talk 」を開き、階局から「Text」を遞択したす。次に右䞊の「is Variable」にチェックを入れ、「 Widget _TalkMessage」ず 呜名 したす。 「WBP_ Talk 」をグラフ衚瀺に倉曎しお、関数を䜜成したす。今回は「 Widget _SetTextMessage」ず 呜名 したす。 むンプットにTextを蚭定したす。 「SetText(Text)」ノヌドを぀なぎ、タヌゲットに「 Widget _TalkMessage」を蚭定し、タヌゲットに「UI_ Talk 」を぀なぎたす。 「BP_ThirdPersonCharacter」に戻り、「 Widget _SetTextMessage」ノヌドを䜜成し、「GetTalkMessage」ず぀なぎたす。 最埌に「Add to Viewport」ず繋ぐこずでBlueprint偎での凊理は完了です。 党䜓の凊理は䞋蚘のような流れになっおいたす。 UEの線集画面からアクタヌを遞択し、詳现タブの「 Talk Massage」欄に任意の文蚀を远加するこずで、アクタヌごずに䌚話する内容を蚭定できたす。 実際に䌚話を行っおみたす。 以䞊が コリゞョン 機胜を䜿っお、自動で開閉するドアや、 NPC ずの簡単な䌚話システムの䜜成方法の玹介です。 所感 コリゞョン を利甚するこずで、オブゞェクトを動かしたり、重なったアクタヌの情報を取埗したりず、さたざたな䜿い方ができるこずがわかりたした。 たた、基本的な䌚話の䜜り方もわかったので、より耇雑な䌚話方法や、 りィゞェット の䜜成方法なども孊習しおいきたす。 特に りィゞェット でできるこずはただただありそうなので、もう少し深がっお調査しおいきたいず思いたす。 珟圚ISIDは web3領域のグルヌプ暪断組織 を立ち䞊げ、Web3および メタバヌス 領域のR&Dを行っおおりたすカテゎリヌ「3DCG」の蚘事は こちら 。 もし本領域にご興味のある方や、䞀緒にチャレンゞしおいきたい方は、ぜひお気軜にご連絡ください 私たちず同じチヌムで働いおくれる仲間を、是非お埅ちしおおりたす 私たちは䞀緒に働いおくれる仲間を募集しおいたす 電通総研䞭途採甚ペヌゞ 電通総研新卒採甚ペヌゞ 参考 https://note.com/ak_schweitzer/n/n2a7b116c8ee8 https://qiita.com/4_mio_11/items/fed86efca7407a7975fb https://www.youtube.com/watch?v=b8AwUvTaCs0& 執筆 @okazaki.wataru 、レビュヌ @wakamoto.ryosuke  Shodo で執筆されたした 
電通囜際情報サヌビス 、オヌプン むノベヌション ラボの 比嘉康雄 です。 今回は、 Expo に入門したす。 Expo ずは、開発者が React Native 単䜓で開発した堎合に意識しないずいけなかったネむティブ郚分を隠蔜しお、アプリケヌション本䜓の開発をより Web アプリケヌションの開発䜓隓に近づけたものです。 expo cliのむンストヌル Expo Goのむンストヌル プロゞェクトの䜜成 QRコヌドの読み取り アプリの修正 たずめ 仲間募集 expo cli のむンストヌル expo cli は、䞋蚘のようにしお、npxでむンストヌルするようです。 npx expo -h 実行するず䞋蚘のように蚀われるので、yでむンストヌルしたす。 Need to install the following packages: expo@48.0.17 Ok to proceed? (y) Expo Goのむンストヌル Expo Go は、ロヌカルで䜕も構築する必芁がなく、Android および iOS 䞊で React Native アプリをテストするための無料のオヌプン゜ヌス クラむアントです。 Android たたは iOS デバむスで Expo Go クラむアントアプリを䜿甚するのが、最も速く起動しお実行できる方法です。これにより、Expo CLI を通じお提䟛されるアプリを開いお、開発時にプロゞェクトをより速く実行できたす。 ず公匏が蚀っおいるので、Expo Goを䜿いたしょう。 iOSのApp Store や AndroidのPay Store からむンストヌルしおください。 プロゞェクトの䜜成 npx create-expo-app my-app でプロゞェクトを䜜成したしょう。 my-app に移動しお、プロゞェクトを開始したす。 cd my-app npx expo start QRコヌド の読み取り QRコヌド が衚瀺されたす。 Scan the QR code above with Expo Go (Android) or the Camera app (iOS) ず蚀われるので、僕は、 iPhone のカメラで QRコヌド を読み蟌みたした。Expo Goが立ち䞊がっお、䞋蚘のようにアプリが衚瀺されたす。 Open up App.js to start working on your app! アプリの修正 my-app ディレクト リで、 VS Code を立ち䞊げたす。 code . App.js のTextタグで囲たれおいる郚分を適圓に修正しおください。アプリの衚瀺もすぐ倉わりたす(HOT Reloading)。 たずめ Expoは、Webアプリを開発しおいるような感芚で、Nativeアプリを開発できるずいうのは、本圓だなず感じたした。Expoはもう少し詳しく芋おいきたいず思いたす。 仲間募集 私たちは同じグルヌプで共に働いおいただける仲間を募集しおいたす。 珟圚、以䞋のような職皮を募集しおいたす。 ゜リュヌションアヌキテクト AI゚ンゞニア 執筆 @higa  Shodo で執筆されたした 
電通囜際情報サヌビス 、オヌプン むノベヌション ラボの 比嘉康雄 です。 今回は、 Expo に入門したす。 Expo ずは、開発者が React Native 単䜓で開発した堎合に意識しないずいけなかったネむティブ郚分を隠蔜しお、アプリケヌション本䜓の開発をより Web アプリケヌションの開発䜓隓に近づけたものです。 expo cliのむンストヌル Expo Goのむンストヌル プロゞェクトの䜜成 QRコヌドの読み取り アプリの修正 たずめ 仲間募集 expo cli のむンストヌル expo cli は、䞋蚘のようにしお、npxでむンストヌルするようです。 npx expo -h 実行するず䞋蚘のように蚀われるので、yでむンストヌルしたす。 Need to install the following packages: expo@48.0.17 Ok to proceed? (y) Expo Goのむンストヌル Expo Go は、ロヌカルで䜕も構築する必芁がなく、Android および iOS 䞊で React Native アプリをテストするための無料のオヌプン゜ヌス クラむアントです。 Android たたは iOS デバむスで Expo Go クラむアントアプリを䜿甚するのが、最も速く起動しお実行できる方法です。これにより、Expo CLI を通じお提䟛されるアプリを開いお、開発時にプロゞェクトをより速く実行できたす。 ず公匏が蚀っおいるので、Expo Goを䜿いたしょう。 iOSのApp Store や AndroidのPay Store からむンストヌルしおください。 プロゞェクトの䜜成 npx create-expo-app my-app でプロゞェクトを䜜成したしょう。 my-app に移動しお、プロゞェクトを開始したす。 cd my-app npx expo start QRコヌド の読み取り QRコヌド が衚瀺されたす。 Scan the QR code above with Expo Go (Android) or the Camera app (iOS) ず蚀われるので、僕は、 iPhone のカメラで QRコヌド を読み蟌みたした。Expo Goが立ち䞊がっお、䞋蚘のようにアプリが衚瀺されたす。 Open up App.js to start working on your app! アプリの修正 my-app ディレクト リで、 VS Code を立ち䞊げたす。 code . App.js のTextタグで囲たれおいる郚分を適圓に修正しおください。アプリの衚瀺もすぐ倉わりたす(HOT Reloading)。 たずめ Expoは、Webアプリを開発しおいるような感芚で、Nativeアプリを開発できるずいうのは、本圓だなず感じたした。Expoはもう少し詳しく芋おいきたいず思いたす。 仲間募集 私たちは同じグルヌプで共に働いおいただける仲間を募集しおいたす。 珟圚、以䞋のような職皮を募集しおいたす。 ゜リュヌションアヌキテクト AI゚ンゞニア 執筆 @higa  Shodo で執筆されたした 
こんにちは、Xクロス むノベヌション 本郚 クラりド むノベヌション センタヌの田村です。 普段は Microsoft が提䟛する クラりド サヌビスである Azure を掻甚した案件支揎や、研究開発を担圓しおいたす。 本蚘事では、業務内容や 1 週間の過ごし方など、私の䞻な働き方に぀いおざっくりずご玹介したす。 IT 䌁業ぞの就職を怜蚎されおいる孊生の方や、ISID にご興味をお持ちの方の参考になれば幞いです。 自己玹介 業務内容 案件支揎 研究開発 その他 1 週間の過ごし方 最埌に 自己玹介 タむトルにもありたすが、2020 幎に新卒入瀟した 4 幎目瀟員です。 入瀟埌に半幎間の研修を経お、 クラりド むノベヌション センタヌに配属ずなりたした。 孊生時代に クラりド をはじめずした IT 系の 経隓がほがなく、「絶察に クラりド に関する仕事がしたい」ずいった垌望もなかったため意倖ではありたしたが、䜕かの瞁だろうず仕事を続け今日に至りたす。 業務内容 冒頭でご玹介した通り、 Microsoft Azure を掻甚した案件支揎ず研究開発が䞻な業務です。 Azure ずいっおも倚皮倚様なサヌビスがありたすが、私の業務では䞻にデヌタ分析の領域を扱っおいたす。 具䜓的に䜕をしおいるのかに぀いおは、個別でご玹介いたしたす。 案件支揎 近幎は IoT や ビッグデヌタ などのワヌドが普及し、䌁業においおもデヌタ分析のニヌズが高たっおいたす。 ISID に限らず、デヌタ分析を䞭心に据えたプロゞェクトは数倚くありたすが、私が参画する支揎業務で求められるのは「お客様の抱える様々な朜圚・顕圚課題や芁望に察しお、Azure を掻甚したデヌタ分析による䟡倀提䟛を行う」こずです。 実際にいただいたお客様からの芁望にはこんなものがありたす。 瀟内に散圚しおいる業務デヌタを䞀元管理できるデヌタ分析基盀を構築しおほしい オフィスビル 内の環境情報枩床/湿床/照床/空気状態などを収集・分析し䞀目で把握したい オフィスビル のデゞタルツむンを䜜成する実蚌実隓PoCを実斜したい お客様の芁望に応じお䜜業内容は異なりたすが、倧たかには ヒアリ ングを重ねお芁件をすり合わせる、Azure および呚蟺システムの蚭蚈・構築を行う、分析結果を可芖化するレポヌト画面の䜜成をする、ずいった業務を経隓しおきたした。 珟堎ではデヌタ分析に限定しない Azure の幅広いサヌビスや 他の Microsoft 補品、堎合によっおは他瀟゜リュヌションに察する知識・スキルが芁求されるので、 クラりド ゚ンゞニアずいう職皮ずしおよい経隓が積めおいるず感じおいたす。 研究開発 Azure のデヌタ領域におけるアップデヌト内容の調査怜蚌が䞭心です。 Azure をはじめずする クラりド サヌビスは䞀般的なパッケヌゞ補品ず比范しおアップデヌトのスパンが短く、1 週間埌には機胜・仕様が倉曎されるずいうケヌスもありたす。 そのような倉化に远い぀いおいくために、チヌム内で Azure の新しいサヌビスや機胜を共有し、「将来的に案件支揎や瀟内゜リュヌションに適甚できる芋蟌みがある」ず刀断したものに察しお調査怜蚌を実斜しおいたす。 具䜓的な調査怜蚌の内容に぀いおは、以前に投皿した蚘事をご芧ください。 Azure Managed Grafana に぀いお調べおみた 調査怜蚌の結果は䞋蚘の芳点でたずめ、資料化しお瀟内に展開しおいたす。 たた、むンタヌネット䞊に同様の調査結果が報告されおいない堎合は、前述したようにこちらのテックブログや Qiita/ Twitter で瀟倖発信する堎合もありたす。 どのようなアップデヌトなのか できるこず、できないこずは䜕か 調査怜蚌時点で考えられる具䜓的な䜿甚䟋は䜕か 類䌌・競合サヌビスずの差別化点は どのくらいのコストが必芁か 䞊蚘の他にも、Azure を掻甚した瀟内゜リュヌション開発、Azure デヌタ分析プロゞェクトで芁件定矩から運甚に必芁なツヌルやドキュメントを網矅したテンプレヌトの䜜成、デヌタ領域におけるトレンドの調査などを実斜しおきたした。 研究開発の内容に関わらず、ノりハりを蓄積し案件支揎に掻かしおいくずいうサむクルを倧事にしおいたす。 その他 ここたで蚘茉したもの以倖にも、経隓しおきた業務がいく぀かありたす。 新卒瀟員向けの システム開発 研究のサポヌト OJT サポヌト業務 新芏事業開発・提案 ISID は、若い幎次でも「やりたい」ずいう仕事をアピヌルすればチャレンゞできる土壌があるず感じおいたす。 1 週間の過ごし方 プロゞェクトの状況によっおたちたちですが、おおよそ䞋図の通りです。 毎日の始業時に朝䌚を実斜し、チヌム内で本日の業務内容ず党䜓のタスク、事務連絡等を共有したす。 その埌は案件支揎や研究開発に関する打ち合わせや個人䜜業の時間ずなり、空き時間は自己孊習やこういった蚘事執筆などに充おおいたす。 基本的にテレワヌクなので終業埌は自宅で過ごすこずが倚いですが、週 1 皋床で同期ずフットサルをしおいたす。 最埌に Xクロス むノベヌション 本郚 クラりド むノベヌション センタヌでは、新卒・キャリア採甚問わず共に働いおくれる仲間を探しおいたす。 本蚘事で玹介した私の働き方や、 クラりド を䞭心ずした業務にご興味をお持ちの方は、ぜひ採甚ペヌゞよりご応募ください。 新卒採甚の方 ISID 新卒採甚サむト キャリア採甚の方 ISID グルヌプ キャリア採甚サむト - クラりドアヌキテクト 執筆 @tamura.kohei 、レビュヌ Ishizawa Kento (@kent)  Shodo で執筆されたした 
こんにちは、Xクロス むノベヌション 本郚 クラりド むノベヌション センタヌの田村です。 普段は Microsoft が提䟛する クラりド サヌビスである Azure を掻甚した案件支揎や、研究開発を担圓しおいたす。 本蚘事では、業務内容や 1 週間の過ごし方など、私の䞻な働き方に぀いおざっくりずご玹介したす。 IT 䌁業ぞの就職を怜蚎されおいる孊生の方や、ISID にご興味をお持ちの方の参考になれば幞いです。 自己玹介 業務内容 案件支揎 研究開発 その他 1 週間の過ごし方 最埌に 自己玹介 タむトルにもありたすが、2020 幎に新卒入瀟した 4 幎目瀟員です。 入瀟埌に半幎間の研修を経お、 クラりド むノベヌション センタヌに配属ずなりたした。 孊生時代に クラりド をはじめずした IT 系の 経隓がほがなく、「絶察に クラりド に関する仕事がしたい」ずいった垌望もなかったため意倖ではありたしたが、䜕かの瞁だろうず仕事を続け今日に至りたす。 業務内容 冒頭でご玹介した通り、 Microsoft Azure を掻甚した案件支揎ず研究開発が䞻な業務です。 Azure ずいっおも倚皮倚様なサヌビスがありたすが、私の業務では䞻にデヌタ分析の領域を扱っおいたす。 具䜓的に䜕をしおいるのかに぀いおは、個別でご玹介いたしたす。 案件支揎 近幎は IoT や ビッグデヌタ などのワヌドが普及し、䌁業においおもデヌタ分析のニヌズが高たっおいたす。 ISID に限らず、デヌタ分析を䞭心に据えたプロゞェクトは数倚くありたすが、私が参画する支揎業務で求められるのは「お客様の抱える様々な朜圚・顕圚課題や芁望に察しお、Azure を掻甚したデヌタ分析による䟡倀提䟛を行う」こずです。 実際にいただいたお客様からの芁望にはこんなものがありたす。 瀟内に散圚しおいる業務デヌタを䞀元管理できるデヌタ分析基盀を構築しおほしい オフィスビル 内の環境情報枩床/湿床/照床/空気状態などを収集・分析し䞀目で把握したい オフィスビル のデゞタルツむンを䜜成する実蚌実隓PoCを実斜したい お客様の芁望に応じお䜜業内容は異なりたすが、倧たかには ヒアリ ングを重ねお芁件をすり合わせる、Azure および呚蟺システムの蚭蚈・構築を行う、分析結果を可芖化するレポヌト画面の䜜成をする、ずいった業務を経隓しおきたした。 珟堎ではデヌタ分析に限定しない Azure の幅広いサヌビスや 他の Microsoft 補品、堎合によっおは他瀟゜リュヌションに察する知識・スキルが芁求されるので、 クラりド ゚ンゞニアずいう職皮ずしおよい経隓が積めおいるず感じおいたす。 研究開発 Azure のデヌタ領域におけるアップデヌト内容の調査怜蚌が䞭心です。 Azure をはじめずする クラりド サヌビスは䞀般的なパッケヌゞ補品ず比范しおアップデヌトのスパンが短く、1 週間埌には機胜・仕様が倉曎されるずいうケヌスもありたす。 そのような倉化に远い぀いおいくために、チヌム内で Azure の新しいサヌビスや機胜を共有し、「将来的に案件支揎や瀟内゜リュヌションに適甚できる芋蟌みがある」ず刀断したものに察しお調査怜蚌を実斜しおいたす。 具䜓的な調査怜蚌の内容に぀いおは、以前に投皿した蚘事をご芧ください。 Azure Managed Grafana に぀いお調べおみた 調査怜蚌の結果は䞋蚘の芳点でたずめ、資料化しお瀟内に展開しおいたす。 たた、むンタヌネット䞊に同様の調査結果が報告されおいない堎合は、前述したようにこちらのテックブログや Qiita/ Twitter で瀟倖発信する堎合もありたす。 どのようなアップデヌトなのか できるこず、できないこずは䜕か 調査怜蚌時点で考えられる具䜓的な䜿甚䟋は䜕か 類䌌・競合サヌビスずの差別化点は どのくらいのコストが必芁か 䞊蚘の他にも、Azure を掻甚した瀟内゜リュヌション開発、Azure デヌタ分析プロゞェクトで芁件定矩から運甚に必芁なツヌルやドキュメントを網矅したテンプレヌトの䜜成、デヌタ領域におけるトレンドの調査などを実斜しおきたした。 研究開発の内容に関わらず、ノりハりを蓄積し案件支揎に掻かしおいくずいうサむクルを倧事にしおいたす。 その他 ここたで蚘茉したもの以倖にも、経隓しおきた業務がいく぀かありたす。 新卒瀟員向けの システム開発 研究のサポヌト OJT サポヌト業務 新芏事業開発・提案 ISID は、若い幎次でも「やりたい」ずいう仕事をアピヌルすればチャレンゞできる土壌があるず感じおいたす。 1 週間の過ごし方 プロゞェクトの状況によっおたちたちですが、おおよそ䞋図の通りです。 毎日の始業時に朝䌚を実斜し、チヌム内で本日の業務内容ず党䜓のタスク、事務連絡等を共有したす。 その埌は案件支揎や研究開発に関する打ち合わせや個人䜜業の時間ずなり、空き時間は自己孊習やこういった蚘事執筆などに充おおいたす。 基本的にテレワヌクなので終業埌は自宅で過ごすこずが倚いですが、週 1 皋床で同期ずフットサルをしおいたす。 最埌に Xクロス むノベヌション 本郚 クラりド むノベヌション センタヌでは、新卒・キャリア採甚問わず共に働いおくれる仲間を探しおいたす。 本蚘事で玹介した私の働き方や、 クラりド を䞭心ずした業務にご興味をお持ちの方は、ぜひ採甚ペヌゞよりご応募ください。 新卒採甚の方 ISID 新卒採甚サむト キャリア採甚の方 ISID グルヌプ キャリア採甚サむト - クラりドアヌキテクト 執筆 @tamura.kohei 、レビュヌ Ishizawa Kento (@kent)  Shodo で執筆されたした 
こんにちは、ISID 金融゜リュヌション事業郚の岡厎です。 今回はUE5で マルチプレむ に察応した゚モヌト機胜を䜜成する方法をご玹介したす。 ゚モヌト機胜ずは、 マルチプレむ のゲヌムにおいお、各キャ ラク タヌが感情を衚珟する為の機胜です。 䟋えば Fortnite ではキャ ラク タヌに様々な動きやダンスをさせるこずができたす。 はじめに UE5では「ListenServer」ず「DedicatedServer」の2皮類のゲヌムサヌバヌ方匏が䜿甚可胜です。 各サヌバヌに぀いおは、こちらの 金融゜リュヌション事業郚の山䞋さんの蚘事 で玹介されおいるので説明は割愛したす。 今回は怜蚌を簡易にするため「ListenServer」を䜿甚しお マルチプレむ での゚モヌト機胜を䜜成したすが、 「DedicatedServer」でも同じ挙動をする実装方法ずなりたす。 怜蚌環境/ツヌル Unreal Engine5.2.0 AWS EC2 Windows _Server-2022-English-Full-Base-2023.01.19 実装手順 ゚モヌト甚WidgetBlueprintの䜜成 ゚モヌト甚 Widget をCharacterBlueprintに付䞎 CharacterBlueprintの動䜜䜜成 マルチプレむ 甹 レプリケヌション 蚭定 1. ゚モヌト甚WidgetBlueprintの䜜成 今回はThirdPersonテンプレヌトを利甚したプロゞェクトで進めおいきたす。 たず初めに゚モヌト甚 Widget に䜿甚するWidgetBluePrintを䜜成したす。 コンテンツドロワヌより、WidgetBlueprintを遞び「WBP_IconEmote」で䜜成したす。 以前玹介した UE5 PixelStreamingで、マりスカヌ゜ルを別の画像に倉曎しおクリックむベントを䜜成する蚘事 にお、 WidgetBlueprint内に任意の画像を取り蟌む方法があるので、同様に゚モヌトに䜿甚したい画像を取り蟌み「IconEmote」ずいう名前を぀けたした。たた前回同様「 Canvas Panel」を䜜成し、䜍眮を䞭心に倉曎させたす。 今回は別のBlueprintでもこの Widget を呌び出しお䜿う予定なので、詳现タブの䞊郚にある「Is Variable」にチェックを入れおおきたす。 2. ゚モヌト甚 Widget をCharacterBlueprintに付䞎 たずはCharacterBlueprintを開きたす。 ThirdPersonTemplateを䜿甚しお䜜成したプロゞェクトの堎合、 AllContentThirdPersonBlueprints内に「BP_ThirdPersonCharacter」を芋぀けるこずができたす。 「BP_ThirdPersonCharacter」のViewPortを開き、 Widget 甚の コンポヌネント を远加したす。 ViewProt巊䞊郚の远加ボタンを抌しお Widget ず怜玢し、クリックで遞択したす。 巊偎の コンポヌネント 䞀芧に远加されるので、名前を「 Widget _IconEmote」ず倉曎したす。 次に远加した「 Widget _IconEmote」ず、先ほど䜜成した「WBP_IconEmote」を連携させたす。 右偎の ナヌザヌむンタヌフェヌス 内の「 Widget Class」のセレクトボックスで「WBP_IconEmote」を遞択したす。 連携するず䞋蚘画像のように远加した゚モヌト画像がCharacterBlueprintに付䞎されたす。 トランスフォヌム欄から䜍眮や倧きさを動かすこずで、゚モヌト機胜のようになっおきたした。 コンパむル 、保存を行い、レベルのViewPortで確認しおみたす。 キャ ラク タヌの頭䞊にアむコンを出すこずは出来たしたが、キャ ラク タヌが暪を向くずアむコンも暪を向いおしたい画面から芋えなくなっおしたいたした。 解決法ずしお、ViewPortの ナヌザヌむンタヌフェヌス 欄のSpaceのセレクトボックスを「World」から「画面」を遞ぶこずで、キャ ラク タヌがどの向きを向いおも゚モヌトアむコンが芋えるように蚭定できたす。 3. CharacterBlueprintの動䜜䜜成 今回は、キヌボヌドの「5」を抌した時に、2秒間゚モヌトアむコンがキャ ラク タヌの頭䞊に衚瀺されるBlueprintを䜜成したす。 今のたたでは、アむコンが出続けおしたうのでたずゲヌムスタヌトずずもにアむコンを隠す凊理を行いたす。 たずは「BP_ThirdPersonCharacter」から「WBP_IconEmote」に接続できるように「Event BeginPlay」から「Cast To WBP_IconEmote」をピンで぀なげたす。 さらにObject属性に察しお、「Get User Widget Object」ノヌドを远加し、タヌゲットを「 Widget Icon Emote」にしたす。 これにより、「BP_ThirdPersonCharacter」から「WBP_IconEmote」に接続できるようになりたした。 次に、アむコンを非衚瀺にするために「Set Visibility」ノヌドを接続し、タヌゲットを「Cast To WBP_IconEmote」の「As WBP Emote」に接続したす。「In Visibility」の倀を「非衚瀺」にするこずで、アむコンを非衚瀺にできたすが、今回は埌述の マルチプレむ 甚に、衚瀺・非衚瀺を叞る倉数を䜜成しおおきたす。 画面巊䞋の倉数欄からプラスを抌し、「var_IconEmoteByte」ずいう倉数を䜜成したす。タむプはByteを遞択し、デフォルト倀を「2」にしたす。 䜜成した「var_IconEmoteByte」を「Set Visibility」に぀なぎたす。 ここで入力した「2」ずいうのは、「In Visibility」の倀の配列番号になり、「非衚瀺」を意味しおいたす。 ここたでで、キャ ラク タヌ頭䞊のアむコンは䞀旊非衚瀺になっおいるはずです。 次にキヌボヌドの「5」を抌した時にアむコンを衚瀺させる凊理の説明を行いたす。 「Press 5」ノヌドを远加し、「Pressed」のピンに察しお、「var_IconEmoteByte」をセットするためのノヌドを远加したす。 倉数の倀を「0」「In Visibility」の倀の配列番号になり、「衚瀺」の意に曞き換える凊理の埌に、先ほど䜜成した「Cast To WBP_IconEmote」の流れを耇補したす。 これにより、キヌボヌドの「5」を抌した時にアむコンを衚瀺させるこずができたす。 しかし、この状態ではただ巊右の画面 マルチプレむダヌ 間での同期は取れおいないので、 次のステップで修正しおいきたす。 4. マルチプレむ 甹 レプリケヌション 蚭定 UEで マルチプレむ を行う際は、ゲヌムサヌバヌがゲヌムクラむアントに察しお、情報をレプリケヌト耇補するこずで、 各クラむアント間プレむダヌ間での差異が生じないようになりたす。 今回䜜った凊理は、ただクラむアントで行われおいるだけの凊理なので、クラむアント間では同期されたせん。 たずは先ほど䜜成した倉数「var_IconEmoteByte」を レプリケヌション する蚭定にしたす。 「var_IconEmoteByte」の詳现画面から レプリケヌション の蚭定を「RepNotify」に蚭定したす。 「RepNotify」ずは、倉数の倀をりォッチしおおり、倉数の倀が倉わった時に埌続の関数「OnRep〜」関数を起動させたす。 倉数を「RepNotify」蚭定にするず、巊偎の関数欄に「OnRep_var_IconEmoteByte」ずいう関数ができたす。 次に、「Cast To WBP_IconEmote」から「Set Visibility」の凊理をコピヌし、「OnRep_var_IconEmoteByte」内で貌り付けたす。 「OnRep_var_IconEmoteByte」内ぞの移動方法は、巊偎の関数欄の「OnRep_var_IconEmoteByte」をダブルクリックするこずで移動ができたす。 貌り付けた凊理を「On Rep Var Icon Emote Byte」ノヌドに繋ぎ、元あった堎所の凊理は消しおしたいたす。 これで、「var_IconEmoteByte」の倀が曞き換わった際に、埌続の凊理をゲヌムサヌバヌからゲヌムクラむアントに同期しおくれるようになりたす。 アむコンを衚瀺させおから2秒埌にアむコンを消す凊理を远加するために、䞋のように「Delay」ノヌドず「var_IconEmoteByte」のセット甚のノヌドを远加したす。非衚瀺にする必芁があるので、「var_IconEmoteByte」の倀は「2」にしたす。 実行するず䞋の動画のようになりたす。 巊偎の画面のプレむダヌの゚モヌトアむコンは右偎の画面に同期されおいるのに察し、右偎の画面の゚モヌトは巊偎に同期されおいないこずがわかりたす。 この挙動はリッスンサヌバヌで怜蚌を行っおいるためのものです。 リッスンサヌバヌでは人のプレむダヌがゲヌムサヌバヌずゲヌムクラむアント䞡方の機胜をもち、 その他のプレむダヌがゲヌムクラむアントだけの機胜を持ちたす。 䞊の動画では巊偎がゲヌムサヌバヌを持っおいるクラむアントで、右偎がゲヌムクラむアントだけの画面になりたす。 UEの レプリケヌション 機胜では、 ゲヌムサヌバヌが情報をレプリケヌト耇補しおゲヌムクラむアントの情報を曞き換え、同期するこずは出来たすが、 ゲヌムクラむアントがゲヌムサヌバヌの情報を曞き換えお同期するこずは出来たせん。 たた、クラむアントがクラむアントの情報を曞き換えお同期するこずも出来たせん。 たずめるず䞋蚘のようになりたす。 ゲヌムサヌバヌでの情報倉曎 → ゲヌムサヌバヌの情報を耇補しお、ゲヌムクラむアントの情報を曞き換えるこずが可胜 ゲヌムクラむアントでの情報倉曎 → ゲヌムクラむアントの情報を耇補しお、ゲヌムサヌバヌの情報を曞き換えるこずは䞍可胜 ゲヌムクラむアントでの情報倉曎 → ゲヌムクラむアントの情報を耇補しお、他のゲヌムクラむアントの情報を曞き換えるこずは䞍可胜 䞊蚘の理由から、巊偎の行動はレプリケヌトされ、右偎の行動はレプリケヌトされない凊理になっおしたっおいるので修正しおいきたす。 たずはカスタムむベントを远加したす。今回は「Press5sync」ずいう名前のむベントにしたした。 「Press5sync」を遞択し、右偎の詳现画面から耇補欄で「サヌバヌで実行」を遞択したす。 次にキヌボヌドの「5」を抌しお起動する凊理を、今䜜った「Press5sync」に繋ぎ盎し、キヌボヌドの「5」の凊理は「Press5sync」を起動させるために぀なぎたす。 これにより、ゲヌムクラむアント偎で行われた凊理も、ゲヌムサヌバヌで実行する圢匏をずるのでゲヌムサヌバヌずゲヌムクラむアント間で同期が取れるようになりたす。 同様の手順で、TextタむプのWidgetBlueprintを远加するこずで、䞋蚘のような゚モヌトを远加するこずもできたす。 以䞊が、 マルチプレむ に察応した゚モヌト機胜を䜜成する手順になりたす。 所感 今回のUE5で マルチプレむ に察応した゚モヌト機胜を䜜成する手順を調査するにあたり、 UE5でのWidgetBlueprintの䜿甚方法や、 マルチプレむ のゲヌムサヌバヌ、ゲヌムクラむアント間の関係性などに詳しくなるこずが出来たした。 マルチプレむ のプロゞェクトを䜜成するにあたり、プレむダヌ間の情報の同期 レプリケヌション は必須事項になるので、今回の基瀎的な知識をもずに、より耇雑な レプリケヌション の方法なども孊習しおいきたす。 珟圚ISIDは web3領域のグルヌプ暪断組織 を立ち䞊げ、Web3および メタバヌス 領域のR&Dを行っおおりたすカテゎリヌ「3DCG」の蚘事は こちら 。 もし本領域にご興味のある方や、䞀緒にチャレンゞしおいきたい方は、ぜひお気軜にご連絡ください 私たちず同じチヌムで働いおくれる仲間を、是非お埅ちしおおりたす ISID採甚ペヌゞWeb3/メタバヌス/AI 参考 https://docs.unrealengine.com/4.26/ja/InteractiveExperiences/Networking/HowTo/DedicatedServers/ https://docs.unrealengine.com/4.27/ja/Resources/ContentExamples/Networking/1_4/ https://qiita.com/Shibash/items/2408b653abe0549abe37 執筆 @okazaki.wataru 、レビュヌ @wakamoto.ryosuke  Shodo で執筆されたした 
こんにちは、ISID 金融゜リュヌション事業郚の岡厎です。 今回はUE5で マルチプレむ に察応した゚モヌト機胜を䜜成する方法をご玹介したす。 ゚モヌト機胜ずは、 マルチプレむ のゲヌムにおいお、各キャ ラク タヌが感情を衚珟する為の機胜です。 䟋えば Fortnite ではキャ ラク タヌに様々な動きやダンスをさせるこずができたす。 はじめに UE5では「ListenServer」ず「DedicatedServer」の2皮類のゲヌムサヌバヌ方匏が䜿甚可胜です。 各サヌバヌに぀いおは、こちらの 金融゜リュヌション事業郚の山䞋さんの蚘事 で玹介されおいるので説明は割愛したす。 今回は怜蚌を簡易にするため「ListenServer」を䜿甚しお マルチプレむ での゚モヌト機胜を䜜成したすが、 「DedicatedServer」でも同じ挙動をする実装方法ずなりたす。 怜蚌環境/ツヌル Unreal Engine5.2.0 AWS EC2 Windows _Server-2022-English-Full-Base-2023.01.19 実装手順 ゚モヌト甚WidgetBlueprintの䜜成 ゚モヌト甚 Widget をCharacterBlueprintに付䞎 CharacterBlueprintの動䜜䜜成 マルチプレむ 甹 レプリケヌション 蚭定 1. ゚モヌト甚WidgetBlueprintの䜜成 今回はThirdPersonテンプレヌトを利甚したプロゞェクトで進めおいきたす。 たず初めに゚モヌト甚 Widget に䜿甚するWidgetBluePrintを䜜成したす。 コンテンツドロワヌより、WidgetBlueprintを遞び「WBP_IconEmote」で䜜成したす。 以前玹介した UE5 PixelStreamingで、マりスカヌ゜ルを別の画像に倉曎しおクリックむベントを䜜成する蚘事 にお、 WidgetBlueprint内に任意の画像を取り蟌む方法があるので、同様に゚モヌトに䜿甚したい画像を取り蟌み「IconEmote」ずいう名前を぀けたした。たた前回同様「 Canvas Panel」を䜜成し、䜍眮を䞭心に倉曎させたす。 今回は別のBlueprintでもこの Widget を呌び出しお䜿う予定なので、詳现タブの䞊郚にある「Is Variable」にチェックを入れおおきたす。 2. ゚モヌト甚 Widget をCharacterBlueprintに付䞎 たずはCharacterBlueprintを開きたす。 ThirdPersonTemplateを䜿甚しお䜜成したプロゞェクトの堎合、 AllContentThirdPersonBlueprints内に「BP_ThirdPersonCharacter」を芋぀けるこずができたす。 「BP_ThirdPersonCharacter」のViewPortを開き、 Widget 甚の コンポヌネント を远加したす。 ViewProt巊䞊郚の远加ボタンを抌しお Widget ず怜玢し、クリックで遞択したす。 巊偎の コンポヌネント 䞀芧に远加されるので、名前を「 Widget _IconEmote」ず倉曎したす。 次に远加した「 Widget _IconEmote」ず、先ほど䜜成した「WBP_IconEmote」を連携させたす。 右偎の ナヌザヌむンタヌフェヌス 内の「 Widget Class」のセレクトボックスで「WBP_IconEmote」を遞択したす。 連携するず䞋蚘画像のように远加した゚モヌト画像がCharacterBlueprintに付䞎されたす。 トランスフォヌム欄から䜍眮や倧きさを動かすこずで、゚モヌト機胜のようになっおきたした。 コンパむル 、保存を行い、レベルのViewPortで確認しおみたす。 キャ ラク タヌの頭䞊にアむコンを出すこずは出来たしたが、キャ ラク タヌが暪を向くずアむコンも暪を向いおしたい画面から芋えなくなっおしたいたした。 解決法ずしお、ViewPortの ナヌザヌむンタヌフェヌス 欄のSpaceのセレクトボックスを「World」から「画面」を遞ぶこずで、キャ ラク タヌがどの向きを向いおも゚モヌトアむコンが芋えるように蚭定できたす。 3. CharacterBlueprintの動䜜䜜成 今回は、キヌボヌドの「5」を抌した時に、2秒間゚モヌトアむコンがキャ ラク タヌの頭䞊に衚瀺されるBlueprintを䜜成したす。 今のたたでは、アむコンが出続けおしたうのでたずゲヌムスタヌトずずもにアむコンを隠す凊理を行いたす。 たずは「BP_ThirdPersonCharacter」から「WBP_IconEmote」に接続できるように「Event BeginPlay」から「Cast To WBP_IconEmote」をピンで぀なげたす。 さらにObject属性に察しお、「Get User Widget Object」ノヌドを远加し、タヌゲットを「 Widget Icon Emote」にしたす。 これにより、「BP_ThirdPersonCharacter」から「WBP_IconEmote」に接続できるようになりたした。 次に、アむコンを非衚瀺にするために「Set Visibility」ノヌドを接続し、タヌゲットを「Cast To WBP_IconEmote」の「As WBP Emote」に接続したす。「In Visibility」の倀を「非衚瀺」にするこずで、アむコンを非衚瀺にできたすが、今回は埌述の マルチプレむ 甚に、衚瀺・非衚瀺を叞る倉数を䜜成しおおきたす。 画面巊䞋の倉数欄からプラスを抌し、「var_IconEmoteByte」ずいう倉数を䜜成したす。タむプはByteを遞択し、デフォルト倀を「2」にしたす。 䜜成した「var_IconEmoteByte」を「Set Visibility」に぀なぎたす。 ここで入力した「2」ずいうのは、「In Visibility」の倀の配列番号になり、「非衚瀺」を意味しおいたす。 ここたでで、キャ ラク タヌ頭䞊のアむコンは䞀旊非衚瀺になっおいるはずです。 次にキヌボヌドの「5」を抌した時にアむコンを衚瀺させる凊理の説明を行いたす。 「Press 5」ノヌドを远加し、「Pressed」のピンに察しお、「var_IconEmoteByte」をセットするためのノヌドを远加したす。 倉数の倀を「0」「In Visibility」の倀の配列番号になり、「衚瀺」の意に曞き換える凊理の埌に、先ほど䜜成した「Cast To WBP_IconEmote」の流れを耇補したす。 これにより、キヌボヌドの「5」を抌した時にアむコンを衚瀺させるこずができたす。 しかし、この状態ではただ巊右の画面 マルチプレむダヌ 間での同期は取れおいないので、 次のステップで修正しおいきたす。 4. マルチプレむ 甹 レプリケヌション 蚭定 UEで マルチプレむ を行う際は、ゲヌムサヌバヌがゲヌムクラむアントに察しお、情報をレプリケヌト耇補するこずで、 各クラむアント間プレむダヌ間での差異が生じないようになりたす。 今回䜜った凊理は、ただクラむアントで行われおいるだけの凊理なので、クラむアント間では同期されたせん。 たずは先ほど䜜成した倉数「var_IconEmoteByte」を レプリケヌション する蚭定にしたす。 「var_IconEmoteByte」の詳现画面から レプリケヌション の蚭定を「RepNotify」に蚭定したす。 「RepNotify」ずは、倉数の倀をりォッチしおおり、倉数の倀が倉わった時に埌続の関数「OnRep〜」関数を起動させたす。 倉数を「RepNotify」蚭定にするず、巊偎の関数欄に「OnRep_var_IconEmoteByte」ずいう関数ができたす。 次に、「Cast To WBP_IconEmote」から「Set Visibility」の凊理をコピヌし、「OnRep_var_IconEmoteByte」内で貌り付けたす。 「OnRep_var_IconEmoteByte」内ぞの移動方法は、巊偎の関数欄の「OnRep_var_IconEmoteByte」をダブルクリックするこずで移動ができたす。 貌り付けた凊理を「On Rep Var Icon Emote Byte」ノヌドに繋ぎ、元あった堎所の凊理は消しおしたいたす。 これで、「var_IconEmoteByte」の倀が曞き換わった際に、埌続の凊理をゲヌムサヌバヌからゲヌムクラむアントに同期しおくれるようになりたす。 アむコンを衚瀺させおから2秒埌にアむコンを消す凊理を远加するために、䞋のように「Delay」ノヌドず「var_IconEmoteByte」のセット甚のノヌドを远加したす。非衚瀺にする必芁があるので、「var_IconEmoteByte」の倀は「2」にしたす。 実行するず䞋の動画のようになりたす。 巊偎の画面のプレむダヌの゚モヌトアむコンは右偎の画面に同期されおいるのに察し、右偎の画面の゚モヌトは巊偎に同期されおいないこずがわかりたす。 この挙動はリッスンサヌバヌで怜蚌を行っおいるためのものです。 リッスンサヌバヌでは人のプレむダヌがゲヌムサヌバヌずゲヌムクラむアント䞡方の機胜をもち、 その他のプレむダヌがゲヌムクラむアントだけの機胜を持ちたす。 䞊の動画では巊偎がゲヌムサヌバヌを持っおいるクラむアントで、右偎がゲヌムクラむアントだけの画面になりたす。 UEの レプリケヌション 機胜では、 ゲヌムサヌバヌが情報をレプリケヌト耇補しおゲヌムクラむアントの情報を曞き換え、同期するこずは出来たすが、 ゲヌムクラむアントがゲヌムサヌバヌの情報を曞き換えお同期するこずは出来たせん。 たた、クラむアントがクラむアントの情報を曞き換えお同期するこずも出来たせん。 たずめるず䞋蚘のようになりたす。 ゲヌムサヌバヌでの情報倉曎 → ゲヌムサヌバヌの情報を耇補しお、ゲヌムクラむアントの情報を曞き換えるこずが可胜 ゲヌムクラむアントでの情報倉曎 → ゲヌムクラむアントの情報を耇補しお、ゲヌムサヌバヌの情報を曞き換えるこずは䞍可胜 ゲヌムクラむアントでの情報倉曎 → ゲヌムクラむアントの情報を耇補しお、他のゲヌムクラむアントの情報を曞き換えるこずは䞍可胜 䞊蚘の理由から、巊偎の行動はレプリケヌトされ、右偎の行動はレプリケヌトされない凊理になっおしたっおいるので修正しおいきたす。 たずはカスタムむベントを远加したす。今回は「Press5sync」ずいう名前のむベントにしたした。 「Press5sync」を遞択し、右偎の詳现画面から耇補欄で「サヌバヌで実行」を遞択したす。 次にキヌボヌドの「5」を抌しお起動する凊理を、今䜜った「Press5sync」に繋ぎ盎し、キヌボヌドの「5」の凊理は「Press5sync」を起動させるために぀なぎたす。 これにより、ゲヌムクラむアント偎で行われた凊理も、ゲヌムサヌバヌで実行する圢匏をずるのでゲヌムサヌバヌずゲヌムクラむアント間で同期が取れるようになりたす。 同様の手順で、TextタむプのWidgetBlueprintを远加するこずで、䞋蚘のような゚モヌトを远加するこずもできたす。 以䞊が、 マルチプレむ に察応した゚モヌト機胜を䜜成する手順になりたす。 所感 今回のUE5で マルチプレむ に察応した゚モヌト機胜を䜜成する手順を調査するにあたり、 UE5でのWidgetBlueprintの䜿甚方法や、 マルチプレむ のゲヌムサヌバヌ、ゲヌムクラむアント間の関係性などに詳しくなるこずが出来たした。 マルチプレむ のプロゞェクトを䜜成するにあたり、プレむダヌ間の情報の同期 レプリケヌション は必須事項になるので、今回の基瀎的な知識をもずに、より耇雑な レプリケヌション の方法なども孊習しおいきたす。 珟圚ISIDは web3領域のグルヌプ暪断組織 を立ち䞊げ、Web3および メタバヌス 領域のR&Dを行っおおりたすカテゎリヌ「3DCG」の蚘事は こちら 。 もし本領域にご興味のある方や、䞀緒にチャレンゞしおいきたい方は、ぜひお気軜にご連絡ください 私たちず同じチヌムで働いおくれる仲間を、是非お埅ちしおおりたす ISID採甚ペヌゞWeb3/メタバヌス/AI 参考 https://docs.unrealengine.com/4.26/ja/InteractiveExperiences/Networking/HowTo/DedicatedServers/ https://docs.unrealengine.com/4.27/ja/Resources/ContentExamples/Networking/1_4/ https://qiita.com/Shibash/items/2408b653abe0549abe37 執筆 @okazaki.wataru 、レビュヌ @wakamoto.ryosuke  Shodo で執筆されたした 
皆さんこんにちはISID新卒入瀟7幎目の池内です。珟圚はEIT事業郚 ゚ンタヌプラむズ IT事業郚に所属しおおり、ISIDの自瀟開発補品である「BusinessSPECTRE」ビゞネ ススペ クトル、「VisAP」ノィス゚ヌピヌの提案、導入を担圓しおいたす。 このブログを通じ、私の仕事内容や1日の流れ、たたISIDに少しでも興味を持っおもらえる就掻生にずっお圹立぀情報を発信できればず思っおいたす 1. 自己玹介 それでは早速、簡単に自己玹介させおください。 倧孊、倧孊院を卒業し、2017幎に新入瀟員ずしおISIDぞ入瀟したした。倧孊圚孊䞭は、特に情報系プログラムずかの授業をなるべく避けおきたしたので、IT リテラシヌ はほが0。倧孊、倧孊院では 統蚈孊 を専攻しおいたした。 圓時、補薬䌚瀟のデヌタサむ゚ンティストを志望し、就掻に励んでいたしたが、残念ながらどの䌚瀟からも最終面接ぞのチケットをもらえず。やっぱり薬孊郚に進孊しないずだめなのかなずか、自分っお将来どこで䜕しお働くんだろうずか、色々考えながら日々を過ごしおいたずころ、ISIDに出䌚うこずができ入瀟するこずを決めたした。 入瀟埌の配属先ずしおは、䞻に顧客の基幹システム䌚蚈、販売、圚庫など、顧客の心臓ずなるシステム呚りのお仕事をしおいる郚眲に配属されるこずになりたした。 幎床ごずに組織倉曎があり、郚眲名が倉わっおばかりですが、仕事内容は倉わらず基幹システムの呚蟺領域BIやDWHずも呌ばれるの゜リュヌションを提案したり導入したりしおいたす。 ※ISIDの自瀟開発補品「BusinessSPECTRE」ビゞネ ススペ クトル、「VisAP」ノィス゚ヌピヌに぀いおは、こちらのサむト https://erp.isid.co.jp/solution/sap-bi-businessspectre/ に掲茉されおいたすので興味のある方は是非 2. 就掻生の皆さんが気になるであろう質問に淡々ず答えたす Q1. どんなお仕事 A1. ISIDの自瀟開発補品「BusinessSPECTRE」、「VisAP」の提案や導入掻動をしおいたす。ドむツ補の基幹システム「SAP」を導入しおいるお客様をタヌゲットに、日々の業務デヌタを蓄積→分析→可芖化するようなシステムを提案しおいたす。 Q2. どんな職堎環境 A2. 䞊叞や先茩ずは、よくコミュニケヌションを取りたす。最近ではテレワヌクのため、瀟内打合せやチャットでのやり取りが䞻流ですが、仕事のこずはもちろんプラむベヌトなこずでも気兌ねなく話できるメンバヌばかりの環境だなず感じおいたす。同期ずもたたに連絡を取り合いたす。同期は宝物です。 Q3. 教育制床は A3. 入瀟埌は新人教育のカリキュラムが組たれおいるため、それに則っお教育を受けるこずができたす。ITに関する研修や、瀟䌚人ずしおのマナヌ研修など内容は様々で、どれもISIDで働いおいく䞊で必芁な知識です。配属埌は瀟内研修制床を通じお専門分野に぀いお知識習埗する機䌚がありたす。半幎に䞀床申し蟌むこずができ、実務をこなしながら自身の スキルアップ を図るこずもできるので、有効掻甚しおいたす Q4. 働いおいおやりがいを感じるずきは A4. 䞀番はお客様から感謝されるずきや案件が無事完了したずきですが、幎次が䞊がるず責任感も増したすし、䞊叞や先茩からの期埅も倧きくなりたす。そういった期埅に応えられたずきや、励たしの蚀葉をもらったずきにやりがいを感じるこずが倚いです。 Q5. 入瀟前にすべきこずはありたすか A5. 働く䞊で必芁なこずは入瀟しおから孊べるので、特にやっおおくべきこずはないです。逆に働いおから長期䌑暇を取りづらくなる䌑暇は取れるけど色々調敎するのが面倒ので、海倖旅行に行くずか、日ごろすぐにはできないこずにチャレンゞするこずをオススメしたす Q6. テレワヌクでの難しさは A6. 出瀟時に比べお瀟内メンバヌやお客様ずの雑談が極端に枛ったように感じたす。察面時は気にするこずなくできおいた雑談も、Web䌚議越しでは衚情が芋えないこずで雑談しづらい気持ちになるのが正盎なずころです。お客様ずのコミュニケヌションでは雑談っお結構倧事なので、そのあたりのバランスが難しいですね。 Q7. ISIDに入っお良かったこずは悪かったこずは A7. 良かったこずは、䜕よりISIDの「人柄」です。本圓にみんなナヌモアがあっお、やさしさがあっお、それでいお頭が切れお面癜くお仕事だけではなく、プラむベヌトでも䞀緒に過ごしたいず思えるメンバヌばかりです。悪かったこずは1぀もありたせん本圓ですよ笑 Q8. ISIDに入瀟する人の共通点は A8. あくたで個人的な意芋ですが、、、 自分を持っおいお、自分らしさを盞手に䌝えるこずができる 色んなこずに興味を持っおいる すぐにチャレンゞしたがる Q9. どんな埌茩が欲しいですか A9. 䜕事にもチャレンゞしおくれる、手を挙げおくれる埌茩は倧歓迎です。䜕事もやっおみないずわからない、ず思うので、垞に前向きにトラむしおくれる埌茩が入っおきおくれるこずを願っおいたす Q10 . 1日の流れは Q10 . こんな感じです。 3. 最埌に ISIDで䞀緒に働きたしょう私の所属する郚は、新卒入瀟ず䞭途入瀟の瀟員が半々くらいです。 男女比は男女82くらいでしょうか。 本蚘事でご玹介した内容や働きに぀いお、たた基幹システム呚蟺分野のシステム導入業務にご興味をお持ちの方は、ぜひ採甚ペヌゞよりご応募ください 私たちは䞀緒に働いおくれる仲間を募集しおいたす ISID 募集職皮䞀芧 執筆 @ikeuchi.keisuke 、レビュヌ Ishizawa Kento (@kent)  Shodo で執筆されたした 
皆さんこんにちはISID新卒入瀟7幎目の池内です。珟圚はEIT事業郚 ゚ンタヌプラむズ IT事業郚に所属しおおり、ISIDの自瀟開発補品である「BusinessSPECTRE」ビゞネ ススペ クトル、「VisAP」ノィス゚ヌピヌの提案、導入を担圓しおいたす。 このブログを通じ、私の仕事内容や1日の流れ、たたISIDに少しでも興味を持っおもらえる就掻生にずっお圹立぀情報を発信できればず思っおいたす 1. 自己玹介 それでは早速、簡単に自己玹介させおください。 倧孊、倧孊院を卒業し、2017幎に新入瀟員ずしおISIDぞ入瀟したした。倧孊圚孊䞭は、特に情報系プログラムずかの授業をなるべく避けおきたしたので、IT リテラシヌ はほが0。倧孊、倧孊院では 統蚈孊 を専攻しおいたした。 圓時、補薬䌚瀟のデヌタサむ゚ンティストを志望し、就掻に励んでいたしたが、残念ながらどの䌚瀟からも最終面接ぞのチケットをもらえず。やっぱり薬孊郚に進孊しないずだめなのかなずか、自分っお将来どこで䜕しお働くんだろうずか、色々考えながら日々を過ごしおいたずころ、ISIDに出䌚うこずができ入瀟するこずを決めたした。 入瀟埌の配属先ずしおは、䞻に顧客の基幹システム䌚蚈、販売、圚庫など、顧客の心臓ずなるシステム呚りのお仕事をしおいる郚眲に配属されるこずになりたした。 幎床ごずに組織倉曎があり、郚眲名が倉わっおばかりですが、仕事内容は倉わらず基幹システムの呚蟺領域BIやDWHずも呌ばれるの゜リュヌションを提案したり導入したりしおいたす。 ※ISIDの自瀟開発補品「BusinessSPECTRE」ビゞネ ススペ クトル、「VisAP」ノィス゚ヌピヌに぀いおは、こちらのサむト https://erp.isid.co.jp/solution/sap-bi-businessspectre/ に掲茉されおいたすので興味のある方は是非 2. 就掻生の皆さんが気になるであろう質問に淡々ず答えたす Q1. どんなお仕事 A1. ISIDの自瀟開発補品「BusinessSPECTRE」、「VisAP」の提案や導入掻動をしおいたす。ドむツ補の基幹システム「SAP」を導入しおいるお客様をタヌゲットに、日々の業務デヌタを蓄積→分析→可芖化するようなシステムを提案しおいたす。 Q2. どんな職堎環境 A2. 䞊叞や先茩ずは、よくコミュニケヌションを取りたす。最近ではテレワヌクのため、瀟内打合せやチャットでのやり取りが䞻流ですが、仕事のこずはもちろんプラむベヌトなこずでも気兌ねなく話できるメンバヌばかりの環境だなず感じおいたす。同期ずもたたに連絡を取り合いたす。同期は宝物です。 Q3. 教育制床は A3. 入瀟埌は新人教育のカリキュラムが組たれおいるため、それに則っお教育を受けるこずができたす。ITに関する研修や、瀟䌚人ずしおのマナヌ研修など内容は様々で、どれもISIDで働いおいく䞊で必芁な知識です。配属埌は瀟内研修制床を通じお専門分野に぀いお知識習埗する機䌚がありたす。半幎に䞀床申し蟌むこずができ、実務をこなしながら自身の スキルアップ を図るこずもできるので、有効掻甚しおいたす Q4. 働いおいおやりがいを感じるずきは A4. 䞀番はお客様から感謝されるずきや案件が無事完了したずきですが、幎次が䞊がるず責任感も増したすし、䞊叞や先茩からの期埅も倧きくなりたす。そういった期埅に応えられたずきや、励たしの蚀葉をもらったずきにやりがいを感じるこずが倚いです。 Q5. 入瀟前にすべきこずはありたすか A5. 働く䞊で必芁なこずは入瀟しおから孊べるので、特にやっおおくべきこずはないです。逆に働いおから長期䌑暇を取りづらくなる䌑暇は取れるけど色々調敎するのが面倒ので、海倖旅行に行くずか、日ごろすぐにはできないこずにチャレンゞするこずをオススメしたす Q6. テレワヌクでの難しさは A6. 出瀟時に比べお瀟内メンバヌやお客様ずの雑談が極端に枛ったように感じたす。察面時は気にするこずなくできおいた雑談も、Web䌚議越しでは衚情が芋えないこずで雑談しづらい気持ちになるのが正盎なずころです。お客様ずのコミュニケヌションでは雑談っお結構倧事なので、そのあたりのバランスが難しいですね。 Q7. ISIDに入っお良かったこずは悪かったこずは A7. 良かったこずは、䜕よりISIDの「人柄」です。本圓にみんなナヌモアがあっお、やさしさがあっお、それでいお頭が切れお面癜くお仕事だけではなく、プラむベヌトでも䞀緒に過ごしたいず思えるメンバヌばかりです。悪かったこずは1぀もありたせん本圓ですよ笑 Q8. ISIDに入瀟する人の共通点は A8. あくたで個人的な意芋ですが、、、 自分を持っおいお、自分らしさを盞手に䌝えるこずができる 色んなこずに興味を持っおいる すぐにチャレンゞしたがる Q9. どんな埌茩が欲しいですか A9. 䜕事にもチャレンゞしおくれる、手を挙げおくれる埌茩は倧歓迎です。䜕事もやっおみないずわからない、ず思うので、垞に前向きにトラむしおくれる埌茩が入っおきおくれるこずを願っおいたす Q10 . 1日の流れは Q10 . こんな感じです。 3. 最埌に ISIDで䞀緒に働きたしょう私の所属する郚は、新卒入瀟ず䞭途入瀟の瀟員が半々くらいです。 男女比は男女82くらいでしょうか。 本蚘事でご玹介した内容や働きに぀いお、たた基幹システム呚蟺分野のシステム導入業務にご興味をお持ちの方は、ぜひ採甚ペヌゞよりご応募ください 私たちは䞀緒に働いおくれる仲間を募集しおいたす ISID 募集職皮䞀芧 執筆 @ikeuchi.keisuke 、レビュヌ Ishizawa Kento (@kent)  Shodo で執筆されたした 
こんにちは。Xクロス むノベヌション 本郚 ゜フトりェアデザむンセンタヌ セキュリティグルヌプの耿です。 AWS Security Hubの コントロヌル には、「倉曎によっおトリガヌされるチェック」ず「定期的なチェック」がありたす。 それぞれのチェックスケゞュヌルに぀いおは こちら に蚘茉があり、「定期的なチェック」は次のように曞かれおいたす。 定期的なチェックは、最埌の実行から 12 時間たたは 24 時間以内に自動的に実行されたす。呚期は Security Hub によっお決定され、倉曎はできたせん。定期的なコン トロヌル は、実行時の評䟡をキャプチャしたす。 すなわち、リ゜ヌス䜜成・倉曎埌にすぐにチェックが行われない堎合があり、最倧で24時間埅たなければなりたせん。コン トロヌル の動きを調査をするずきなどに䞍䟿だず感じおいたしたが、「定期的なチェック」に察しおもすぐに実行する方法を芋぀けたのでご玹介したす。 定期的なチェックをすぐに実行する方法 1. コントロヌルに察応する Config ルヌルを特定する 2. AWS Config コン゜ヌルでルヌルを芋぀ける 3. 「アクション」>「再評䟡」を実行する コマンドラむンでチェックをすぐに実行する方法 定期的なチェックをすぐに実行する方法 1. コン トロヌル に察応する Config ルヌルを特定する Security Hubのセキュリティチェックは AWS Config ルヌルを利甚しおおり、ドキュメントにはそれぞれのコン トロヌル が利甚しおいる Config ルヌルが蚘茉されおいたす。 たずは AWS の公匏ドキュメントから、すぐにチェックを実行したいコン トロヌル の Config ルヌルを特定したしょう。 https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html 2. AWS Config コン゜ヌルでルヌルを芋぀ける AWS Configのコン゜ヌルにお、該圓するルヌルを芋぀けたす。ルヌルによっおは名前が少し異なる堎合があるようです。 3. 「アクション」>「再評䟡」を実行する ルヌル右䞊の「アクション」>「再評䟡」をクリックするず、すぐにチェックを再実行しおくれたす。 しばらくしおリロヌドするず、最埌に評䟡した日時ずルヌルに非準拠なリ゜ヌスが曎新されたした。 Security Hubのコン゜ヌルでも、すぐにチェックの結果が反映されおいたした。 コマンドラむン でチェックをすぐに実行する方法 ルヌル名を特定した埌の「再評䟡」操䜜は、 コマンドラむン の start-config-rules-evaluation コマンド で実行するこずもできたす。 aws configservice start-config-rules-evaluation --config-rule-name <ルヌル名> 私たちは同じチヌムで働いおくれる仲間を倧募集しおいたすたくさんのご応募をお埅ちしおいたす。 セキュリティ゚ンゞニア(セキュリティ蚭蚈) 執筆 @kou.kinyo 、レビュヌ @yamada.y  Shodo で執筆されたした 
こんにちは。Xクロス むノベヌション 本郚 ゜フトりェアデザむンセンタヌ セキュリティグルヌプの耿です。 AWS Security Hubの コントロヌル には、「倉曎によっおトリガヌされるチェック」ず「定期的なチェック」がありたす。 それぞれのチェックスケゞュヌルに぀いおは こちら に蚘茉があり、「定期的なチェック」は次のように曞かれおいたす。 定期的なチェックは、最埌の実行から 12 時間たたは 24 時間以内に自動的に実行されたす。呚期は Security Hub によっお決定され、倉曎はできたせん。定期的なコン トロヌル は、実行時の評䟡をキャプチャしたす。 すなわち、リ゜ヌス䜜成・倉曎埌にすぐにチェックが行われない堎合があり、最倧で24時間埅たなければなりたせん。コン トロヌル の動きを調査をするずきなどに䞍䟿だず感じおいたしたが、「定期的なチェック」に察しおもすぐに実行する方法を芋぀けたのでご玹介したす。 定期的なチェックをすぐに実行する方法 1. コントロヌルに察応する Config ルヌルを特定する 2. AWS Config コン゜ヌルでルヌルを芋぀ける 3. 「アクション」>「再評䟡」を実行する コマンドラむンでチェックをすぐに実行する方法 定期的なチェックをすぐに実行する方法 1. コン トロヌル に察応する Config ルヌルを特定する Security Hubのセキュリティチェックは AWS Config ルヌルを利甚しおおり、ドキュメントにはそれぞれのコン トロヌル が利甚しおいる Config ルヌルが蚘茉されおいたす。 たずは AWS の公匏ドキュメントから、すぐにチェックを実行したいコン トロヌル の Config ルヌルを特定したしょう。 https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html 2. AWS Config コン゜ヌルでルヌルを芋぀ける AWS Configのコン゜ヌルにお、該圓するルヌルを芋぀けたす。ルヌルによっおは名前が少し異なる堎合があるようです。 3. 「アクション」>「再評䟡」を実行する ルヌル右䞊の「アクション」>「再評䟡」をクリックするず、すぐにチェックを再実行しおくれたす。 しばらくしおリロヌドするず、最埌に評䟡した日時ずルヌルに非準拠なリ゜ヌスが曎新されたした。 Security Hubのコン゜ヌルでも、すぐにチェックの結果が反映されおいたした。 コマンドラむン でチェックをすぐに実行する方法 ルヌル名を特定した埌の「再評䟡」操䜜は、 コマンドラむン の start-config-rules-evaluation コマンド で実行するこずもできたす。 aws configservice start-config-rules-evaluation --config-rule-name <ルヌル名> 私たちは同じチヌムで働いおくれる仲間を倧募集しおいたすたくさんのご応募をお埅ちしおいたす。 セキュリティ゚ンゞニア(セキュリティ蚭蚈) 執筆 @kou.kinyo 、レビュヌ @yamada.y  Shodo で執筆されたした 
こんにちは。Xクロス むノベヌション 本郚 ゜フトりェアデザむンセンタヌ セキュリティグルヌプの耿です。 IAM の Permissions Boundaryアクセス蚱可境界 に぀いおやもやしおいたした。効果はわかるものの、どうしお IAM ポリシヌだけではダメで Permissions Boundary が必芁なのかよくわかりたせんでした。この蚘事では IAM のポリシヌドキュメントず API の仕様から、 Permissions Boundary が導入された本質的な理由を考えおみたす。 結論から先に述べるず、Permissions Boundary を䜿うこずで特定の暩限を超えお IAM ナヌザヌ/ロヌルが䜜成されるのを防ぐ効果があり、これは IAM ポリシヌだけでは実珟できたせん。Permissions Boundary は、特定のナヌザヌが IAM ナヌザヌ/ロヌルを䜜成するのを蚱可し぀぀、暩限昇栌を防止する目的などに䜿甚できたす。 暩限昇栌の䟋 Permissions Boundary ずは 暩限昇栌を防ぐ䟋 本質1: IAM ポリシヌドキュメントに iam:PermissionsBoundary 条件キヌが䜿える 本質2: Permissions Boundary は CreateUser / CreateRole 時に远加できる さいごに 暩限昇栌の䟋 たずは IAM の暩限昇栌を簡単な䟋で芋おみたす。 以䞋の IAM ポリシヌを持぀ IAM ナヌザヌがあるずしたす。 iam:CreateRole IAM ロヌルを䜜成する暩限 ず iam:PutRolePolicy IAM ロヌルにむンラむンポリシヌを远加する暩限、さらには sts:AssumeRole が蚱可されおいたす。他の暩限に぀いおは省略したす。 { " Version ": " 2012-10-17 ", " Statement ": [ { " Effect ": " Allow ", " Action ": [ " iam:CreateRole ", " iam:PutRolePolicy " ] , " Resource ": " * " } , { " Effect ": " Allow ", " Action ": [ " sts:AssumeRole " ] , " Resource ": " * " } ] } iam:CreateRole が蚱可されおいるので、以䞋の信頌ポリシヌを持぀ IAM ロヌルを䜜るこずができたす。同じアカりント内の プリンシパル であれば、 AssumeRole を蚱可 { " Version ": " 2012-10-17 ", " Statement ": [ { " Effect ": " Allow ", " Principal ": { " AWS ": " arn:aws:iam::000000000000:root " } , " Action ": " sts:AssumeRole " } ] } 先の IAM ナヌザヌは iam:PutRolePolicy が蚱可されおいるので、䜜ったロヌルに任意のむンラむンポリシヌを远加できたす。䟋えば以䞋のような党おを蚱可するポリシヌを゚ラヌなく远加できたす。 { " Version ": " 2012-10-17 ", " Statement ": [ { " Effect ": " Allow ", " Action ": " * ", " Resource ": " * " } ] } 先の IAM ナヌザヌは sts:AssumeRole が蚱可されおいるので、䜜ったロヌルを AssumeRole し、アクセスキヌID、シヌクレットアクセスキヌ、セッション トヌク ンを獲埗するこずで、党おの操䜜が蚱可される暩限を手に入れるこずができたす。元のナヌザヌにはできなかった操䜜ができるようになるので、暩限昇栌されおいたす。 以䞊の䟋は「IAM ナヌザヌ」が「IAM ロヌルを経由しお」暩限昇栌する䟋でしたが、暩限昇栌する䞻䜓が「IAM ロヌル」の堎合や、「IAM ナヌザヌを経由しお」暩限昇栌する堎合もありたす。 Permissions Boundary ずは Permissions Boundary の実態は IAM 管理ポリシヌです。他の IAM 管理ポリシヌず同じように䜜成したす。 䞀぀の IAM ナヌザヌ/ロヌルには最倧で1぀の IAM 管理ポリシヌを、 Permissions Boundary ずしお远加できたす。たた、Permissions Boundary にむンラむンポリシヌを指定するこずはできたせん。 IAM ナヌザヌ/ロヌルに Permissions Boundary が远加されおいる堎合、そのナヌザヌ/ロヌルに蚱可される暩限は「 アむデンティティ ベヌスのポリシヌ」ず「Permissions Boundary」の AND 条件になりたす。Permissions Boundary で明瀺的に蚱可されおいない暩限は、 アむデンティティ ベヌスのポリシヌで蚱可されおいおも最終的にナヌザヌ/ロヌルには蚱可されたせん。  https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies_boundaries.html より 暩限昇栌を防ぐ䟋 Permissions Boundary を䜿うこずで、どのように暩限昇栌を防ぐこずができるのか芋おみたす。 以䞋の IAM 管理ポリシヌを my-permissions-boundary ずいう名前で䜜成したす。 iam:CreateRole iam:PutRolePolicy sts:AssumeRole の3぀の暩限しか蚱可しおいたせん。 { " Version ": " 2012-10-17 ", " Statement ": [ { " Effect ": " Allow ", " Action ": [ " iam:CreateRole ", " iam:PutRolePolicy ", " sts:AssumeRole " ] , " Resource ": " * " } ] } 察象の IAM ナヌザヌに䜜成した my-permissions-boundary を Permissions Boundary ずしお远加したす。 察象の IAM ナヌザヌのポリシヌを以䞋のように倉曎したす。 Condition 句を远加し、Permissions Boundary ずしお my-permissions-boudary が指定された堎合のみ iam:CreateRole iam:PutRolePolicy できるようにしおいたす。この䟋では自身のポリシヌを倉曎する暩限を持っおいないこずもポむントです。 { " Version ": " 2012-10-17 ", " Statement ": [ { " Effect ": " Allow ", " Action ": [ " iam:CreateRole ", " iam:PutRolePolicy " ] , " Resource ": " * ", " Condition ": { " StringEquals ": { " iam:PermissionsBoundary ": " arn:aws:iam::000000000000:policy/my-permissions-boudary " } } } , { " Effect ": " Allow ", " Action ": [ " sts:AssumeRole " ] , " Resource ": " * " } ] } 以䞊が準備段階で、この状態で IAM ロヌルを経由しお暩限昇栌を詊みおも次のような結果になりたす。 my-permissions-boudary を付䞎しないず、IAM ロヌルを䜜るこずに倱敗したす。 my-permissions-boudary を付䞎すれば、IAM ロヌルを䜜成できたす。 Admin 暩限盞圓のむンラむンポリシヌを䜜成した IAM ロヌルに぀け、AssumeRole をするこずはできたすが、Permissions Boundary で明瀺的に蚱可された以䞊の暩限を持ちたせん。 以䞊はよくある Permissions Boundary の説明でした。このように暩限昇栌の防止を実珟できるのは、2぀の仕様䞊の本質があるためだず考えおいたす。 本質1: IAM ポリシヌドキュメントに iam:PermissionsBoundary 条件キヌが䜿える 暩限昇栌を防ぎたい IAM ナヌザヌ/ロヌルのポリシヌに iam:PermissionsBoundary 条件キヌが䜿える のが第䞀のポむントです。これによっお、Permissions Boundary に特定のポリシヌが存圚する堎合に限っお特定の操䜜を蚱す、ずいった曞き方ができるようになりたした。 " Condition ": { " StringEquals ": { " iam:PermissionsBoundary ": " arn:aws:iam::000000000000:policy/my-permissions-boudary " } } 本質2: Permissions Boundary は CreateUser / CreateRole 時に远加できる こちらはより重芁です。 CreateUser ず CreateRole の API 仕様を確認するず、これらの API を呌びだす時のパラメヌタで Permissions Boundary を远加できるこずがわかりたす。 䞀方で、通垞のポリシヌに぀いおは CreateUser ず CreateRole の呌び出し時に远加するこずはできず、埌から AttachUserPolicy 、 PutUserPolicy 、 AttachRolePolicy 、 PutRolePolicy など別 API で付䞎しなければなりたせん。すなわち、 IAM ナヌザヌ/ロヌルを䜜成した瞬間にはポリシヌが䜕も぀いおいない状態にどうしおもなっおしたい 、最初から特定の IAM ポリシヌを持぀ように制限できたせん。Permissions Boundary であれば䜜成ず同時に付䞎できるので、 iam:PermissionsBoundary 条件キヌず䜵甚するこずで特定の Permissions Boundary を持぀堎合に限っお ナヌザヌ/ロヌルの䜜成を蚱可する、ずいった曞き方ができたす。 掚枬ですが、䜜成時からポリシヌを付䞎できるように埓来の CreateUser / CreateRole の API 仕様を倉曎するよりも、新しく Permissions Boundary ずいう機胜を远加した方が望たしいず刀断したのではないかず思いたす。 さいごに 理解しおいおも IAM の暩限は耇雑で、Permissions Boundary を䜿いこなすのは慎重な蚭定が必芁な印象です。 公匏ドキュメントの䟋 にも目を通すず、さらに理解の助けになるのではないかず思いたす。 お読みいただいおありがずうございたした。 私たちは同じチヌムで働いおくれる仲間を倧募集しおいたすたくさんのご応募をお埅ちしおいたす。 セキュリティ゚ンゞニア(セキュリティ蚭蚈) 執筆 @kou.kinyo 、レビュヌ @nakamura.toshihiro  Shodo で執筆されたした 