AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3656ä»¶

AWS Security Hub は、Amazon Web Services (AWS) アカりント党䜓のセキュリティアラヌトずコンプラむアンスステヌタスを衚瀺し、集蚈するための䞭心的な堎所ずなっおいたす。6 月 17 日、盞関関係、コンテキスト化、可芖化機胜が远加された新しい AWS Security Hub のプレビュヌリリヌスを発衚したす。これにより、重倧なセキュリティ問題の優先順䜍付け、倧芏暡な察応によるリスクの軜枛、チヌムの生産性の向䞊、クラりド環境の保護匷化ができるようになりたす。 新しい AWS Security Hub を簡単に玹介したす。 この新しい機胜匷化により、AWS Security Hub は Amazon GuardDuty 、 Amazon Inspector 、 AWS Security Hub クラりドセキュリティ䜓制管理 (CSPM) 、 Amazon Macie 、その他の AWS セキュリティ機胜を統合し、統合クラりドセキュリティ゜リュヌションでの䞀元管理を通じおクラりド環境党䜓を可芖化できるようにしたす。 新しい AWS Security Hub の䜿甚を開始する AWS Security Hub の䜿甚を開始する方法を順を远っお説明したす。 AWS Security Hub を初めおご利甚になる堎合は、AWS Security Hub コン゜ヌルに移動しお AWS のセキュリティ機胜ず諞機胜を有効にし、組織党䜓のリスク評䟡を開始する必芁がありたす。 ドキュメントのペヌゞ をご芧ください。 AWS Security Hub を有効にするず、Amazon GuardDuty、Amazon Inspector、Amazon Macie、AWS Security Hub CSPM など、有効にしたサポヌトセキュリティ機胜のデヌタが自動的に䜿甚されたす。AWS Security Hub コン゜ヌルに移動しおこれらの怜出結果を確認し、これらの機胜にわたる怜出結果の盞関関係から埗られるむンサむトを掻甚できたす。 セキュリティリスクが発芋されるず、再蚭蚈された Security Hub 抂芁ダッシュボヌドに衚瀺されたす。新しい Security Hub 抂芁ダッシュボヌドでは、AWS のセキュリティ䜓制を包括的か぀統䞀的に把握できたす。ダッシュボヌドでは、セキュリティの怜出結果が明確なカテゎリに敎理されるため、リスクの特定ず優先順䜍付けが容易になりたす。 新しい ゚クスポヌゞャヌサマリヌ りィゞェットは、Amazon Inspector、AWS Security Hub CSPM、Amazon Macie からのリ゜ヌス関係ずシグナルを分析するこずで、゚クスポヌゞャヌ (セキュリティの脆匱性) を特定しお優先順䜍を付けるのに圹立ちたす。これらのリスク怜出結果は自動的に生成され、新しい゜リュヌションの重芁な郚分ずなり、重芁な゚クスポヌゞャヌがどこにあるかが明らかになりたす。゚クスポヌゞャヌに぀いおの詳现は、 ドキュメントのペヌゞをご芧ください 。 AWS Security Hub には、朜圚的なカバレッゞギャップを特定するのに圹立぀ セキュリティカバレッゞ りィゞェットが提䟛されるようになりたした。このりィゞェットを䜿甚するず、Security Hub のセキュリティ機胜でカバヌされおいない箇所を特定できたす。この可芖性により、セキュリティカバレッゞを向䞊させるために必芁な機胜、アカりント、機胜を特定できたす。 ナビゲヌションメニュヌでわかるように、AWS Security Hub はセキュリティ管理を効率化するために 5 ぀の䞻芁領域に分かれおいたす。 ゚クスポヌゞャヌ : Security Hub によっお発生した、AWS リ゜ヌスやシステムを䞍正アクセスや䟵害にさらす可胜性のある、セキュリティ䞊の脆匱性や蚭定ミスなど、すべおの゚クスポヌゞャヌ怜出結果が可芖化され、環境倖からアクセスできる可胜性のあるリ゜ヌスを特定しやすくなりたす 脅嚁 : Amazon GuardDuty によっお生成されたすべおの脅嚁怜出結果を統合し、朜圚的な悪質なアクティビティや䟵入の詊みを衚瀺したす 脆匱性 : Amazon Inspector によっお怜出されたすべおの脆匱性が衚瀺され、゜フトりェアの欠陥ず蚭定の問題が匷調衚瀺されたす 䜓制管理 : AWS Security Hub クラりドセキュリティ䜓制管理 (CSPM) から埗られたすべおの䜓制管理怜出結果を衚瀺し、セキュリティのベストプラクティスに準拠できるようにしたす 機密デヌタ : Amazon Macie が特定したすべおの機密デヌタ怜出結果を衚瀺し、機密情報の远跡ず保護に圹立ちたす ゚クスポヌゞャヌ ペヌゞに移動するず、タむトル別にグルヌプ化された怜出結果が衚瀺され、重倧床レベルが明確に瀺されるため、最初に重倧な問題に集䞭できたす。 特定の゚クスポヌゞャヌを調べるには、任意の怜出結果を遞択するず、圱響を受けたリ゜ヌスが確認できたす。パネルには、関係するリ゜ヌス、アカりント、リヌゞョン、および問題が怜出された日時に関する重芁な情報が衚瀺されたす。 このパネルには、耇雑なセキュリティ関係を理解するのに特に圹立぀攻撃パスも可芖化されお衚瀺されたす。ネットワヌク゚クスポヌゞャヌパスに぀いおは、仮想プラむベヌトクラりド (VPC)、サブネット、セキュリティグルヌプ、ネットワヌクアクセスコントロヌルリスト (ACL)、ロヌドバランサヌなど、パスに含たれるすべおのコンポヌネントを確認できるため、セキュリティコントロヌルを実装する堎所を正確に特定するのに圹立ちたす。たた、この可芖化では Identity and Access Management (IAM) の関係も匷調衚瀺され、アクセス蚱可の蚭定によっお暩限昇栌やデヌタアクセスがどのように可胜になるかがわかりたす。耇数の特性を持぀リ゜ヌスには明確なマヌクが付けられおいるため、どのコンポヌネントが最もリスクが高いかをすばやく特定できたす。 脅嚁ダッシュボヌド には、Amazon GuardDuty によっお怜出された朜圚的な悪意のあるアクティビティに関する実甚的なむンサむトが衚瀺され、怜出結果が重倧床別に敎理されるため、異垞な API コヌル、疑わしいネットワヌクトラフィック、朜圚的な認蚌情報の䟵害などの重倧な問題をすばやく特定できたす。ダッシュボヌドには、 GuardDuty 拡匵脅嚁怜出 の怜出結果が衚瀺され、すべおの「重倧」な重倧床の脅嚁は、早急な察応を必芁ずするこれらの拡匵脅嚁怜出を衚したす。 同様に、Amazon Inspector の 脆匱性ダッシュボヌド では、゜フトりェアの脆匱性ずネットワヌク露出リスクを包括的に把握できたす。ダッシュボヌドには、悪甚が刀明しおいる脆匱性、緊急の曎新が必芁なパッケヌゞ、脆匱性の数が最も倚いリ゜ヌスが衚瀺されたす。 もう 1 ぀の貎重な新機胜は、AWS Security Hub の察象ずなる組織内にデプロむされたすべおのリ゜ヌスのむンベントリを提䟛する リ゜ヌスビュヌ です。このビュヌを䜿甚するず、どのリ゜ヌスに䞍利な怜出結果があるかをすばやく特定し、リ゜ヌスタむプたたは怜出結果の重倧床でフィルタリングできたす。任意のリ゜ヌスを遞択するず、他のコン゜ヌルに切り替えなくおも詳现な蚭定情報が埗られるため、調査ワヌクフロヌが効率化されたす。 新しいセキュリティハブには、クラりド環境を包括的に監芖し、サヌドパヌティのセキュリティ゜リュヌションに接続するのに圹立぀統合機胜も甚意されおいたす。これにより、組織固有のニヌズに合わせた統合セキュリティ゜リュヌションを柔軟に䜜成できたす。 䟋えば、統合機胜を䜿甚するず、セキュリティ怜出結果を衚瀺するずきに、「 チケットの䜜成 」オプションを遞択しお、垌望するチケット統合を遞択できたす。 その他の情報 いく぀かの留意点を次に瀺したす: 利甚可胜なリヌゞョン – このプレビュヌ期間䞭、新しい AWS Security Hub は、次の AWS リヌゞョンでご利甚いただけたす。米囜東郚 (バヌゞニア北郚、オハむオ)、米囜西郚 (北カリフォルニア、オレゎン)、アフリカ (ケヌプタりン)、アゞアパシフィック (銙枯、ゞャカルタ、ムンバむ、倧阪、゜りル、シンガポヌル、シドニヌ、東京)、カナダ (䞭郚)、欧州 (フランクフルト、アむルランド、ロンドン、ミラノ、パリ、ストックホルム)、䞭東 (バヌレヌン)、南米 (サンパりロ) 。 䟡栌 — 新しい AWS Security Hub は、プレビュヌ期間䞭は远加料金なしでご利甚いただけたす。ただし、Amazon GuardDuty、Amazon Inspector、Amazon Macie、AWS Security Hub CSPM などの統合機胜のコストは匕き続き発生したす。 既存の AWS セキュリティ機胜ずの統合 — Security Hub は Amazon GuardDuty、Amazon Inspector、AWS Security Hub CSPM、および Amazon Macie ず統合されおいるため、運甚䞊のオヌバヌヘッドを増やすこずなく包括的なセキュリティ䜓制を実珟できたす。 デヌタ盞互運甚性の匷化 — 新しい Security Hub は オヌプンサむバヌセキュリティスキヌマフレヌムワヌク (OCSF) を䜿甚しおおり、暙準化されたデヌタ圢匏でセキュリティ機胜党䜓でシヌムレスなデヌタ亀換を可胜にしたす。 匷化された AWS Security Hub の詳现ずプレビュヌぞの参加に぀いおは、 AWS Security Hub 補品ペヌゞをご芧ください。 構築がうたくいきたすように。 –  Donnie 原文は こちら です。
マルチチャネル文字起こしストリヌミングは、 Amazon Transcribe の機胜の䞀぀で、倚くの堎合りェブブラりザで利甚できたす。このストリヌム゜ヌスの䜜成にはいく぀かの制玄がありたすが、 JavaScript Web Audio API を䜿甚するず、動画、音声ファむル、マむクなどのハヌドりェアなど、さたざたなオヌディオ゜ヌスを接続しお組み合わせ、文字起こしを䜜成できたす。 この蚘事では、2 ぀のマむクをオヌディオ゜ヌスずしお䜿甚し、それらを 1 ぀のデュアルチャネルオヌディオに結合し、必芁な゚ンコヌドを実行しお Amazon Transcribe にストリヌミングする方法を説明したす。ブラりザに 2 ぀のマむクを接続する際に必芁ずする Vue.js アプリケヌションの゜ヌスコヌドも提䟛されおいたす。ただし、このアプロヌチの汎甚性はこのナヌスケヌスにずどたらず、さたざたなデバむスやオヌディオ゜ヌスに察応するように調敎できたす。 このアプロヌチでは、1 回の Amazon Transcribe セッションで 2 ぀の゜ヌスの文字起こしを取埗できるため、゜ヌスごずに個別のセッションを䜿甚する堎合ず比范しお、コスト削枛などのメリットが埗られたす。 2぀のマむクを䜿甚する際の課題 今回のナヌスケヌスでは、2 ぀のマむクでシングルチャネルのストリヌムを䜿甚し、 Amazon Transcribe のスピヌカヌラベル識別機胜 を有効にしおスピヌカヌを識別すれば十分かもしれたせんが、いく぀か考慮すべき点がありたす。 スピヌカヌラベルはセッション開始時にランダムに割り圓おられるため、ストリヌム開始埌にアプリケヌションで結果をマッピングする必芁がありたす。 䌌たような声色を持぀スピヌカヌが誀っおラベル付けされる可胜性があり、人間でさえ区別が困難です。 2 人のスピヌカヌが 1 ぀のオヌディオ゜ヌスで同時に話すず、音声が重なり合う可胜性がありたす。 マむクで 2 ぀のオヌディオ゜ヌスを䜿甚し、各トランスクリプトが固定の入力゜ヌスから取埗するこずで、これらの懞念に察凊できたす。スピヌカヌにデバむスを割り圓おるこずで、アプリケヌションはどのトランスクリプトを䜿甚するかを事前に認識できたす。ただし、近くにある 2 ぀のマむクが耇数の音声を拟っおいる堎合、音声が重なり合う可胜性がありたす。これは、指向性マむク、音量管理、Amazon Transcribe の単語レベルの 信頌床スコア を䜿甚するこずで軜枛できたす。 ゜リュヌションの抂芁 次の図は゜リュヌションのワヌクフロヌを瀺しおいたす。 2぀のマむクのアプリケヌション図 Web Audio API では、2぀のオヌディオ入力を䜿甚したす。この API を䜿うず、マむク A ずマむク B の2぀の入力を1぀のオヌディオデヌタ゜ヌスに統合できたす。巊チャンネルがマむク A、右チャンネルがマむク B を衚したす。 次に、このオヌディオ゜ヌスを PCM (パルス笊号倉調) オヌディオに倉換したす。PCM はオヌディオ凊理で䞀般的なフォヌマットであり、Amazon Transcribe がオヌディオ入力に必芁ずするフォヌマットの1぀です。最埌に、PCM オヌディオを Amazon Transcribe にストリヌミングしお文字起こしを行いたす。 前提条件 以䞋の環境を事前に甚意するこずが必芁です。 GitHub リポゞトリ からの゜ヌスコヌド。 Bun たたは  Node.js が JavaScript ランタむムずしおむンストヌルされおいるこず。 Web Audio API ず互換性のあるりェブブラりザ。この゜リュヌションは、Google Chrome バヌゞョン 135.0.7049.85 で動䜜するこずがテストされおいたす。 2 ぀のマむクがコンピュヌタに接続され、ブラりザからこれらのマむクに アクセスできるこず 。 Amazon Transcribe の暩限を持぀ AWS アカりント。䟋ずしお、Amazon Transcribe には次の AWS Identity and Access Management ポリシヌを䜿甚できたす。 { "Version": "2012-10-17", "Statement": [ { "Sid": "DemoWebAudioAmazonTranscribe", "Effect": "Allow", "Action": "transcribe:StartStreamTranscriptionWebSocket", "Resource": "*" } ] } アプリケヌションを起動する アプリケヌションを起動するには、以䞋の手順を実行しおください。 コヌドをダりンロヌドしたルヌトディレクトリに移動したす。 env.sample ファむルから AWS アクセスキヌを蚭定するための .env ファむルを䜜成したす。 パッケヌゞをむンストヌルし、 bun install を実行したすNode.js を䜿甚しおいる堎合は node install を実行したす。 Web サヌバヌを起動し、 bun dev を実行したすNode.js を䜿甚しおいる堎合は node dev を実行したす。 ブラりザで http://localhost:5173/ を開きたす。. 2぀のマむクを接続しお http://localhost:5173 で実行されおいるアプリケヌション コヌドの説明 このセクションでは、実装のための重芁なコヌド郚分を解説したす。 最初のステップは、ブラりザ API navigator.mediaDevices.enumerateDevices() を䜿甚しお、接続されおいるマむクの䞀芧を取埗するこずです。 const devices = await navigator.mediaDevices.enumerateDevices(); return devices.filter((d) => d.kind === 'audioinput'); 次に、接続されおいるマむクごずにMediaStreamオブゞェクトを取埗する必芁がありたす。これは、ナヌザヌのメディアデバむスカメラやマむクなどぞのアクセスを可胜にする navigator.mediaDevices.getUserMedia() APIを䜿甚しお実行できたす。その埌、これらのデバむスからの音声たたは動画デヌタを衚すMediaStreamオブゞェクトを取埗できたす。 const streams = [] const stream = await navigator.mediaDevices.getUserMedia({ audio: { deviceId: device.deviceId, echoCancellation: true, noiseSuppression: true, autoGainControl: true, }, }) if (stream) streams.push(stream) 耇数のマむクからの音声を結合するには、音声凊理甚の AudioContextむンタヌフェヌス を䜜成する必芁がありたす。この AudioContext 内で、 ChannelMergerNode を䜿甚しお、異なるマむクからの音声ストリヌムを結合できたす。 connect(destination, src_idx, ch_idx) メ゜ッドの匕数は次のずおりです。 destination – 出力先。この䟋では mergerNode です。 src_idx – ゜ヌスチャンネルのむンデックス。この䟋では䞡方ずも0です各マむクがシングルチャンネルの音声ストリヌムであるため。 ch_idx – 出力先のチャンネルむンデックス。この䟋ではそれぞれ0ず1で、ステレオ出力を䜜成したす。 // audioContextのむンスタンス const audioContext = new AudioContext({ sampleRate: SAMPLE_RATE, }) // マむクのストリヌムデヌタを凊理するために䜿甚 const audioWorkletNode = new AudioWorkletNode(audioContext, 'recording-processor', {...}) // microphone A const audioSourceA = audioContext.createMediaStreamSource(mediaStreams[0]); // microphone B const audioSourceB = audioContext.createMediaStreamSource(mediaStreams[1]); // 2぀の入力甚のオヌディオノヌド const mergerNode = audioContext.createChannelMerger(2); // オヌディオ ゜ヌスを mergerNode の宛先に接続。 audioSourceA.connect(mergerNode, 0, 0); audioSourceB.connect(mergerNode, 0, 1); // mergerNodeをAudioWorkletNodeに接続 merger.connect(audioWorkletNode); そのマむクデヌタは AudioWorklet tで凊理され、指定された録音フレヌム数ごずにデヌタメッセヌゞが送信されたす。これらのメッセヌゞには、Amazon Transcribeに送信するPCM圢匏で゚ンコヌドされた音声デヌタが含たれたす。 p-event ラむブラリを䜿甚するず、Workletからのむベントを非同期的に反埩凊理できたす。このWorkletの詳现に぀いおは、この蚘事の次のセクションで説明したす。 import { pEventIterator } from 'p-event' ... // ワヌクレットを登録する try { await audioContext.audioWorklet.addModule('./worklets/recording-processor.js') } catch (e) { console.error('Failed to load audio worklet') } // 非同期むテレヌタ const audioDataIterator = pEventIterator<'message', MessageEvent<AudioWorkletMessageDataType>>( audioWorkletNode.port, 'message', ) ... // AsyncIterableIterator: ワヌクレットが `SHARE_RECORDING_BUFFER` メッセヌゞを含むむベントを発行するたびに、このむテレヌタは必芁な AudioEvent オブゞェクトを返す。 const getAudioStream = async function* ( audioDataIterator: AsyncIterableIterator<MessageEvent<AudioWorkletMessageDataType>>, ) { for await (const chunk of audioDataIterator) { if (chunk.data.message === 'SHARE_RECORDING_BUFFER') { const { audioData } = chunk.data yield { AudioEvent: { AudioChunk: audioData, }, } } } } Amazon Transcribeぞのデヌタのストリヌミングを開始するには、䜜成したむテレヌタを䜿甚し、 NumberOfChannels: 2 ず EnableChannelIdentification: true を有効にしおデュアルチャネルの文字起こしを有効にしたす。詳现に぀いおは、 AWS SDK StartStreamTranscriptionCommand のドキュメントをご芧ください。 import { LanguageCode, MediaEncoding, StartStreamTranscriptionCommand, } from '@aws-sdk/client-transcribe-streaming' const command = new StartStreamTranscriptionCommand({ LanguageCode: LanguageCode.EN_US, MediaEncoding: MediaEncoding.PCM, MediaSampleRateHertz: SAMPLE_RATE, NumberOfChannels: 2, EnableChannelIdentification: true, ShowSpeakerLabel: true, AudioStream: getAudioStream(audioIterator), }) リク゚ストを送信するず、オヌディオストリヌムデヌタず Amazon Transcribe の結果を亀換するための WebSocket 接続が䜜成されたす。 const data = await client.send(command) for await (const event of data.TranscriptResultStream) { for (const result of event.TranscriptEvent.Transcript.Results || []) { callback({ ...result }) } } result オブゞェクトには、 ch_0 や ch_1 など、マむクの゜ヌスを識別するために䜿甚できる ChannelId プロパティが含たれたす。 詳现: オヌディオワヌクレット オヌディオワヌクレットは別スレッドで実行するこずで、非垞に䜎レむテンシなオヌディオ凊理を実珟したす。実装ずデモの゜ヌスコヌドは、 public/worklets/recording-processor.js ファむルにありたす。 今回のケヌスでは、このワヌクレットを䜿甚しお䞻に2぀のタスクを実行したす。 mergerNode のオヌディオを反埩凊理したす。このノヌドは䞡方のオヌディオチャンネルを含み、ワヌクレットぞの入力ずなりたす。 mergerNode ノヌドのデヌタバむトを PCM 笊号付き 16 ビット リトル゚ンディアン オヌディオ圢匏に゚ンコヌドしたす。この凊理は、反埩凊理ごずに、たたはアプリケヌションにメッセヌゞペむロヌドを送信する必芁があるずきに行いたす。 これを実装するための䞀般的なコヌド構造は次のずおりです。 class RecordingProcessor extends AudioWorkletProcessor { constructor(options) { super() } process(inputs, outputs) {...} } registerProcessor('recording-processor', RecordingProcessor) このWorkletむンスタンスには、 processorOptions 属性を䜿甚しおカスタムオプションを枡すこずができたす。デモでは、新しいメッセヌゞペむロヌドを送信するタむミングを決定するためのビットレヌトガむドずしお、 maxFrameCount: (SAMPLE_RATE * 4) / 10 を蚭定しおいたす。メッセヌゞの䟋は以䞋のずおりです。 this.port.postMessage({ message: 'SHARE_RECORDING_BUFFER', buffer: this._recordingBuffer, recordingLength: this.recordedFrames, audioData: new Uint8Array(pcmEncodeArray(this._recordingBuffer)), // PCM encoded audio format }) 2チャンネルのPCM゚ンコヌド 最も重芁なセクションの䞀぀は、2チャンネルのPCM゚ンコヌド方法です。 Amazon Transcribe APIリファレンス のAWSドキュメントによるず、AudioChunkは Duration (s) * Sample Rate (Hz) * Number of Channels * 2 で定矩されたす。2チャンネルの堎合、16000Hzで1秒は、1 * 16000 * 2 * 2 = 64000 bytesです。゚ンコヌド関数は以䞋のようになりたす。 // 入力は配列であり、各芁玠は AudioWorkletProcessor からの -1.0  1.0 の Float32 倀を持぀チャネルであるこずに泚意しおください。 const pcmEncodeArray = (input: Float32Array[]) => { const numChannels = input.length const numSamples = input[0].length const bufferLength = numChannels * numSamples * 2 // 2 bytes per sample per channel const buffer = new ArrayBuffer(bufferLength) const view = new DataView(buffer) let index = 0 for (let i = 0; i < numSamples; i++) { // 各チャンネルごずに゚ンコヌド for (let channel = 0; channel < numChannels; channel++) { const s = Math.max(-1, Math.min(1, input[channel][i])) // 32 ビット浮動小数点数を 16bit PCM オヌディオ波圢サンプルに倉換したす。 // 最倧倀: 32767 (0x7FFF)、最小倀: -32768 (-0x8000) view.setInt16(index, s < 0 ? s * 0x8000 : s * 0x7fff, true) index += 2 } } return buffer } オヌディオデヌタブロックの凊理方法の詳现に぀いおは、 AudioWorkletProcessor: process() ゜ッドを参照しおください。PCM圢匏の゚ンコヌドの詳现に぀いおは、 Multimedia Programming Interface and Data Specifications 1.0 を参照しおください。 結論 この蚘事では、ブラりザの Web Audio API ず Amazon Transcribe ストリヌミングを䜿甚しお、リアルタむムのデュアルチャネル文字起こしを実珟するりェブアプリケヌションの実装の詳现に぀いお説明したした。 AudioContext 、 ChannelMergerNode 、 AudioWorklet を組み合わせるこずで、2 ぀のマむクからの音声デヌタをシヌムレスに凊理および゚ンコヌドし、Amazon Transcribe に送信しお文字起こしを行うこずができたした。特に AudioWorklet を䜿甚するこずで、䜎レむテンシヌの音声凊理を実珟し、スムヌズで応答性の高いナヌザヌ゚クスペリ゚ンスを提䟛できたした。 このデモを基に、䌚議の録音から音声制埡むンタヌフェヌスたで、幅広いナヌスケヌスに察応する、より高床なリアルタむム文字起こしアプリケヌションを䜜成できたす。 ぜひこの゜リュヌションをお詊しいただき、コメント欄にフィヌドバックをお寄せください。 原文は こちら です。 About the Author Jorge Lanzarotti  is a Sr. Prototyping SA at Amazon Web Services (AWS) based on Tokyo, Japan. He helps customers in the public sector by creating innovative solutions to challenging problems.
6 月 17 日、 AWS Backup 論理゚アギャップボヌルト ず マルチパヌティ承認 を統合する新機胜の䞀般提䟛に぀いおお知らせしたす。これにより、䞍泚意たたは悪意のあるむベントにより AWS アカりントにアクセスできなくなった堎合でもバックアップにアクセスできるようになりたす。AWS Backup は、AWS のサヌビスずハむブリッドワヌクロヌドのデヌタ保護を䞀元化および自動化するフルマネヌゞドサヌビスです。䞭栞ずなるデヌタ保護機胜、ランサムりェア埩旧機胜、デヌタ保護ポリシヌず運甚に関するコンプラむアンス情報ず分析を提䟛したす。 バックアップ管理者は、AWS Backup 論理゚アギャップボヌルトを䜿甚しお、アカりントや組織間でバックアップを安党に共有し、バックアップストレヌゞを論理的に分離し、ダむレクトリストアをサポヌトしお、䞍泚意たたは悪意のあるむベントが発生した堎合の埩旧時間を短瞮できたす。ただし、悪意のある攻撃者や意図しない攻撃者がバックアップアカりントたたは組織の管理アカりントぞのルヌトアクセスを取埗した堎合、論理゚アギャップボヌルトに安党に保存されおいるにもかかわらず、バックアップには突然アクセスできなくなりたす。埓来のアカりント埩旧はサポヌトチャネルを通じお行う必芁がありたしたが、マルチパヌティ承認を受けた AWS Backup では埩旧ツヌルにすぐにアクセスできるため、解決たでの時間を短瞮し、埩旧スケゞュヌルをより现かく管理できたす。 AWS Backup の論理゚アギャップボヌルトに察するマルチパヌティ承認により、AWS アカりントに完党にアクセスできなくなった堎合でもアプリケヌションデヌタを埩旧するための保護レむダヌが匷化されたす。マルチパヌティ承認を䜿甚するず、組織内の信頌できる個人で構成される承認チヌムを䜜成し、論理゚アギャップボヌルトに関連付けるこずができたす。䞍泚意たたは悪意のある行為によっお AWS アカりントからロックアりトされた堎合は、 AWS Organizations アカりント倖のアカりントも含め、どのアカりントからでもボヌルトの共有を蚱可するよう承認チヌムにリク゚ストできたす。承認されるず、バックアップぞのアクセスが蚱可され、埩旧プロセスを開始できたす。 仕組み AWS Backup の論理゚アギャップボヌルトのマルチパヌティ承認は、論理゚アギャップボヌルトのセキュリティずマルチパヌティ承認のガバナンスを組み合わせるこずで、AWS アカりントが䟵害された堎合でも機胜する埩旧メカニズムを構築したす。その仕組みは次のずおりです。 1.承認チヌムの䜜成 たず、AWS Organizations 管理アカりントで承認チヌムを䜜成したす。管理アカりントが新しい堎合は、承認チヌムを䜜成する前に、たず AWS Identity and Access Management (IAM) Identity Center むンスタンスを䜜成したす。承認チヌムは、ボヌルト共有リク゚ストを承認する暩限を持぀信頌できる個人 (IAM Identity Center ナヌザヌ) で構成されたす。各承認者は、新しい承認ポヌタルを通じお承認チヌムに参加するための招埅状を受け取りたす。 2.ボヌルトア゜シ゚ヌション 承認チヌムがアクティブになったら、 AWS Resource Access Manager (AWS RAM) を䜿甚しお論理゚アギャップボヌルトを所有するアカりントず承認チヌムを共有し、任意のアカりントからの承認リク゚ストから保護したす。その埌、バックアップ管理者は、この承認チヌムを新芏たたは既存の論理゚アギャップボヌルトに関連付けるこずができたす。 3.䟵害からの保護 AWS アカりントが乗っ取られたり、アクセスできなくなったりした堎合は、別のアカりント (クリヌンリカバリアカりント) からバックアップぞのアクセスをリク゚ストできたす。このリク゚ストには、 論理゚アギャップボヌルトの Amazon リ゜ヌスネヌム (ARN) が arn:aws:backup:<region>:<account>:backup-vault:<name> の圢匏で含たれ、オプションのボヌルト名ずコメントも含たれおいたす。 4.マルチパヌティ承認 リク゚ストは承認チヌムに送信され、承認チヌムは承認ポヌタルでリク゚ストをレビュヌしたす。必芁最小限数の承認者がリク゚ストを承認するず、ボヌルトはリク゚スト元のアカりントず自動的に共有されたす。すべおのリク゚ストず承認は AWS CloudTrail に包括的に蚘録されたす。 5.埩旧プロセス アクセスが蚱可されるず、䟵害されたアカりントが修埩されるのを埅たずに、新しいリカバリアカりントのデヌタの埩元たたはコピヌをすぐに開始できたす。 この方法では、AWS アカりントの認蚌情報ずは完党に独立した、バックアップにアクセスしお埩元するための完党に別の認蚌パスが提䟛されたす。攻撃者がお客様のアカりントぞのルヌトアクセス暩を持っおいたずしおも、承認チヌムによる埩旧プロセスを防ぐこずはできたせん。 1.論理゚アギャップボヌルトの新芏䜜成 新しい論理゚アギャップボヌルトを䜜成するには、 名前 、 タグ (オプション)、 ボヌルトロックプロパティ を指定したす。 2.承認チヌムの割り圓お ボヌルトが䜜成されたら、[ 承認チヌムの割り圓お ] を遞択しお既存の承認チヌムに割り圓おたす。 ドロップダりンメニュヌから既存の承認チヌムを遞択し、[ 送信 ] を遞択しお割り圓おを確定したす。 これで、承認チヌムが論理゚アギャップボヌルトに割り圓おられるようになりたした。 䟿利なヒント 実際に緊急事態が発生する前に、埩旧プロセスをテストするこずが䞍可欠です。 別の AWS アカりントから、AWS Backup コン゜ヌルたたは API を䜿甚しお、ボヌルト ID ず ARN を指定しお、論理゚アギャップボヌルトの共有をリク゚ストしたす。 承認チヌムにリク゚ストの承認を芁請したす。 承認されたら、テストアカりントのボヌルトからバックアップにアクセスしお埩元できるこずを確認したす。 ベストプラクティスずしお 、 AWS Backup Audit Manager を䜿甚しお承認チヌムの状態を定期的に監芖し、承認基準を満たす十分な数のアクティブな参加者がいるこずを確認したす。 クラりドガバナンスを匷化するためのマルチパヌティ承認 6 月 17 日、AWS アカりント管理者が補品にマルチパヌティ承認を远加するために䜿甚できる新機胜の䞀般提䟛に぀いおも発衚したす。この投皿で匷調しおいるように、AWS Backup はこの機胜を統合した最初のサヌビスです。マルチパヌティ承認により、管理者は分散型のレビュヌプロセスを䜿っお、アプリケヌション所有者が機密性の高いサヌビス業務を保護できるようするこずができたす。 䟿利なヒント マルチパヌティ承認には、いく぀かの重芁なセキュリティ䞊の利点がありたす。 分散型の意志決定により、単䞀障害点を排陀 AWS CloudTrail 統合による完党な監査可胜性 認蚌情報の挏掩に察する保護 コンプラむアンス重芖の業務のための正匏なガバナンス 統合サヌビス党䜓で䞀貫した承認゚クスペリ゚ンス 今すぐご利甚いただけたす マルチパヌティ承認は、珟圚 AWS Organizations が利甚可胜なすべおの AWS リヌゞョン でご利甚いただけたす。AWS Backup の論理゚アギャップボヌルトのマルチパヌティ承認は、 AWS Backup が利甚可胜なすべおの AWS リヌゞョンで利甚できたす。 – Veliswa 原文は こちら です。
AWS Amplify Hosting では、決められたむンスタンスを䜿甚しおりェブアプリケヌションを構築しおきたした。アプリケヌションが耇雑化し、䟝存関係管理、アセット最適化、包括的なテストに集䞭的なビルドプロセスが必芁ずされるようになるず、開発者は生産性ずデプロむ速床を維持するために、より匷力なビルド環境を必芁ずするようになりたす。 Amplify Hosting のビルド環境甚のむンスタンスをカスタマむズできるようになったこずを喜んでお知らせしたす。この曎新により、2 ぀の新しいむンスタンスサむズ (Large, XLarge) が远加され、メモリず CPU リ゜ヌスが増匷されたした。開発チヌムは、これで特定のニヌズに合わせお構築リ゜ヌスをスケヌリングできるようになりたした。これは特に、倧芏暡な䟝存関係ツリヌの凊理、倚数の静的アセットの凊理、TypeScript コンパむルやパラレルなテストフレヌムワヌクのような、メモリ集玄的な操䜜の実行時に有甚です。 今たでのビルド環境甚のむンスタンスの課題 倧芏暡なアプリケヌションを構築し、重たいワヌクロヌドを実行しおいるお客様は、 ビルド時間が長くなり、メモリ゚ラヌのため CI/CD が遅くなりビルド倱敗が発生する こずがありたす。開発チヌムが Amplify Hosting を導入する際、さたざたなワヌクロヌドに察応できるスケヌラブルなビルド環境を求めおいたす。ビルド時間の最適化は存圚したすが、8GiB メモリず 4 vCPU のむンスタンスサむズのコンテナ構成では、アプリケヌションの拡倧に限界がありたす。物理メモリに比べ、仮想メモリ (スワップスペヌス) の性胜ペナルティは非垞に倧きく、固定環境内でコンピュヌティング容量やストレヌゞを拡匵する効果的な手段はありたせん。これらのハヌドりェア䞊の制玄により、゜フトりェアの最適化だけでは根本的な障壁を乗り越えるこずはできたせん。 カスタマむズ可胜なビルドむンスタンスの玹介 Amplify Hosting の新しいカスタマむズ可胜なビルドむンスタンスにより、開発者はアプリケヌションのニヌズに最適なコンピュヌティングリ゜ヌスを遞択できるようになりたした。これにより、リ゜ヌスの制玄を排陀しお、予枬可胜なビルドパフォヌマンスを実珟できたす。Standard ビルドむンスタンスに加えお、Large ず XLarge のむンスタンスを導入したした。次の衚は、Amplify Hosting のすべおのビルドむンスタンスオファリングの仕様をたずめたものです。 ビルドむンスタンスの仕様 ビルド むンスタンス vCPU 数 メモリ ディスク領域 Standard 4 8 GiB 128 GB Large 8 16 GiB 128 GB XLarge 36 72 GiB 256 GB アプリ䜜成時たたは既存のアプリを埌から曎新する際に、アプリケヌションレベルでビルドむンスタンスを構成できたす。曎新された構成は、アプリのすべおのブランチに適甚され、ビルド間でアプリのビルドむンスタンスサむズを倉曎したす。ビルドをトリガヌしたずき、ブランチに関係なく、アプリのビルドでは、アプリレベルで構成したビルドむンスタンスサむズが䜿甚されたす。新しいアプリを䜜成したり、既存のアプリを曎新したりするずきに、ビルドむンスタンスサむズを構成できたす。 Amplifyコン゜ヌルを通じお新しいアプリのビルドむンスタンスサむズをカスタマむズするには アプリ蚭定ステップの間に、䞋にスクロヌルしお「 詳现蚭定 」をクリックしたす。ドロップダりンリストから、アプリに蚭定したいビルドむメヌゞを遞択したす。 図1 – 新しいアプリのビルドむンスタンスサむズの蚭定 既存のアプリのビルドむンスタンスサむズを Amplify コン゜ヌルから倉曎するには : アプリに移動し、 ホスティングタブ を開いおから、 ビルドの蚭定 を遞択したす。 詳现蚭定 たでスクロヌルダりンし、 線集 をクリックしたす。ドロップダりンから、アプリをアップデヌトしたい ビルドむメヌゞ を遞択しおください。 図2 – 既存アプリのビルドむンスタンスの倉曎 泚 : ビルドむンスタンスの割り圓お凊理には、ビルドが開始される前に远加のプロビゞョニング時間が必芁になる堎合がありたす。倧芏暡なむンスタンス、特に XLarge の堎合、このオヌバヌヘッドの時間によりビルド開始前に遅延が発生するこずがありたす。ただし、課金されるのはビルド時間のみで、オヌバヌヘッド時間は課金されたせん。 パフォヌマンステストの説明 次に、100 を超える静的ペヌゞを生成する Next.js アプリケヌションを䜿甚しお、より匷力なむンスタンスの䟡倀を実蚌したす。このアプリを Amplify Hosting にデプロむする手順をガむドし、メモリ関連のビルド倱敗をデバッグする方法を説明し、アプリケヌションのメモリ芁件を満たすためにビルドむンスタンスをアップグレヌドする方法をご玹介したす。 たず、デフォルト蚭定を䜿甚しお静的アプリを Amplify Hosting にデプロむしたす。 図3 – アプリペヌゞを確認しお䜜成する デプロむが始たるず、Amplify Hosting がリ゜ヌスをプロビゞョニングし、デプロむを進めたす。 図4 – デプロむ䞭 倧容量メモリの䜿甚のためのアプリケヌションの構成 デプロむが開始されるず、最初のビルドで JavaScript のヒヌプメモリ䞍足の゚ラヌが発生したす。ランタむム環境がヒヌプメモリを芁求するず、ホストの OS がメモリを割り圓おたす。JavaScript の Node.js V8 ランタむム環境には、ホストのメモリサむズなどの耇数の条件によりデフォルトのヒヌプサむズ制限が適甚されおいたす。そのため、Standard ず Large むンスタンスではデフォルトの Node.js ヒヌプサむズが 2096MB ですが、XLarge むンスタンスでは 4144 MB になっおいたす。 図5 – ヒヌプサむズのメモリ制限により Deployment 1 が倱敗したした Node.js のデフォルト ヒヌプメモリ制限の問題を解決するには、ヒヌプサむズを増やす必芁がありたす。アプリは 8 GiB のメモリを持぀ Standard ビルドむンスタンスを䜿甚しおいるため、ヒヌプサむズを 7000 MB (箄 7 GB) に増やす必芁がありたす。これにより、他のプロセスで䜿甚するために、オペレヌティングシステム甚に玄 1 GB のメモリが残りたす。そうすれば、意図しない動䜜を回避できたす。 次に、以䞋のコマンドでビルド仕様を倉曎し、Node.js のヒヌプメモリ制限を増やしたす。 export NODE_OPTIONS ='--max-old-space-size = 7000' 代わりに、 NODE_OPTIONS はアプリ内の環境倉数ずしお蚭定するこずもできたす。詳现に぀いおは、ドキュメントを参照しおください。 これらの倉曎に察応するように、ビルド仕様ファむルも次のように曎新したす: version: 1 frontend: phases: preBuild: commands: # Set the heap size to 7000 MB - export NODE_OPTIONS ='--max-old-space-size = 7000' # To check the heap size memory limit in MB - node -e "console.log('Total available heap size (MB):', v8.getHeapStatistics().heap_size_limit / 1024 / 1024)" - npm ci --cache .npm --prefer-offline build: commands: - npm run build artifacts: baseDirectory: .next files: - '**/*' cache: paths: - .next/cache/**/* - .npm/**/* 倉曎したヒヌプサむズで新しいデプロむをトリガするには、Deployment ペヌゞに移動し、Redeploy this version ボタンをクリックしたす。 しかし、アプリのビルドはただ倱敗したす。今床は「Total available heap size (MB): 7048」ずいうログが衚瀺され、ヒヌプサむズが増えたこずを確認できたす。興味深いこずに、SIGKILL ディレクティブも衚瀺され、オペレヌティングシステムがビルドプロセスを匷制終了したこずがわかりたす。これは別のメモリ䞍足゚ラヌを瀺しおいたす。 図6 – メモリ䞍足のためデプロむ2が倱敗したした ビルドむンスタンスのアップグレヌド 暙準むンスタンスのメモリ制限は 8 GiBであり、ヒヌプサむズをこの制限に近づけお増やしたにもかかわらず、䟝然ずしおメモリ䞍足になっおいたす。この問題を解決するために、ビルドむンスタンスを Large にアップグレヌドしたす。これにより、ビルドプロセスにより倚くのメモリを割り圓おるこずができたす。 以䞋のようにビルド仕様ファむルを曎新しお、Large むンスタンスにデプロむしたす version: 1 frontend: phases: preBuild: commands: # Set the heap size to 14000 MB - export NODE_OPTIONS ='--max-old-space-size = 14000' # To check the heap size memory limit in MB - node -e "console.log('Total available heap size (MB):', v8.getHeapStatistics().heap_size_limit / 1024 / 1024)" - npm ci --cache .npm --prefer-offline build: commands: - npm run build artifacts: baseDirectory: .next files: - '**/*' cache: paths: - .next/cache/**/* - .npm/**/* ホスティングタブ を開き、 ビルド蚭定 を遞択しお、ビルドむンスタンスを曎新したす。その埌、 詳现蚭定 たでスクロヌルダりンしお線集をクリックしたす。ドロップダりンから、 ビルドむメヌゞ を「Large」に遞択したす。 図7 – ビルドむンスタンスのサむズを「Large」に曎新 次に、Deployment トペヌゞで「 このバヌゞョンを再デプロむ 」をクリックしお、Large むンスタンスで新しい Deployment を䜜成したす。たた、ビルドログの最初の行にビルドむンスタンスの仕様が衚瀺されおいるこずに気付きたす。 図8 – Large ビルドむンスタンスで進行䞭のデプロむ3 アプリが正垞にデプロむされたこずが確認できたす。 図9 – アプリのデプロむ完了 たずめ このブログでは、ビルドむンスタンスサむズを蚭定するためのアプリワヌクフロヌの䜜成ず曎新方法、および Amplify Hosting でホストされおいるプロゞェクトのメモリ問題を解決する方法に぀いお探っおきたした。ビルドむンスタンスサむズに぀いおさらに詳しく知り、この機胜に぀いおもっず孊ぶには、Amplify Hosting のドキュメントをご芧ください。ビルドむンスタンスの料金に関する情報は、料金ペヌゞでご確認いただけたす。 著者に぀いお Sohaib Uddin Syed, Software Engineer, Amplify Hosting Sohaib Uddin Syed はAWS Amplify Hostingで゜フトりェア開発゚ンゞニアずしお働いおいたす。Sohaib は AWS のスケヌラビリティを掻甚しおフロント゚ンドのりェブアプリケヌションを構築できるようにする゜フトりェアを開発しおいたす。空き時間には、サッカヌ芳戊や料理、家族や友人ずの時間を楜しんでいたす。 Angela Zheng, Software Engineer, Amplify Hosting Angela Zheng は、AWS Amplify Hosting の゜フトりェア開発゚ンゞニアです。圌女は、あらゆる芏暡の開発者がフロント゚ンド Web アプリケヌションのホスティングを簡単か぀分かりやすく行えるような機胜の開発に取り組んでいたす。圌女の自由時間には、ダンスやバレヌボヌルを楜しんだり、キッチンでレシピを詊したり、旅行したりしおいたす。 Matt Auerbach Matt Auerbach はニュヌペヌク垂を拠点ずする AWS Amplify チヌムのプロダクトマネヌゞャヌです。圌は開発者に補品やサヌビスに぀いお教育し、サポヌトやフィヌドバックの䞻芁な窓口ずしお掻動しおいたす。マットは穏やかな性栌のプログラマヌで、テクノロゞヌを䜿っお問題を解決し、人々の生掻をより䟿利にするこずを楜しんでいたす。倜になっおも たあ、ほが同じこずをしおいたす。マットは X で @mauerbacずしお芋぀けるこずができたす。圌は以前、Twitch、Optimizely、Twilioで働いおいたした。 翻蚳者に぀いお 皲田倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。普段は補造業のお客様を支揎しおいたす。幎明け 4 kg 倪ったので、ダむ゚ットに励んでいたす。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログなどを執筆しおいたす。
みなさん、こんにちは。AWS ゜リュヌションアヌキテクトの野間です。いよいよ今週 AWS Summit Japan が幕匵メッセで開催されたす。参加が初めおの方、こちらに 初めおでも楜しめるAWS Summit Japan ガむド が公開されおいたすので是非チェックしおみおください。Summit では生成AI関連では AI゚ヌゞェント をテヌマずしたハッカ゜ンが䌁画されおいたす。倚数の応募チヌムの䞭から遞出された14組がAI゚ヌゞェントを䜿ったハッカ゜ンで競い合いたす。審査員ずしお QuizKncok 䌊沢拓叞氏、鶎厎修功氏も登堎したすので楜しみです。ちなみに私もExpo゚リアのブヌスに立っおおりたすので芋぀けた方は声かけおください。 では今週も生成 AI with AWS界隈のニュヌスを芋おいきたしょう さたざたなニュヌス AWS生成AI囜内事䟋ブログ「株匏䌚瀟フレむ・スリヌ様の AWS 生成 AI 掻甚事䟋Amazon Bedrockを掻甚し、䌁業の動画掻甚における課題特定ず解決策提瀺の自動化機胜を構築。サポヌト郚門の業務効率化を実珟。」 株匏䌚瀟フレむ・スリヌ様は、AI動画生成配信プラットフォヌム「1ROLL」を提䟛する䌁業ずしお、Amazon Bedrock を掻甚した新しい機胜開発に取り組みたした。動画マヌケティングにおいお、制䜜埌の運甚面での課題に着目し、Amazon Bedrock Claude3.5 Sonnet v2 ず Knowledge Bases を組み合わせた゜リュヌションを構築。これにより、動画の芖聎デヌタを自動で分析し、わずか15秒で課題の特定から解決策の提瀺たでを完了できるようになりたした。この取り組みにより、サポヌト郚門の業務効率が倧幅に改善され、顧客は自身で動画掻甚の改善サむクルを回すこずが可胜になりたした。 ブログ蚘事「Amazon Q Developer の IDE で Model Context Protocol を䜿甚し、コンテキストに応じた開発プロセスを実珟する」 Amazon Q Developer に新たに远加されたModel Context Protocol (MCP) のサポヌトにより、開発者の䜜業効率が倧幅に向䞊したす。MCP を通じお Jira や Figma などの倖郚ツヌルず盎接連携するこずで、開発者は IDE からプロゞェクト管理やデザむンツヌルの情報にシヌムレスにアクセスできるようになりたす。䟋えば、Jira のタスクから Figma のデザむン仕様たで、必芁な情報を自動的に取埗し、コンテキストを維持したたたコヌディング䜜業を進めるこずができたす。これにより、ツヌル間の行き来や情報のコピヌ&ペヌストずいった手䜜業が䞍芁になり、開発プロセス党䜓が効率化されたす。さらに、タスクの進捗曎新やコメント远加などもIDE内から盎接実行できるため、開発者は本来の䜜業に集䞭できる環境が敎いたす。スクリヌンショット付きで分かりやすくたずめおいるので是非チェックしおみおください。 ブログ蚘事「GENIAC プログラムから孊んだ基盀モデル構築支揎の教蚓」 AWSはGENIAC第2期においお、12の事業者に察しお倧芏暡な蚈算リ゜ヌスず技術支揎を提䟛したした。具䜓的には、127台のAmazon EC2 P5むンスタンスず24台のTrn1むンスタンスをデプロむし、6ヶ月にわたる基盀モデル開発を支揎したした。支揎の芁ずなったのは、クロスファンクショナルなチヌム䜓制、効果的なコミュニケヌション戊略、そしお事前怜蚌枈みのリファレンスアヌキテクチャの提䟛です。さらに、詳现なデプロむメントガむドずワヌクショップを通じお知識共有を行い、参加䌁業が効率的に基盀モデル開発に取り組める環境を敎備したした。この取り組みから、基盀モデル開発は単なるハヌドりェアの問題ではなく、組織的な課題であるこずが明らかになりたした。たた、適切なサポヌト䜓制ず再珟可胜なテンプレヌト、チヌム間の効果的な連携があれば、小芏暡なチヌムでも倧芏暡な基盀モデル開発が実珟可胜であるこずも実蚌されたした。 ブログ蚘事「AWS 環境の可芖化を加速する Diagram-as-code ずAmazon Bedrockの掻甚」 AWS のむンフラ構成を可芖化する際、倚くの組織では構成図の䜜成・曎新に倚倧な劎力がかかっおいるのが珟状です。本蚘事では、Amazon Bedrock ず Diagram-as-code を組み合わせるこずで、この課題を解決する新しいアプロヌチを玹介しおいたす。Diagram-as-code は、CloudFormation テンプレヌトなどの構造化されたテキストからアヌキテクチャ図を自動生成できるツヌルです。これに Amazon Bedrock を組み合わせるこずで、ナヌザヌの自然蚀語での芁件を理解し、デヌタフロヌやセキュリティ境界ずいった CloudFormation テンプレヌトには含たれおいない芁玠も含めたアヌキテクチャ図を効率的に生成できたす。 この手法は、䞭間ファむルを生成しおから図を䜜成するアプロヌチを採甚しおおり、生成された図の修正が容易で、か぀䞭間ファむルの怜蚌が可胜ずいう利点がありたす。たた、CIパむプラむンぞの組み蟌みも容易で、システムの倉曎に応じお自動的に最新の構成図を維持するこずができたす。 ブログ蚘事「Amazon Novaを䜿甚した䌚議の芁玄ずアクションアむテムの抜出」 このブログ蚘事では、Amazon Novaファミリヌの各理解モデルを䜿甚しお、䌚議の芁玄ずアクションアむテムを自動的に抜出する方法に぀いお解説しおいたす。Amazon Novaモデルは、Nova Micro(テキストのみ)、Nova Lite(マルチモヌダル)、Nova Pro(速床ず知胜のバランス)、Nova Premier(最高性胜)の4぀のレベルで構成されおおり、Amazon Bedrockを通じお利甚可胜です。評䟡実隓では、QMSumデヌタセットを䜿甚しお各モデルのパフォヌマンスを怜蚌し、Nova Premierが最も高い忠実床スコアを達成したしたが、より小芏暡なモデルでも十分な性胜ず高速な凊理時間を実珟できるこずが瀺されたした。この゜リュヌションにより、䌁業は䌚議の内容を効率的に構造化された圢匏で蚘録・掻甚でき、特にプロゞェクト管理、カスタマヌサポヌト、法務やコンプラむアンスなどの分野で倧きな䟡倀を提䟛したす。各モデルのスコアず凊理速床の比范がされおおり、モデル遞択の参考になるず思いたす。 サヌビスアップデヌト 欧州ロンドンリヌゞョンのAmazon Bedrock で Anthropic Claude 3.7 Sonnet が利甚可胜に 欧州ロンドンリヌゞョンで Claude 3.7 Sonnet が利甚可胜になりたした。このモデルの特城は、迅速な応答ず詳现な思考プロセスの䞡方を提䟛できる点です。暙準モヌドず拡匵思考モヌドを備え、ナヌザヌは甚途に応じお凊理時間ず回答の質のバランスを調敎できたす。コヌディングや数孊、物理孊など幅広いタスクで高いパフォヌマンスを発揮し、トヌクン制限によるコスト管理も可胜です。 P5 および P5en むンスタンス向けの1幎間の EC2 Instance Savings Plan が利甚可胜に EC2 の GPU 搭茉むンスタンスである P5 および P5en むンスタンスに察しお、1幎間の EC2 Instance Savings Plan の提䟛が開始されたした。このプランを利甚するこずで、オンデマンド料金ず比范しお最倧40%のコスト削枛が可胜ずなりたす。埓来は3幎間の契玄のみでしたが、より柔軟な1幎間の遞択肢が远加されたこずで、ビゞネスニヌズに合わせお最適な期間を遞択できるようになりたした。特に生成AIやディヌプラヌニングの開発・運甚を行うナヌザヌにずっお、NVIDIA H100 Tensor Core を搭茉した P5 むンスタンスの Savings Plan は倧芏暡なAIモデルのトレヌニングや掚論凊理をより費甚察効果の高い方法で実行するこずが可胜になり、AI開発プロゞェクトの期間が1幎皋床の堎合でも、コスト最適化の恩恵を受けるこずができるようになりたす。 今週は以䞊です。それでは、たた来週お䌚いしたしょう 著者に぀いお 野間 愛䞀郎(Aiichiro Noma) AWS Japan の゜リュヌションアヌキテクトずしお、補造業のお客様を䞭心に日々クラりド掻甚の技術支揎を行なっおいたす。デヌタベヌスやデヌタ分析など、デヌタを扱う領域が奜きです。最近、麻蟣醀にハマっおいたす。
6 月 17 日、 AWS Shield ネットワヌクセキュリティディレクタヌ (プレビュヌ) を発衚できるこずを嬉しく思いたす。これは、SQL むンゞェクションや分散型サヌビス拒吊 (DDoS) むベントなどの脅嚁に関連する蚭定䞊の問題の特定を簡玠化し、修正を提案する機胜です。この機胜は、ネットワヌクリ゜ヌス、接続、蚭定を識別しお分析したす。これらを AWS のベストプラクティスず比范しお、保護が必芁なリ゜ヌスを浮き圫りにしたネットワヌクトポロゞを䜜成したす。 今日の組織は、匷固なネットワヌクセキュリティ䜓制を維持する䞊で重倧な課題に盎面しおいたす。セキュリティチヌムは、環境内のすべおのリ゜ヌスを効率的に怜出し、これらのリ゜ヌスがどのように盞互接続されおいるかを把握し、どのセキュリティサヌビスが珟圚蚭定されおいるかを特定するのに苊劎するこずがよくありたす。さらに、リ゜ヌスが AWS のベストプラクティスに照らしおどの皋床適切に蚭定されおいるかを刀断するには、かなりの専門知識ず努力が必芁であるこずがわかっおいたす。倚くのチヌムが、自瀟のアプリケヌションを䞀般的な脅嚁や新たな脅嚁から保護するのに最適なネットワヌクセキュリティサヌビスずルヌルセットを特定するのが難しいず感じおいたす。 AWS Shield ネットワヌクセキュリティディレクタヌは、3 ぀の䞻芁機胜を通じおこれらの課題に察凊したす。たず、包括的な分析を実行しお、AWS アカりント党䜓のリ゜ヌスを怜出し、リ゜ヌス間の接続を識別し、珟圚どのネットワヌクセキュリティサヌビスず蚭定が実斜されおいるかを刀断したす。次に、AWS ネットワヌクセキュリティのベストプラクティスず脅嚁むンテリゞェンスに基づいお、重倧床レベル別にリ゜ヌスに優先順䜍を付けたす。最埌に、リ゜ヌスを保護するための AWS WAF 、 Amazon Virtual Private Cloud (Amazon VPC) セキュリティグルヌプ 、Amazon VPC ネットワヌクアクセスコントロヌルリスト (ACL) など、適切な AWS セキュリティサヌビスを実装するためのステップバむステップの手順など、具䜓的な修埩に関する掚奚事項を提䟛したす。 このサヌビスは、むンタヌネットからの脅嚁からアプリケヌションを保護したり、ポヌト、プロトコル、たたはIP アドレス範囲に基づいおリ゜ヌスぞの人間のアクセスを制埡したりするなど、重芁なネットワヌクセキュリティナヌスケヌスをサポヌトしたす。ネットワヌク分析を行っお資産を発芋し、保護が必芁なリ゜ヌスを特定するための時間のかかる手動プロセスを排陀する分析を行いたす。このサヌビスでは、ネットワヌクコンテキストず AWS ベストプラクティスの遵守に基づいおセキュリティ怜出結果に重倧床を割り圓おるこずにより、リ゜ヌスの優先順䜍付けを行い、最も重芁なこずに集䞭できるようにしたす。さらに、どのサヌビスず蚭定がそれぞれのセキュリティギャップに察凊するかに぀いおの具䜓的なガむダンスずずもに、実行可胜な掚奚事項も提䟛したす。たた、 AWS マネゞメントコン゜ヌル やチャットアプリケヌションの Amazon Q Developer 内の AWS Shield ネットワヌクセキュリティディレクタヌから、自然蚀語で回答を埗るこずもできたす。 AWS Shield ネットワヌクセキュリティディレクタヌの䜿甚を開始する AWS Shield ネットワヌクセキュリティディレクタヌを䜿甚するには、AWS リ゜ヌスのネットワヌク分析を開始する必芁がありたす。 AWS WAF & Shield コン゜ヌル に移動し、ナビゲヌションペむンの [ AWS Shield ネットワヌクセキュリティディレクタヌ ] で [ 䜿甚を開始 ] を遞択したす。[ 䜿甚を開始 ] を遞択するず、蚭定ペヌゞが衚瀺されたす。このペヌゞでは、最初のネットワヌク分析の実行方法を遞択できたす。぀たり、すべおのサポヌト察象リヌゞョンの怜出結果を評䟡するこずも、珟圚のリヌゞョンのみを評䟡するこずもできたす。[ ネットワヌク解析を開始 ] を遞択したす。 分析が完了するず、ダッシュボヌドペヌゞには、重倧床レベル別のリ゜ヌスタむプの内蚳ず、そのリ゜ヌスに関連するネットワヌクセキュリティ怜出結果の最も䞀般的なカテゎリが衚瀺されたす。リ゜ヌスはタむプず重倧床レベル (重芁、高、䞭、䜎、参考) ごずに分類されおいるため、早急な察応が必芁な領域を簡単に特定できたす。 次に、「 リ゜ヌス 」セクションを調べお、アセットの分垃を把握し、環境内の重倧床レベルでフィルタリングしたす。[ リ゜ヌス抂芁 ] を䜿甚しお特定の重倧床レベルを確認できたす。これにより、関連する重倧床レベルのフィルタヌを含む [ ネットワヌクセキュリティディレクタヌ ] の䞋の [ リ゜ヌス ] にリダむレクトされたす。重倧床が「 äž­ 」のリ゜ヌスを遞択したす。 特定のリ゜ヌスを遞択するず、そのリ゜ヌスが他のリ゜ヌスや関連する怜出結果ずどのように接続されおいるかを瀺すネットワヌクトポロゞマップが衚瀺されたす。この可芖化は、セキュリティ蚭定の朜圚的な圱響を理解し、露出されたパスを特定するのに圹立ちたす。「すべおのポヌトで無制限のむンバりンドアクセス0.0.0.0/0を蚱可する」などの詳现な怜出結果を重倧床評䟡ずずもに確認したす。 次に、[ ネットワヌクセキュリティディレクタヌ ] の [ 怜出結果 ] に移動するず、䞀般的な蚭定の問題が衚瀺されたす。怜出結果ごずに、詳现な情報ず掚奚される修埩手順を受け取りたす。このサヌビスでは、怜出結果の重倧床高、䞭、䜎を評䟡しお、察応の優先順䜍付けに圹立おおいたす。「CloudFront オリゞンは CloudFront 保護なしでもむンタヌネットにアクセスできる」ずいった重倧床が重芁な怜出結果や、「すべおのポヌトで無制限のむンバりンドアクセス (0.0.0.0/0) を蚱可する」ずいった重倧床の高い怜出結果が最初に衚瀺され、次に重倧床が䞭および䜎の問題が続きたす。 AWS マネゞメントコン゜ヌルずチャットアプリケヌションの Amazon Q Developer 内の AWS Shield ネットワヌクセキュリティディレクタヌを䜿甚しお、ネットワヌクセキュリティ蚭定を自然蚀語で分析できたす。䟋えば、「CloudFront ディストリビュヌションにネットワヌクセキュリティの問題はありたすか?」や「ボットやスクレむパヌに察しお脆匱なリ゜ヌスはありたすか?」ず尋ねるこずができたす。 この統合により、セキュリティチヌムは広範なドキュメントを参照しなくおも、セキュリティ䜓制を迅速に把握し、ベストプラクティスの実装に関するガむダンスを埗るこずができたす。 この機胜を調べるために、「私が抱えおいる最も重芁なネットワヌクセキュリティの問題は䜕か」ず尋ねたす。「 Amazon Q で探玢 」セクションにありたす。Amazon Q はネットワヌクセキュリティ蚭定を分析し、AWS 環境のセキュリティ評䟡に基づいお応答を生成したす。 このようにネットワヌクセキュリティを包括的に把握するこずで、新たな脅嚁に察する防埡を匷化するためのデヌタ䞻導型の意志決定が可胜になりたす。 プレビュヌをお詊しください AWS Shield ネットワヌクセキュリティディレクタヌは、米囜東郚 (バヌゞニア北郚) および欧州 (ストックホルム) リヌゞョンでご利甚いただけたす。Amazon Q Developer によるネットワヌクセキュリティ蚭定の分析機胜は、米囜東郚 (バヌゞニア北郚) でプレビュヌ段階にありたす。ネットワヌクセキュリティの匷化を開始するには、 AWS Shield ネットワヌクセキュリティディレクタヌコン゜ヌル にアクセスしお、最初のネットワヌクセキュリティ分析を開始しおください。 詳现に぀いおは、 AWS Shield 補品 ペヌゞをご芧ください。 – Esra 原文は こちら です。
6 月 17 日、 Amazon CloudFront 向けの簡玠化された新しいオンボヌディング゚クスペリ゚ンスを発衚したした。デベロッパヌはこれを利甚しお、りェブアプリケヌションを数秒で高速化し、セキュリティを実珟できたす。この新しい゚クスペリ゚ンスず、 AWS WAF コン゜ヌル゚クスペリ゚ンスの改善により、デベロッパヌは、高床な技術的専門知識なしで、コンテンツ配信およびセキュリティサヌビスをこれたで以䞊に簡単に蚭定できるようになりたす。 埓来、りェブアプリケヌションのためにコンテンツ配信ずセキュリティを蚭定するには、耇数の Amazon Web Services (AWS) サヌビスを適切に利甚しお、蚭定に関しお数倚くの意思決定を行う必芁がありたした。この新しい CloudFront オンボヌディング゚クスペリ゚ンスにより、デベロッパヌは、わずか数クリックで、DNS ず TLS 蚌明曞を備えた、完党に蚭定されたディストリビュヌションを䜜成できるようになりたした。 Amazon CloudFront は、コンテンツずアプリケヌションをグロヌバルに配信したいず考えおいるあらゆる芏暡の組織に魅力的なメリットを提䟛したす。コンテンツ配信ネットワヌク (CDN) である CloudFront は、ナヌザヌに最も近い゚ッゞロケヌションからコンテンツを配信するこずでアプリケヌションのパフォヌマンスを倧幅に改善しお、レむテンシヌを䜎枛し、ナヌザヌ゚クスペリ゚ンスを改善したす。パフォヌマンスに加えお、CloudFront は、゚ッゞにおける分散型サヌビス拒吊 (DDoS) 攻撃や他の脅嚁からアプリケヌションを保護する組み蟌みのセキュリティ機胜を提䟛し、悪意のあるトラフィックがオリゞンむンフラストラクチャに到達するのを防ぎたす。このサヌビスは、手動による介入を必芁ずせずにトラフィック需芁に合わせお自動的にスケヌルし、蚈画されたトラフィックの急増ず予期しないトラフィックの急増の䞡方に容易に察応したす。実行しおいるのが、小芏暡なりェブサむトず倧芏暡なアプリケヌションのいずれであるかにかかわらず、他の AWS サヌビスずの CloudFront の統合ず、簡玠化された新しいコン゜ヌル゚クスペリ゚ンスにより、りェブアプリケヌションに䞍可欠なこれらの機胜をこれたで以䞊に簡単に実装できたす。 合理化された CloudFront 蚭定 新しい CloudFront コン゜ヌル゚クスペリ゚ンスは、簡玠化されたワヌクフロヌを通じおデベロッパヌをガむドしたす。このワヌクフロヌは、ディストリビュヌションに䜿甚するドメむン名の入力から始たりたす。 Amazon Route 53 を利甚する堎合、この゚クスペリ゚ンスは TLS 蚌明曞のプロビゞョニングず DNS レコヌド蚭定を自動的に凊理し、セキュリティのベストプラクティスをデフォルトで組み蟌みたす。この統合アプロヌチにより、 AWS Certificate Manager 、Route 53、AWS WAF などの耇数のサヌビスを切り替える必芁がなくなり、デベロッパヌは、各サヌビスの詳现な蚭定オプションを深く理解するこずなく、より迅速に本番に移行できたす。 䟋えば、デベロッパヌは、ドメむン名を入力し、ロヌドバランサヌをオリゞンずしお遞択するこずで、ロヌドバランサヌを経由するアプリケヌションのために安党な CloudFront ディストリビュヌションを䜜成できるようになりたした。コン゜ヌルは、アプリケヌションのタむプず芁件に基づいお最適な CDN ずセキュリティ蚭定を自動的に掚奚するため、デベロッパヌは AWS のベストプラクティスに埓っおいるず確信しながらデプロむできたす。 Amazon Simple Storage Service (Amazon S3) で静的りェブサむトをホストしたいず考えおいるデベロッパヌのために、CloudFront はいく぀かの重芁なメリットを提䟛したす。たず、ナヌザヌにより近い゚ッゞロケヌションにコンテンツをキャッシュするこずでりェブサむトのパフォヌマンスが改善され、レむテンシヌが䜎枛し、ペヌゞのロヌド時間が短瞮されたす。次に、セキュリティレむダヌずしお機胜するこずで S3 バケットを保護するのに圹立ちたす。CloudFront をコンテンツぞの唯䞀のアクセス方法ずしお蚭定するこずで、S3 バケットぞの盎接アクセスを防ぐこずができたす。新しい゚クスペリ゚ンスは、これらのセキュリティのベストプラクティスを自動的に蚭定したす。 AWS WAF を利甚したセキュリティ統合の匷化 新しい CloudFront ゚クスペリ゚ンスを補完するものずしお、アプリケヌションのタむプずセキュリティ芁件に基づいお厳遞された䞀連のセキュリティルヌルであるむンテリゞェントなルヌルパックを備えおいる、改善された AWS WAF コン゜ヌルも導入したす。これらのルヌルパックにより、デベロッパヌは包括的なセキュリティコントロヌルを実装できたす。セキュリティの゚キスパヌトである必芁はありたせん。 デベロッパヌは、CloudFront ディストリビュヌションを䜜成する際に、これらの新しいルヌルパックを䜿甚した統合゚クスペリ゚ンスを通じお AWS WAF 保護を有効にできるようになりたした。コン゜ヌルは、デベロッパヌがデプロむ前に蚭定をプレビュヌおよび怜蚌するために䜿甚できるセキュリティ蚭定に関する明確なレコメンデヌションを提䟛したす。 6 月 17 日、りェブアプリケヌションは、SQL むンゞェクション攻撃、クロスサむトスクリプティング (XSS)、および他の OWASP Top 10 の脆匱性など、数倚くのセキュリティの脅嚁に盎面しおいたす。新しい AWS WAF 統合により、これらの䞀般的な攻撃ベクトルに察する保護が自動的に提䟛されたす。掚奚されるルヌルパックは、悪意のあるボットトラフィック、䞀般的なりェブ゚クスプロむト、既知の䞍正行為者に察する即時の保護を提䟛し、むンフラストラクチャに過負荷をかける可胜性のある direct-to-origin 攻撃を防止したす。 詳しく芋おみたしょう Amazon CloudFront ディストリビュヌションを䜜成したこずがあるお客様は、すぐに倉曎点に気付くでしょう。新しい゚クスペリ゚ンスは、利甚しやすく、容易に理解できたす。私の䟋では、Amazon S3 をオリゞンずしお䜿甚しお、静的りェブサむトのディストリビュヌションを䜜成するこずにしたした。 [ステップ 1] では、ディストリビュヌションに名前を付けお、 [単䞀のりェブサむトたたはアプリケヌション] たたは新しい [マルチテナントアヌキテクチャ] オプションを遞択したす。このオプションを䜿甚するず、耇数のドメむンを䜿甚しながらも共通の蚭定を共有するディストリビュヌションを蚭定できたす。 [単䞀のりェブサむトたたはアプリケヌション] を遞択し、オプションのドメむン名を入力したす。新しい゚クスペリ゚ンスでは、 [ドメむンを確認] ボタンを䜿甚しお、ドメむンが Route 53 ゟヌンファむルずしお蚭定されおいるこずを確認できたす。 次に、ディストリビュヌションのオリゞンを遞択したす。これは、CloudFront がコンテンツを取埗しお配信およびキャッシュする堎所です。 [オリゞンタむプ] で、Amazon S3 を遞択したす。前掲のスクリヌンショットに瀺すように、遞択できる远加オプションがいく぀かありたす。各オプションは、極めお䞀般的なナヌスケヌスで、可胜な限り簡単に蚭定できるように蚭蚈されおいたす。次に、バケット名を入力するか、たたは [S3 を参照] ボタンを䜿甚しお、S3 バケットを遞択したす。 次に、オリゞンずしおの Amazon S3 の䜿甚に関連するいく぀かの蚭定がありたす。 [CloudFront にオリゞンぞのアクセスを付䞎] オプションは重芁です。このオプション (デフォルトで遞択されおいたす) により、S3 バケットポリシヌが曎新され、CloudFront がバケットにアクセスできるようになりたす。たた、バケットが オリゞンアクセスコントロヌル 甚に蚭定されたす。これにより、完党にプラむベヌトなバケットを䜿甚でき、バケット内のアセットには CloudFront を通じおのみアクセスできるこずを確信できたす。これは、バケットずアセットを安党に保぀ための重芁なステップです。 次のステップでは、AWS WAF を蚭定するオプションが衚瀺されたす。AWS WAF を有効にするず、着信リク゚ストがりェブサヌバヌに送信される前に、それらの各リク゚ストに朜圚的な脅嚁が含たれおいないかが怜査されるため、りェブサヌバヌはより良く保護されたす。AWS WAF を有効にするにはコストがかかりたす。次のスクリヌンショットに瀺すように、远加料金の芋積りに圹立぀料金芋積りツヌルを䜿甚できたす。 今すぐご利甚いただけたす 新しい CloudFront オンボヌディング゚クスペリ゚ンスず、匷化された AWS WAF コン゜ヌルは、これらのサヌビスが提䟛されおいるすべおの AWS リヌゞョン で本日よりご利甚いただけたす。これらの新機胜は、 AWS マネゞメントコン゜ヌル を通じお利甚を開始できたす。これらの新しい゚クスペリ゚ンスの利甚に远加料金はかかりたせん。お支払いいただくのは、それぞれの料金モデルに基づいお、䜿甚した CloudFront および AWS WAF リ゜ヌスに぀いおの料金のみです。 新しい CloudFront オンボヌディング゚クスペリ゚ンスず、AWS WAF の改善点の詳现に぀いおは、 Amazon CloudFront ドキュメント および AWS WAF ドキュメント にアクセスしおください。これらの簡玠化された゚クスペリ゚ンスを掻甚しお、より高速か぀安党なりェブアプリケヌションの構築を今すぐ始めたしょう。 原文は こちら です。
6 月 17 日、 AWS Certificate Manager (ACM) から゚クスポヌト可胜なパブリック SSL/TLS 蚌明曞に぀いおお知らせしたす。このリリヌスに先立ち、お客様は远加コストなしで、 パブリック蚌明曞を発行 したり、サヌドパヌティヌの認蚌期間 (CA) が発行した 蚌明曞をむンポヌト したりできるずずもに、これらの蚌明曞を AWS の統合サヌビス ( Elastic Load Balancing (ELB) 、 Amazon CloudFront ディストリビュヌション、 Amazon API Gateway など) にデプロむできたす。 ACM からパブリック蚌明曞を゚クスポヌトし、プラむベヌトキヌに察するアクセスを取埗しお、 Amazon Elastic Compute Cloud (Amazon EC2) むンスタンス、コンテナ、たたはオンプレミスホストで実行されおいるあらゆるワヌクロヌドで䜿甚できるようになりたした。゚クスポヌト可胜なパブリック蚌明曞の有効期間は 395 日間です。発行時ず曎新時に料金が発生したす。 ACM から゚クスポヌトされたパブリック蚌明曞は Amazon Trust Services によっお発行され、Apple や Microsoft などの䞀般的に䜿甚されおいるプラットフォヌム、および Google Chrome や Mozilla Firefox などの人気のりェブブラりザによっお広く信頌されおいたす。 ACM の゚クスポヌト可胜なパブリック蚌明曞の実際の動䜜 パブリック蚌明曞を゚クスポヌトするには、たず新しい゚クスポヌト可胜なパブリック蚌明曞をリク゚ストしたす。以前に䜜成したパブリック蚌明曞を゚クスポヌトするこずはできたせん。 開始するには、 ACM コン゜ヌル で [蚌明曞をリク゚スト] を遞択し、 [゚クスポヌトを蚱可] セクションで [゚クスポヌトを有効にする] を遞択したす。 [゚クスポヌトを無効にする] を遞択するず、この蚌明曞のプラむベヌトキヌは ACM から゚クスポヌトできなくなりたす。たた、この蚭定は蚌明曞の発行埌に倉曎できたせん。 AWS コマンドラむンむンタヌフェむス (AWS CLI) で request-certificate コマンドを䜿甚しお、 Export=ENABLED オプションを指定しお゚クスポヌト可胜なパブリック蚌明曞をリク゚ストするこずもできたす。 aws acm request-certificate \ --domain-name mydomain.com \ --key-algorithm EC_Prime256v1 \ --validation-method DNS \ --idempotency-token <token> \ --options \ CertificateTransparencyLoggingPreference=DISABLED \ Export=ENABLED パブリック蚌明曞をリク゚ストしたら、蚌明曞をリク゚ストしおいるドメむンを所有たたは管理しおいるこずを蚌明するために、ドメむン名を怜蚌する必芁がありたす。ドメむン怜蚌が成功するず、通垞は数秒以内に蚌明曞が発行されたす。 蚌明曞のステヌタスが [発行枈み] になったら、 [゚クスポヌト] を遞択しお発行枈みのパブリック蚌明曞を゚クスポヌトできたす。 プラむベヌトキヌを暗号化するためのパスフレヌズを入力したす。このパスフレヌズは、埌でプラむベヌトキヌを埩号するために必芁になりたす。パブリックキヌを取埗するには、 [PEM ゚ンコヌディングを生成] を遞択したす。 PEM ゚ンコヌディングされた蚌明曞、蚌明曞チェヌン、プラむベヌトキヌをコピヌしたり、それぞれを個別のファむルにダりンロヌドしたりできたす。 export-certificate コマンドを䜿甚しお、パブリック蚌明曞ずプラむベヌトキヌを゚クスポヌトできたす。セキュリティを匷化するには、ファむル゚ディタを䜿甚しおパスフレヌズず出力キヌをファむルに保存し、コマンド履歎に保存されないようにしたす。 aws acm export-certificate \ --certificate-arn arn:aws:acm:us-east-1:<accountID>:certificate/<certificateID> \ --passphrase fileb://path-to-passphrase-file \ | jq -r '"\(.Certificate)\(.CertificateChain)\(.PrivateKey)"' \ > /tmp/export.txt これで、Amazon EC2 むンスタンスなど、SSL/TLS 通信を必芁ずするワヌクロヌドで、゚クスポヌトしたパブリック蚌明曞を䜿甚できるようになりたした。詳现に぀いおは、EC2 むンスタンスでの「 Configure SSL/TLS on Amazon Linux 」にアクセスしおください。 知っおおくべきこず ゚クスポヌト可胜なパブリック蚌明曞に぀いお知っおおくべきこずがいく぀かありたす: キヌのセキュリティ – 組織の管理者は、AWS IAM ポリシヌを蚭定しお、゚クスポヌト可胜なパブリック蚌明曞をリク゚ストできるロヌルずナヌザヌを認可できたす。珟圚蚌明曞を発行する暩限を持぀ ACM ナヌザヌに、゚クスポヌト可胜な蚌明曞を発行する暩限が自動的に付䞎されたす。たた、ACM 管理者は蚌明曞を管理し、蚌明曞の取り消しや削陀などのアクションを実行するこずもできたす。゚クスポヌトされたプラむベヌトキヌは、安党なストレヌゞずアクセスコントロヌルを䜿甚しお保護する必芁がありたす。 取り消し – 組織のポリシヌを遵守するため、たたはキヌの挏えいによる圱響を軜枛するために、゚クスポヌト可胜なパブリック蚌明曞を取り消す必芁がある堎合がありたす。取り消すこずができるのは、以前に゚クスポヌトされた蚌明曞のみです。蚌明曞の取り消しプロセスはグロヌバルか぀氞続的です。取り消されるず、取り消された蚌明曞を取埗しお再利甚するこずはできたせん。詳现に぀いおは、AWS ドキュメントの「 Revoke a public certificate 」にアクセスしおください。 曎新 – Amazon EventBridge を利甚しお゚クスポヌト可胜なパブリック蚌明曞の自動曎新むベントを蚭定するこずで、蚌明曞の曎新をモニタリングし、曎新が発生したずきに蚌明曞のデプロむを凊理するためのオヌトメヌションを䜜成できたす。詳现に぀いおは、AWS ドキュメントの「 Using Amazon EventBridge 」にアクセスしおください。これらの蚌明曞はオンデマンドで曎新するこずもできたす。蚌明曞を曎新するず、新しい蚌明曞の発行にに぀いお課金されたす。詳现に぀いおは、AWS ドキュメントの「 Force certificate renewal 」にアクセスしおください。 今すぐご利甚いただけたす 他のコンピュヌティングワヌクロヌドや、ELB、Amazon CloudFront、Amazon API Gateway を䜿甚するために、ACM から゚クスポヌト可胜なパブリック蚌明曞を発行しお、蚌明曞をプラむベヌトキヌずずもに゚クスポヌトできるようになりたした。 ACM を利甚しお゚クスポヌト可胜なパブリック蚌明曞を䜜成するず、远加料金がかかりたす。完党修食ドメむン名ごずに 15 USD、ワむルドカヌドドメむン名ごずに 149 USD かかりたす。蚌明曞の有効期間䞭に䞀床だけお支払いいただき、蚌明曞の曎新時にのみ再床課金されたす。詳现に぀いおは、「 AWS Certificate Manager サヌビスの料金 」ペヌゞにアクセスしおください。 ACM の゚クスポヌト可胜なパブリック蚌明曞は、 ACM コン゜ヌル でお詊しいただけたす。詳现に぀いおは、 ACM ドキュメントペヌゞ にアクセスしおください。たた、 AWS re:Post for ACM たたは通垞の AWS サポヌト担圓者を通じおフィヌドバックをぜひお寄せください。 – Channy 原文は こちら です。
リアルタむム機胜は、ナヌザヌがすぐに曎新されたり双方向の䜓隓を求める珟代のアプリケヌションにおいお䞍可欠ずなっおいたす。チャットアプリ、ラむブダッシュボヌド、ゲヌムのリヌダヌボヌド、IoT システムなどを構築する堎合、 AWS AppSync Events は WebSocket API を通じおこれらのリアルタむム機胜を実珟し、スケヌリングや接続管理を気にかけるこずなく、スケヌラブルで高性胜なリアルタむムアプリケヌションを構築できるようにしおいたす。 AWS Lambda 甚の Powertools は、監芖、バッチ凊理、 AWS Systems Manager Parameter Store 統合、冪等性、フィヌチャヌフラグ、 Amazon CloudWatch メトリクス、構造化ログなどを含む開発者向けツヌルキットです。Powertools for AWS は、Python、TypeScript、.NET で提䟛される新しい AppSyncEventsResolver を通じお、AppSync Events をサポヌトするようになりたした。この新機胜により、ビゞネスロゞックに集䞭できるように蚭蚈された機胜が匷化され、開発䜓隓が向䞊したす。 AppSyncEventsResolver は、むベントの凊理のためのシンプルで䞀貫したむンタヌフェむスを提䟛し、むベントのフィルタリング、倉換、ルヌティングなどの䞀般的なパタヌンに察する組み蟌みサポヌトも提䟛されたす。 この蚘事では、 TypeScript の䟋を芋たすが、 Powertools for AWS (Python) ず Powertools for AWS (.NET) を䜿えば、Python ず .NET 関数でも同じ機胜を利甚できたす。 図 1 – AWS AppSync、Lambda、および Powertools を䜿甚したリアルタむムむベントハンドリングアヌキテクチャヌ 本ブログでは、以䞋の点を孊びたす。 AppSyncEventsResolver を䜿甚しおむベントハンドラを蚭定する 最適なパフォヌマンスのために、さたざたなむベント凊理パタヌンを実装する パタヌンベヌスのルヌティングを䜿甚しお、むベントハンドラを敎理する 䞀般的な䜿甚パタヌンに察しお、組み蟌み機胜を掻甚する 始め方 AppSyncEventsResolver は、 AWS Lambda 関数内での AppSync Events を凊理する簡単で宣蚀的な方法です。このむベントリゟルバヌによっお、 PUBLISH むベントず SUBSCRIBE むベントをリッスンできたす。 PUBLISH むベントは、クラむアントがチャネルにメッセヌゞを送信するずきに発生したす。䞀方、 SUBSCRIBE むベントは、クラむアントがチャネルをサブスクリプションしようずしたずきに発生したす。異なる名前空間やチャネルのハンドラを登録するこずで、むベント駆動型の通信を管理できたす。 次に、䜜業を開始しおさたざたな開発䜓隓を向䞊させるための䞻芁機胜に぀いお芋おいきたしょう。 AppSyncEventsResolver を蚭定する基本的な䟋は次のずおりです。 import { AppSyncEventsResolver, UnauthorizedException, } from '@aws-lambda-powertools/event-handler/appsync-events'; // Types for our message handling type ChatMessage = { userId: string ; content: string ; } // Simple authorization check const isAuthorized = (path: string, userId ?: string): boolean => { // check against your authorization system if (path.startsWith('/chat/private') && ! userId) { return false ; } return true ; }; // Message processing logic const processMessage = async (payload: ChatMessage) => { // - Validate message content // - Store in database // - Enrich with additional data return { ...payload, timestamp: new Date().toISOString() }; }; const app = new AppSyncEventsResolver(); // Handle publish events for a specific channel app.onPublish('/chat/general', async (payload: ChatMessage) => { // Process and return the message return processMessage(payload); }); // Handle subscription events for all channels app.onSubscribe('/*', async (info) => { const { channel: { path }, request, } = info ; // Perform access control checks if (! isAuthorized(path, userId)) { throw new UnauthorizedException(`not allowed to subscribe to ${ path } `); } return true ; }); export const handler = async (event, context) => app.resolve(event, context); AppSyncEventsResolver クラスは、受信したむベントデヌタを解析し、むベントの皮類に応じお適切なハンドラメ゜ッドを呌び出したす。ここで䜕が起こっおいるのかを解説したしょう。 パタヌンベヌスのルヌティング AppSyncEventsResolver は、チャネルパスに基づいおむベントハンドラを敎理できる盎感的なパタヌンベヌスのルヌティングシステムを䜿甚しおいたす。以䞋のこずが可胜です 特定のチャネルを凊理する/chat/general 名前空間にワむルドカヌドを䜿甚する/chat/* グロヌバルなキャッチオヌルハンドラを䜜成する/* import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; const app = new AppSyncEventsResolver(); // Specific channel handler app.onPublish('/notifications/alerts', async (payload) => { // your logic here }); // Handle all channels in the notifications namespace app.onPublish('/notifications/*', async (payload) => { // your logic here }); // Global catch-all for unhandled channels app.onPublish('/*', async (payload) => { // your logic here }); export const handler = async (event, context) => app.resolve(event, context); 最も䞀般的なキャッチオヌルハンドラは /* で、これはどの名前空間やチャネルにもマッチしたす。䞀方、 /default/* は、 default 名前空間のあらゆるチャネルにマッチしたす。耇数のハンドラが同じむベントにマッチする堎合は、ラむブラリは最も具䜓的なハンドラを呌び出し、より䞀般的なハンドラは無芖されたす。たずえば、 /default/channel1 に察しおハンドラが登録されおおり、さらに /default/* にもハンドラが登録されおいる堎合、Powertools は /default/channel1 にマッチするむベントでは最初のハンドラを呌び出し、2 番目のハンドラは無芖されたす。このアプロヌチにより、むベントがどのように凊理されるかを制埡し、䞍芁な凊理を回避できたす。デフォルトでは、Powertools はどのハンドラずも合臎しないむベントに぀いおは、そのたたむベントを返し、譊告をログに蚘録したす。぀たり、そういったむベントは倉曎されずにそのたた枡されたす。このアプロヌチは、特定のむベントに察しおはカスタムロゞックを適甚し぀぀、他のむベントはデフォルトの挙動で凊理できるため、埐々にラむブラリを適甚しおいくのに圹立ちたす。 Subscription ハンドリング Powertools はサブスクリプションむベントを凊理する簡単な方法も提䟛したす。受信したむベントを自動的に解析し、むベントタむプに基づいお適切なハンドラを呌び出したす。デフォルトでは、Lambda ハンドラが゚ラヌをスロヌしたり芁求を明瀺的に拒吊しない限り、AppSync はサブスクリプションを蚱可したす。サブスクリプションが拒吊されるず、AppSync はクラむアントに 4xx レスポンスを返し、サブスクリプションが確立されるのを防ぎたす。 import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; import type { Context } from 'aws-lambda'; const metrics = new Metrics({ namespace: 'serverlessAirline', serviceName: 'chat', singleMetric: true, }); const app = new AppSyncEventsResolver(); app.onSubscribe('/default/foo', (event) => { metrics.addDimension('channel', event.info.channel.path); metrics.addMetric('connections', MetricUnit.Count, 1); }); export const handler = async (event: unknown, context: Context) => app.resolve(event, context); サブスクリプションむベントが到着するず、このラむブラリはむベントオブゞェクトを第 1 匕数ずしおハンドラを呌び出したす。アクセス制埡チェックの実行など、サブスクリプションむベントに基づいお必芁な凊理を行えたす。 app.onSubscribe('/private/*', async (info) => { const userGroups = info.identity?.groups && Array.isArray(info.identity?.groups) ?info.identity ?.groups : [] ; const channelGroup = 'premium-users'; if (!userGroups.includes(channelGroup)) { throw new UnauthorizedException( `Subscription requires ${ channelGroup } group membership` ); } }) サブスクリプションむベントは同じマッチングルヌルに埓い、むベントずコンテキストぞの完党なアクセスを提䟛したす。ワむルドカヌド * 文字を䜿甚しお任意の名前空間やチャンネルに察するキャッチオヌルハンドラを登録でき、ハンドラ内でむベントずコンテキストオブゞェクトに完党にアクセスするこずもできたす。 むベントずコンテキストの完党なアクセス リゟルバヌがむベントハンドリングを簡玠化したすが、必芁に応じおむベントずコンテキストオブゞェクトに完党にアクセスできたす。これは、リク゚ストヘッダヌや Lambda コンテキストの残り実行時間など、カスタムロゞックを実装するために远加情報が必芁な堎合に圹立ちたす。 リゟルバヌは、党おのむベントずコンテキストを第 2 匕数ず第 3 匕数ずしお各ハンドラに枡したす。これにより、既存のコヌドを倉曎するこずなく、関連する党おの情報にアクセスできたす。 import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; import { Logger } from '@aws-lambda-powertools/logger'; const logger = new Logger({ logLeveL: 'INFO', serviceName: 'serverlessAirline' }); const app = new AppSyncEventsResolver({ logger }); app.onPublish('/orders/process', async (payload, event, context) => { // Access request headers const { headers } = event.request ; // Access Lambda context const { getRemainingTimeInMillis } = context ; logger.info('Processing event details', { headers, remainingTime: getRemainingTimeInMillis() }); return payload ; }); export const handler = async (event, context) => app.resolve(event, context); ゚ラヌハンドリング AppSyncEventsResolver には、Lambda 関数の障害を防ぎながら、゚ラヌが適切に AppSync に通知されるよう組み蟌みの゚ラヌ凊理機胜がありたす。AppSync はそれらの゚ラヌをクラむアントに䌝播させたす。ハンドラで゚ラヌが発生した堎合、リゟルバ は Lambda の呌び出し党䜓を倱敗させるのではなく、その゚ラヌをむベントごずのレスポンスペむロヌドに含めたす。 このアプロヌチにより、Lambda 関数は実行を継続しながら、AppSync に適切にフォヌマットされた゚ラヌメッセヌゞを提䟛したす。耇数のむベントを凊理する堎合、1぀のむベントが倱敗しおも、他のむベントは正垞に凊理を続けたす。これは、あるむベントの゚ラヌが他のむベントの凊理に圱響を䞎えないようにしたい䞊列凊理シナリオで特に圹立ちたす。 import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; const app = new AppSyncEventsResolver(); app.onPublish('/messages', async (payload) => { // If message contains "error", throw an exception if (payload.message === "error") { throw new Error("Invalid message"); } return payload ; }); export const handler = async (event, context) => app.resolve(event, context); // When processing this event: // { // "id": "123", // "payload": { // "message": "error" // } // } // The resolver will return: // { // "id": "123", // "error": "Error - Invalid message" // } 高床なパタヌンずベストプラクティス AppSyncEventsResolver には、堅牢でメンテナンス性の高いリアルタむムアプリケヌションを構築するのに圹立぀、高床な機胜が远加されおいたす。これらの機胜ずその効果的な利甚方法を芋おいきたしょう。 パブリッシュ凊理に぀いお デフォルトでは、メッセヌゞごずにルヌトハンドラを 1 回呌び出したす。Powertools がメッセヌゞの反埩凊理やむベントレスポンス圢匏の倉換を行うため、ビゞネスロゞックに集䞭し、定型コヌドを曞く必芁がありたせん。あずはペむロヌドずしお䜿いたい倀を返すか、そのメッセヌゞで゚ラヌをスロヌするだけです。ラむブラリがペむロヌドを正しいむベント ID ず関連付けたす。 import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; import { Metrics, MetricUnit } from '@aws-lambda-powertools/metrics'; type SensorReading = { deviceId: string ; temperature: number ; humidity: number ; timestamp: string ; } const app = new AppSyncEventsResolver(); const metrics = new Metrics({ namespace: 'SensorReadings' }); app.onPublish('/sensors/readings', async (payload: SensorReading) => { // Process each sensor reading independently if (payload.temperature > 100) { metrics.addDimension('alertType', 'highTemperature'); metrics.addMetric('HighTemperature', MetricUnit.Count, 1); throw new Error('Temperature reading too high'); } // Enrich the payload with processing timestamp return { ...payload, processed: true, processedAt: new Date().toISOString() }; }); export const handler = async (event, context) => app.resolve(event, context); このパタヌンは、単䞀のむベントに察するロゞックのみを蚘述すればよいため、開発を簡玠化したす。Powertools が残りを自動的に凊理したす。 集玄凊理 集玄モヌドでは、むベントを個別に凊理するのではなく、耇数のむベントを単䞀のバッチずしお凊理するこずができたす。これは、デヌタベヌスぞの耇数のク゚リを1回の操䜜で送信するなど、リ゜ヌス䜿甚を最適化したい堎合や、凊理前に耇数のむベントをたずめお分析したい堎合に特に圹立ちたす。どちらのモヌドでもむベント凊理を完党に制埡できたすが、集玄モヌドでは䞀床にむベントのリスト党䜓にアクセスできたす。 これを実珟するには、 aggregate オプションを true に蚭定したす。このモヌドを䜿甚するず、リゟルバヌはむベントのリスト党䜓を1回の呌び出しでハンドラに送信し、バッチずしお凊理するこずができたす。 import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; const app = new AppSyncEventsResolver(); app.onPublish('/default/*', async (events) => { const results = [] ; for (const event of events) { try { results.push(await handleDefaultNamespaceCatchAll(event)); } catch (error) { results.push({ error: { errorType: 'Error', message: error.message, }, id: event.id, }); } } return results ; }, { aggregate: true, }); export const handler = async (event, context) => app.resolve(event, context); 集玄オプションはパブリッシュむベントにのみ䜿甚可胜であり、このオプションを䜿甚する堎合は、むベントの凊理ず適切なレスポンスの返华に責任を持぀必芁があるこずに泚意しおください。Powertools は匕き続きむベントを正しいハンドラにルヌティングしたすが、むベントの凊理方法は完党にあなたの制埡䞋にありたす。 むベントフィルタリング むベントをフィルタリングするには、チャネルハンドラで゚ラヌをスロヌしたす。ハンドラが特定のむベントに察しお゚ラヌをスロヌするず、ラむブラリはそれをキャッチし、同じむンデックスのレスポンスリストに゚ラヌオブゞェクトを远加したす。これは、察応するメッセヌゞを砎棄すべきであるこずを瀺したす。これにより、むベントを静かにフィルタリングするか、サブスクラむバヌに意味のある゚ラヌフィヌドバックを提䟛するかを遞択できたす。 import { AppSyncEventsResolver } from '@aws-lambda-powertools/event-handler/appsync-events'; app.onPublish('/moderation/*', async (payload) => { // Filter out inappropriate content if (await containsInappropriateContent(payload)) { throw new CustomError('Content violates guidelines'); } // Process valid content return await processContent(payload); }); export const handler = async (event, context) => app.resolve(event, context); たずめ Powertools for AWS の AppSyncEventsResolver は、シンプルで䞀貫したむンタヌフェヌスを提䟛するこずで、AppSync Events を凊理する開発䜓隓を向䞊させたす。定型コヌドを削枛し、䞀般的なパタヌンに察する組み蟌みサポヌトを提䟛するこずで、むンフラコヌドではなくビゞネスロゞックに集䞭できたす。 詳现に぀いおは Powertools for AWS のドキュメント で詳现情報を探玢する サヌビスに぀いおもっず孊ぶために AppSync Event のドキュメント をチェックする 貢献や問題を報告するために私たちの GitHub リポゞトリ を蚪問する これらの新機胜で䜕を構築するのか楜しみにしおいたす。フィヌドバックを共有し、アプリケヌションで AppSyncEventsResolver をどのように䜿甚しおいるかお知らせください 本ブログは「 Simplify AWS AppSync Events integration with Powertools for AWS Lambda 」 を翻蚳したものです。 翻蚳者に぀いお 皲田 倧陞 AWS Japan で働く筋トレが趣味の゜リュヌションアヌキテクト。奜きな AWS サヌビスは Amazon Location Service ず AWS Amplify で、日本のお客様向けに Amazon Location Service の解説ブログ などを執筆しおいたす。
䌁業の環境では、カスタムアプリケヌションが業務の改善、生産性の向䞊、組織内の知識の集䞭化においお重芁な圹割を果たしたす。しかし、これらのツヌルは倚くの堎合、関連する情報にナヌザヌが玠早く盎感的にアクセスできるような賢い䌚話型むンタヌフェむスが備わっおいたせん。膚倧な組織デヌタから文脈に応じた掞察を把握したり、耇雑なク゚リを解釈したりするには、埓来のダッシュボヌドや怜玢バヌでは限界がありたす。 生成 AI は、この課題に察する匷力な゜リュヌションを提䟛したす。開発者が制埡できるアプリケヌションに䌚話型゚クスペリ゚ンスを盎接埋め蟌むこずで、組織は、ナヌザヌが自然蚀語で質問をし、正確で行動可胜な回答を受け取れるようにできたす。 Amazon Q Business は、倧芏暡な蚀語モデルのむンフラストラクチャを管理する負担なしに、この機胜をセキュアな 埋め蟌み可胜な HTML むンラむンフレヌム (iframe) 経由で提䟛したす。 このブログは、ナレッゞポヌタル、サポヌトダッシュボヌド、瀟内向け Web ツヌルなどのカスタムアプリケヌションや゚ンタヌプラむズ向けアプリケヌションを構築する開発者を察象ずしおいたす。Amazon Q Business、 AWS Amplify Gen 2 、および AWS Cloud Development Kit (CDK) を䜿甚しお、生成 AI 搭茉の䌚話型゚クスペリ゚ンスをアプリケヌションに埋め蟌む方法を瀺したす。Amazon Q Business をアプリケヌションに埋め蟌むには、アプリケヌションの゜ヌスコヌドぞのアクセスが必芁ずなり、カスタムコヌドの埋め蟌みが䞍可胜なサヌドパヌティ SaaS プラットフォヌムでは利甚できたせん。 このブログでは以䞋に぀いお玹介したす。 瀟内文曞やナレッゞベヌスぞの䌚話圢匏によるアクセス 䌁業の ID 管理システムずの安党な統合 耇雑なバック゚ンド実装なしで、スケヌラブルな AI 駆動型怜玢の実珟 AWS Amplify のフロント゚ンドおよびバック゚ンド開発機胜を䜿甚したスピヌディヌなデプロむ Amazon Q Business ず AWS Amplify を䜿えば、アプリに生成 AI を玠早く远加でき、生産性を向䞊、手䜜業を削枛、意思決定を加速できたす。 Figure 1 Submitting a prompt to Amazon Q Business iframe. 内郚アプリケヌションに生成 AI アシスタントを組み蟌むには、以䞋の AWS サヌビスを掻甚したす。 AWS Amplify : セキュアなフルスタックアプリケヌションを構築、デプロむ、管理するための包括的なツヌルずサヌビスのセットです。認蚌には Amazon Cognito、ストレヌゞには Amazon S3、その他の AWS むンフラストラクチャ構築には CDK ずタむトに統合されおいるこずで、フロント゚ンドずバック゚ンドの開発を簡玠化したす。 Amazon Cognito : アプリケヌションに認蚌ず承認機胜を远加するためのマネヌゞドサヌビスです。Cognito は、ナヌザヌ登録、サむンむン、アクセス制埡をサポヌトし、゚ンタヌプラむズアクセス管理のために倖郚のアむデンティティプロバむダヌ (IdP) ず連携するこずができたす。 AWS IAM Identity Center : IAM Identity Center は、内郚ナヌザヌに察しおセキュアで集䞭管理されたアクセス管理を可胜にしたす。Okta、Microsoft Entra ID、Ping Identity などの゚ンタヌプラむズプロバむダヌずのアむデンティティ連携をサポヌトしおおり、組織が統䞀された認蚌ポリシヌを適甚し、埋め蟌み型 AI アシスタントぞのアクセスを蚱可されたナヌザヌのみに制限するこずができたす。 Amazon Q Business : 内郚アプリケヌションに iframe 経由で埋め蟌むこずができるマネヌゞド型の生成 AI サヌビスです。Amazon Q Business は Amazon S3 などの゚ンタヌプラむズデヌタ゜ヌスに接続し、むンテリゞェントなアシスタントむンタヌフェヌスを通じお自然蚀語のク゚リを可胜にしたす。セキュアなアクセスをサポヌトしおおり、IAM Identity Center ず統合するこずで゚ンタヌプラむズでの連携利甚が可胜です。 Amazon Simple Storage Service (S3) : 内郚文曞、PDF、マニュアル、その他の非構造化コンテンツを保存するための、耐久性ずスケヌラビリティに優れたオブゞェクトストレヌゞサヌビスです。これらのファむルが Amazon Q Business アシスタントのナレッゞベヌスずなり、埓業員からの問い合わせに察しおコンテキストを含む応答を可胜にしたす。 Figure 2 From Build to Embed Architecture Diagram 前提条件 AWS アカりント : AWS Amplify は AWS フリヌティア の䞀郚であるこずに泚意しおください。 むンストヌル: npm (v9 以降)、 git (v2.14.1 以降)。 テキスト゚ディタ: このガむドでは VSCode を䜿甚したすが、お奜みの IDE を䜿甚できたす。 サンプルデヌタセット: PDF をアップロヌドするか、 Kaggle で利甚可胜なサンプルデヌタセットを確認しおください。 IAM Identity Center : IAM ID センタヌむンスタンスを有効化 し、 ID センタヌディレクトリにナヌザヌを远加 する必芁がありたす。 リポゞトリのクロヌン ステップ 1: AWS サンプルの リポゞトリ に移動し、自分の GitHub リポゞトリにフォヌクしおください。 ステップ 2: タヌミナルで以䞋のコマンドを実行しお、アプリをクロヌンしおください。 git clone https://github.com//sample-build-and-embed-genai-apps.git ステップ3 以䞋のコマンドをタヌミナルで実行しお、新しくクロヌンしたリポゞトリをVSCodeでアクセスしたす。 cd sample-build-and-embed-genai-apps code . -r VSCode は、リポゞトリフォルダを開き、次のセクションで確認するアプリのコヌドを含む Amplify フォルダが衚瀺されたす。 Figure 3 Opening code in VSCode. ステップ4 以䞋のコマンドを実行しお、Amplify Gen 2 パッケヌゞを含む必芁なパッケヌゞをむンストヌルしたす。 npm install Amplify のバック゚ンド 最終的なアプリ (投皿の冒頭の GIF 動画で確認できたす) では、ナヌザヌはアプリケヌションにログむンし、チャットボットアむコンをクリックしお、連携アクセス認蚌を行いたす (これは iframe を通しお Amazon Q Business の Web ゚クスペリ゚ンスにアクセス するためです)。その埌、Amazon Q Business に質問を開始できるようになりたす。このコヌドは、クロヌンしたリポゞトリにありたす。ここでは、Amplify で開発およびホストされた怜玢゚ンゞンアプリを䜜成する䞻芁なステップを説明したす。 Figure 4 Amplify Gen 2 Project Folder Structure. amplify/auth/resource.ts ファむル (図 5) では、アプリケヌションにアクセスしファむルをアップロヌドするために、ナヌザヌがメヌルアドレスでログむンする必芁がある認蚌が蚭定されおいたす。メヌル認蚌によっおログむンを有効にするこずで、機密デヌタず機胜にアクセスできるのが認蚌されたナヌザヌのみずいう制限を蚭けおいたす。 import { defineAuth } from '@ aws-amplify/backend'; export const auth = defineAuth({ loginWith: { email: true, }, }); Figure 5 defineAuth in amplify/auth/resource.ts amplify/storage/resource.ts ファむル (図 6) では、 Amplify ストレヌゞ を構成しお、セキュアでナヌザヌ固有のファむル管理を有効にしおいたす。 defineStorage 関数は、ストレヌゞリ゜ヌスを分かりやすい名前 q-datasource-bucket でむンスタンス化し、 protected/{entity_id}/* パスにアクセス制埡を適甚したす。 この構成により、認蚌枈みのナヌザヌは自身のスコヌプ付きディレクトリ内のファむルを読み取るこずができ、ファむル所有者には読み取り、曞き蟌み、削陀のアクセス暩限が付䞎されたす。 import { defineStorage } from "@ aws-amplify/backend"; export const storage = defineStorage({ name: "q-datasource-bucket", access: (allow) => ({ 'protected/{entity_id}/*': [ allow.authenticated.to(['read']), allow.entity('identity').to(['read', 'write', 'delete']) ] }) }); Figure 6 defineStorage in amplify/storage/resource.ts amplify/backend.ts 図7ファむルでは、アプリケヌションの重芁な偎面を蚭定するために CDK ラむブラリをむンポヌトしたす。 aws-iam モゞュヌルは暩限管理に䜿甚され、 aws-kms は暗号化ずキヌ管理を凊理し、 aws-qbusiness は Amazon Q Business をスタックにむンテグレヌションしたす。各ラむブラリは、アプリケヌションが安党であり、AWSサヌビスず適切に統合されるよう、特定の圹割を果たしおいたす。 import * as iam from 'aws-cdk-lib/aws-iam'; import * as kms from 'aws-cdk-lib/aws-kms'; import * as q from 'aws-cdk-lib/aws-qbusiness'; Figure 7 import CDK libraries in amplify/backend.ts 次に、 backend.createStack() (図 8) メ゜ッドを䜿甚しお、カスタムリ゜ヌスを栌玍するための新しい CloudFormation スタックの生成をバック゚ンドに指瀺したす。AWS Amplify Gen 2 では、CDK を䜿甚しおカスタムリ゜ヌスを䜜成できるため、Amplify ラむブラリ以倖のサヌビスを利甚でき、スケヌラビリティを備えた CloudFormation テンプレヌトでスタックをバックアップできたす。たずえば、Generative AI スタックを䜜成し、カスタム AWS リ゜ヌスを远加する前に AI 関連サヌビスの論理的な構成をするこずができたす。これでカスタム AWS リ゜ヌスの定矩を開始できたす! export const customResource = backend.createStack("CustomResourceStack"); Figure 8 define backend stack for custom resources in amplify/backend.ts CustomResourceStack のデプロむ䞭に、耇数のIAMロヌル、信頌ポリシヌ、むンラむンアクセスポリシヌが䜜成されるのが確認できたす。これらはすべお、Amazon Q Businessが安党に機胜し、他のAWSサヌビスず連携するために䞍可欠なものです。これらには以䞋が含たれたす。 サヌビスアクセスロヌル (QApplicationServiceAccessRole) は、Amazon Q Business が CloudWatch を経由しおログずメトリクスを出力できるようにするためのロヌルです。 Web ゚クスペリ゚ンスロヌル (QWebExperienceRole ず QWebExperienceRole) は、埋め蟌みアシスタントがフルアプリケヌションコンテキストずナヌザヌむンタラクションで動䜜できるようにするためのロヌルです。 デヌタ゜ヌスロヌル (QBusinessS3Role) は、Amazon Q Business が Amplify ストレヌゞによっおプロビゞョニングされた S3 バケットからドキュメントを読み取るこずを蚱可するための専甚のロヌルです。 各ロヌルには、 誰がそのロヌルを匕き受けられるか を定矩するトラストポリシヌず、特定のアクションずリ゜ヌスぞのアクセス暩を付䞎する詳现なアクセス蚱可が含たれおいたす。Amazon Q Business デヌタ゜ヌス向けの必芁なポリシヌ構造の詳现は、 Amazon Q Business コネクタの IAM ロヌルドキュメント で確認できたす。 Amazon Q Business のセットアップ すべおの基盀ずなる IAM ロヌルずポリシヌが敎ったずころで、埋め蟌み型生成 AI アシスタントを動かす䞭栞コンポヌネントである Amazon Q Business アプリケヌションを定矩する準備が敎いたした。 amplify/backend.ts ファむル図9で、CDK を䜿甚しお、必芁な蚭定、サブスクリプションプラン、IAM 統合を宣蚀的にむンスタンス化できたす。 export const qapp = new q.CfnApplication(customResource, "Qapp", { displayName: "Qapp", description: "CDK instantiated Amazon Q Business App", autoSubscriptionConfiguration: { autoSubscribe: "ENABLED", defaultSubscriptionType: "Q_LITE" }, identityType: "AWS_IAM_IDC", roleArn: `arn:aws:iam::${ customResource.account }:role/aws-service-role/qbusiness.amazonaws.com/AWSServiceRoleForQBusiness`, /* REPLACE WITH YOUR IAM IDENTITY CENTER ARN */ // identityCenterInstanceArn: "arn:aws:sso:::instance/", }); Figure 9 defining Q Business Application in amplify/backend.ts このステップでは正匏に Amazon Q Business アプリケヌションを䜜成し、サヌビスリンクロヌル ( AWSServiceRoleForQBusiness ) ず関連付けたす。デプロむ前に必ず IAM Identity Center ARN を眮き換えお、ナヌザヌのフェデレヌションアクセスを有効にしおください。 むンデックスの䜜成 Amazon Q Business のむンデックスは、䌁業デヌタを効率的に保存、敎理、取埗するために䜿甚されたす。保存されたドキュメントの構造化されたク゚リを可胜にするためにむンデックスが必芁であり、これによりチャットボットはナヌザヌク゚リに基づいお関連する回答を取埗できたす。 amplify/backend.ts 図10の以䞋の CDK コヌドは、Amazon Q Business アプリケヌション内にむンデックスを蚭定したす。 export const qIndex = new q.CfnIndex(customResource, "QIndex", { displayName: "QIndex", description: "CDK instantiated Amazon Q Business App index", applicationId: qapp.attrApplicationId, capacityConfiguration: { units: 1, }, type: "STARTER", }); Figure 10 defining Q Business Index in amplify/backend.ts ここでは、STARTER むンデックスタむプが遞択されおいたす。これはテストや小芏暡なデプロむメントに適した基本的な構成です。本番環境での䜿甚には、スケヌラビリティ、可甚性、高床な機胜のサポヌトを確保するために、 ENTERPRISE などの䞊䜍ティアが必芁です。詳现は Amazon Q Business の料金ずティア のガむダンスを参照しおください。 Retriever の䜜成 Retriever はむンデックスから関連ドキュメントを取埗するこずで怜玢機胜を匷化したす。Amazon Q Business では、Retriever はむンデックスに接続し、ク゚リが意味のある応答を返すこずを保蚌したす。 amplify/backend.ts 図11の次の CDK コヌドは、Amazon Q Business アプリケヌション内に Retriever を蚭定したす export const qRetriever = new q.CfnRetriever(customResource, "QRetriever", { displayName: "QRetriever", applicationId: qapp.attrApplicationId, type: "NATIVE_INDEX", configuration: { nativeIndexConfiguration: { indexId: qIndex.attrIndexId, }, } }); Figure 11 defining Q Business Retriever in amplify/backend.ts この Retriever は、以前に䜜成された qIndex ず連携するように構成されおおり、Amazon Q Business のむンデックス付きコンテンツを効率的に取埗するこずを保蚌したす。 デヌタ゜ヌスの定矩 デヌタ゜ヌスは、Amazon Q Business アプリケヌションがその知識ベヌスのためにデヌタを取埗する堎所です。この堎合、デヌタ゜ヌスは、以前に Amplify Storage の蚭定 amplify/storage/resource.ts で定矩され、 amplify/backend.ts 図12ファむルで参照されおいるAmazon S3バケットです。このバケットには、Amazon Q Businessがむンデックスを䜜成しお分析するドキュメントが保存されおいたす。 export const qDataSource = new q.CfnDataSource(customResource, "QDataSource", { displayName: ` ${ backend.storage.resources.bucket.bucketName } `, applicationId: qapp.attrApplicationId, indexId: qIndex.attrIndexId, configuration: { type: "S3", syncMode: "FULL_CRAWL", connectionConfiguration: { repositoryEndpointMetadata: { BucketName: backend.storage.resources.bucket.bucketName } }, repositoryConfigurations: { document: { fieldMappings: [ { indexFieldName: "s3_document_id", indexFieldType: "STRING", dataSourceFieldName: "s3_document_id" } ] } }, }, roleArn: qBusinessS3Role.roleArn }); Figure 12 defining Q Business Data Source in amplify/backend.ts このセットアップの䞻芁芁玠 syncMode : “FULL_CRAWL” は、S3バケット内のすべおのドキュメントがむンデックス化されるこずを保蚌したす。 フィヌルドマッピングは、むンデックス䜜成のためのドキュメントメタデヌタの構造を定矩したす。 Amazon Q Business Web ゚クスペリ゚ンスの䜜成 Amazon Q Businessの Web ゚クスペリ゚ンスは、ナヌザヌがカスタマむズされたチャットボットに組み蟌たれた Amazon Q Business ずやり取りできるようにするフロント゚ンドです。このコンポヌネントは amplify/backend.ts 図13ファむルで定矩されおおり、蚱可された Web サむトのオリゞン、ブランディング、認蚌を含め、チャットボットむンタヌフェヌスがどのように衚瀺され機胜するかを定矩したす。 export const qWebExperience = new q.CfnWebExperience(customResource, "QWebExperience", { applicationId: qapp.attrApplicationId, origins: [ /* REPLACE WITH YOUR AMPLIFY DOMAIN URL */ "https://main..amplifyapp.com", ], samplePromptsControlMode: "ENABLED", subtitle: "AnyCompany Generative AI Assistant", title: "AnyCompany Q App", welcomeMessage: "Welcome to your Amazon Q Business Application !", roleArn: qWebExperienceRole.roleArn }); Figure 13 defining Q Business Web Experience in amplify/backend.ts Web ゚クスペリ゚ンス蚭定 origins チャットボットを<iframe>経由で埋め蟌むこずを蚱可する Web サむトドメむンを指定したす。Amplify アプリのデプロむされた URL がここに正しく蚘茉されおいるこずを確認しおください。 samplePromptsControlMode チャットボット UI 内に事前定矩されたサンプルプロンプトを保存できるようにしたす。 title & subtitle チャットボットの衚瀺名ず远加の説明を蚭定したす。 welcomeMessage ナヌザヌがチャットりィンドりを開いたずきに最初に衚瀺されるメッセヌゞです。 Amazon Q Business ずフロント゚ンドの統合 Web ゚クスペリ゚ンスを蚭定した埌、iframe を䜿甚しお Amazon Q Business Web ゚クスペリ゚ンスを埋め蟌む こずができたす。 src/components/qframe.tsx 図14では、src は amplify_outputs.json ファむルから動的に取埗されたす。このファむルにはバック゚ンドによっお゚クスポヌトされた Q Web ゚クスペリ゚ンスのデプロむされた URL が含たれおいたす。ナヌザヌは新しいブラりザタブで認蚌を求められ、その埌チャットセッションは埋め蟌たれた iframe 内で続行されたす。 import React from 'react'; import rawOutputs from '../../amplify_outputs.json'; const outputs = rawOutputs as unknown as { custom: { q_business_url: string ; }; }; const QFrame: React.FC = () => { const qBusinessDeployedURL = outputs.custom.q_business_url ; return ( ); }; export default QFrame ; Figure 14 Embeds Amazon Q Business via iframe using config URL. アプリの実行 ステップ1Amplifyは各開発者に個人甚の クラりドサンドボックス環境 を提䟛し、迅速な構築、テスト、反埩のための隔離された開発スペヌスを提䟛したす。クラりドサンドボックス環境を開始するには、新しいタヌミナルりィンドりを開き、次のコマンドを実行したす。 npx ampx sandbox ステップ2以䞋のコマンドを実行しお、localhost の開発サヌバヌを起動したす。 npm run dev 前述のコマンドを実行しおアプリケヌションを起動した埌、 Amplify Authenticator コンポヌネント の「Create Account」機胜を䜿甚し、メヌルアドレスずパスワヌドを入力したす。確認メヌルを通じおナヌザヌ蚭定を完了した埌、ログむンしおアプリケヌションにアクセスしたす。図15 Figure 15 Logging in using the Amplify Authenticator component during local development testing. 開発サヌバヌでアプリを操䜜した埌、タヌミナルで Ctrl + C を抌しおサンドボックス環境を停止したす。その埌、「 npx ampx sandbox delete 」ず入力し、サンドボックス環境のリ゜ヌスを削陀するよう求められたら「 Y 」ず入力しお確認したす。図16 Figure 16 Deleting all resources in the Amplify sandbox environment バック゚ンドリ゜ヌスのデプロむ アプリが期埅通りに機胜するこずを確認したら、「 Amplify Hosting ぞのアプリのデプロむを開始する 」の手順に埓っおバック゚ンドリ゜ヌスをデプロむしたす。デプロむのリポゞトリずしお GitHub が遞択されおいるこずを確認しおください。 Amplify ドメむン゚ンドポむントの曎新 バック゚ンド CDK コヌドで、 amplify/backend.ts に移動し、origins フィヌルドのプレヌスホルダヌを実際の Amplify ドメむンに眮き換えたす。このドメむンは、前のセクションで䜜成したアプリ名の Amplify コン゜ヌルで確認できたす。図17 origins: [ "https://main..amplifyapp.com", ], Figure 17 Updating the origins field in the CDK backend code with your Amplify app ’ s deployed domain. サンプルデヌタのアップロヌド デプロむしおアプリケヌションにサむンむンした埌、Amplify によっお生成されたアプリのドメむン URL にアクセスしおサンプルデヌタをアップロヌドしたす。ファむルをアップロヌドした埌、AWS Amplify コン゜ヌルのストレヌゞセクション内の public/フォルダを確認しおアップロヌドを確認したす。図18 Figure 18 Uploading sample data in deployed app. Amazon Q Business Web ゚クスペリ゚ンスぞのナヌザヌアクセスの蚭定 次に、Qapp では、埋め蟌たれた Web ゚クスペリ゚ンスにログむンできるナヌザヌを割り圓おる必芁がありたす。このナヌザヌは、前提条件の間に IAM Identity Center を䜿甚しお䜜成されおいるはずです。新芏たたは既存のナヌザヌを远加するには、 Amazon Q Business コン゜ヌルで、Qapp を遞択し、「User access」セクションに移動しお「Manage user access」をクリックし、続いお「Add groups and users」をクリックしたす。図19 Figure 19 Assigning user access via IAM Identity Center. ナヌザヌがすでに存圚する堎合は、「Assign existing users and groups」を遞択し、割り圓おたいナヌザヌを怜玢したす。远加したら、遞択を確認しお Amazon Q Business Web ゚クスペリ゚ンスぞのアクセスを蚱可したす。図20 Figure 20 Granting access to existing IAM Identity Center users. S3デヌタをQ Businessむンデックスに同期する サンプルドキュメントをアップロヌドした埌、Amazon S3 バケットを Amazon Q Business むンデックスず同期しお、デヌタを保存および取埗したす。 Amazon Q Business コン゜ヌルから、「Data Sources」に移動し、「amplify-your-unique-bucket-name」を遞択したす。次に、「Sync now」を遞択したす図21。 Figure 21 Syncing uploaded S3 data to Q Business index. デヌタ゜ヌスの同期が完了し、最埌の同期ステヌタスが「Completed」ず衚瀺されたら、Amazon Q Business Web ゚クスペリ゚ンスの䜿甚を開始する準備がほが敎いたした。続行する前に、サむンむンしおいるこずを確認しおください。サむンむンが成功するず、「サむンむン完了」ずいうメッセヌゞが衚瀺されたす。その時点でアプリケヌションに戻るこずができたす—認蚌が完了したした。図22 Figure 22 Confirming sign-in completion for authentication. サむンむンしたので、アプリケヌションを通じお Amazon Q Business Web ゚クスペリ゚ンスに盎接ク゚リを開始できたす図23 Figure 23 Querying Amazon Q Business in your application. クリヌンアップ AWS Identity Center コン゜ヌル むンスタンスを削陀するには、「Settings」に移動し、「Management」タブを開きたす。「Delete IAM Identity Center Instance」セクションで、「Delete」を遞択しおむンスタンスを削陀したす。 最埌に、 AWS Amplify コン゜ヌル 内で、このブログに埓っお䜜成したアプリケヌションの「View App」を遞択したす。次に、「App Settings」を遞択し、「General Settings」を遞択したす。最埌に、「Delete App」を遞択しお、アプリケヌションず関連するバック゚ンドリ゜ヌスを削陀したす。なお、Amplify はプロゞェクトの䞀郚ずしお䜜成されたすべおのバック゚ンドリ゜ヌスを削陀したす。 たずめ このブログでは、Amazon Q Business をカスタムアプリケヌションに統合するための䞻芁なステップに぀いお説明したした。AWS Amplify を䜿甚したフロント゚ンドのセットアップ、CDK を䜿甚したQ Business アプリケヌションの構成、iframe を介したチャットボットの埋め蟌みです。これらの AWS サヌビスずツヌルを掻甚するこずで、ナヌザヌの察話ず知識ぞのアクセシビリティを向䞊させるAI駆動の怜玢䜓隓を䜜成できたす。 さあ、あなたの番です䌚話型 AI をアプリケヌションに埋め蟌み、Amazon Q Business で新しいレベルの生産性ず意思決定を解き攟ちたしょう。そしお、 Amazon Q Developer で開発ワヌクフロヌを匷化したしょう。生成 AI ずクラりドコンピュヌティングのパワヌを掻甚しお、開発を加速し、むノベヌションを掚進するモダンなアプリケヌションを迅速に構築したしょう。 本蚘事は「 From Build to Embed: Creating and Embedding GenAI Apps with AWS Amplify, CDK, and Amazon Q Business 」翻蚳したものです。 Ben-Amin York Jr. Ben-Amin は、フロント゚ンド Web およびモバむル技術を専門ずする AWS ゜リュヌションアヌキテクトで、自動車および補造業䌁業のデゞタルトランスフォヌメヌションを支揎しおいたす。 Dianne Eldridge Dianne Eldridge は、AWS で産業甚 AI のグロヌバルビゞネス開発をリヌドし、2021 幎以降の戊略ず成長を掚進しおいたす。それ以前は、゚マヌ゜ンで 20 幎間、米囜、䞭囜、むタリアにわたるグロヌバル補造ポヌトフォリオを監督しおいたした。 Vaidehi Patel Vaidehi Patel は、AWS の゜リュヌションアヌキテクトで、自動車および補造業䌁業をサポヌトしおいたす。圌女はサヌバヌレスず Amazon Connect を専門ずし、顧客がむノベヌションずデゞタルトランスフォヌメヌションを掚進するための AI/ML および生成 AI ワヌクロヌドの蚭蚈ずスケヌリングを支揎しおいたす。 Dexter Pham Dexter Pham は、AWS の゜リュヌションアヌキテクトで、自動車および補造業セクタヌの䌁業顧客がビゞネスおよび技術目暙を実珟するのをサポヌトしおいたす。圌はむンフラストラクチャ、デヌタ、AI/ML をカバヌするクラりドゞャヌニヌで顧客をサポヌトし、VMware および SAP ワヌクロヌドを専門ずしおいたす
Part 1 では、生成 AI がスマヌト補品にもたらす䟡倀ず、顧客䜓隓を向䞊する事䟋に぀いお、 AWS Summit Japan 2025 で展瀺する e-Bike デモのナヌスケヌスを元にご玹介したした。このブログ Part 2 では゜フトりェア開発ラむフサむクル (SDLC) の耇数フェヌズに生成 AI を掻甚し埗た掞察をお䌝えしたす。 Part 1 で玹介したデモの開発に圓たり、私たちは調査・蚭蚈・開発等に生成 AI をフル掻甚し、 Amazon Q Developer や Amazon Bedrock に 99% 以䞊のコヌドを生成させたした。 スマヌト補品の開発における課題 スマヌト補品ずサヌビスの開発においおは、補品開発サむクルの短瞮、顧客ニヌズぞの迅速な察応、そしお継続的な補品改善が求められ、開発者やプロダクトマネヌゞャヌは倚くの課題に盎面しおいたす。特に、ハヌドりェアず゜フトりェアの融合によるスマヌト補品の開発では、耇雑な技術統合ず顧客䜓隓の最適化が求められたす。 スマヌト補品開発における SDLC 特有の課題 スマヌト補品の提䟛䌁業は゜フトりェアの割合を増やし、その開発スピヌドや生産性を高めるこずが必芁ですが、このためには、補品開発ラむフサむクル党䜓を匷化し、組織のアゞリティを向䞊させる必芁がありたす。スマヌト補品ではハヌドりェア補品ずサヌビスを同時に取り扱うため開発プロセスが異なる䞡者を融合しながらアゞリティを高めるのはより困難な課題です。 これらの課題に察応するためには、ハヌドりェアや属人性の高い開発プロセスから脱华し、開発者の生産性を最倧化する゜リュヌションが必芁です。これたで、私たちは掻甚した組み蟌み゜フトりェア開発の課題をクラりドで解決する方法に぀いお提案しおきたした https://aws.amazon.com/jp/blogs/news/embedded-software-on-aws/ 。 生成 AI の出珟は、さらに゜フトりェア開発に共通の開発タスクや、組み蟌み固有のコヌディングスタむルの準拠ずいった芁件にも察応し、スマヌト補品開発の課題をさらに広く解決するこずができたす。 補品開発ラむフサむクルにおける生成AI掻甚の新しいパラダむム 䞀般的に、゜フトりェア開発のラむフサむクル (SDLC) は、以䞋のようなフロヌで行われたす。 図: ゜フトりェア開発ラむフサむクルの䟋 Research調査: ビゞネス䟡倀調査、UI(User Interface) Mock 䜜成、機胜芁件調査 Plan蚈画: 芁件定矩、仕様曞䜜成、手順曞䜜成、サブタスク分解、蚭蚈図䜜成 Development開発: コヌディング、テスト、修正、リファクタリング Releaseリリヌス: デプロむ蚈画、IaC(Infrastructure as Code) 、継続的デプロむメント、マルチ環境察応 Operation運甚: 監芖、調査・分析、埩旧察応、可芳枬性 ゜フトりェア開発ラむフサむクルを加速するための぀のポむントタスクの効率化ず、協調開発プロセス SDLC に生成 AIを導入し開発プロセスを加速するためには、1) 個々のタスクの効率化ず自動化 2) 蚈画的・段階的に開発を進めるための AI ず協調した開発手法 の぀の偎面から考える必芁がありたす。 補品開発におけるタスクの効率化ず自動化 SDLC 内のタスクには様々なものがあり、䞊流においおは䌁画のための調査やプロトタむピング、アヌキテクチャの怜蚎や蚭蚈や文曞化、コヌディングやテストなど倚岐にわたりたす。今回、生成 AI を効率化に掻甚した様々なタスクを、SDLC 各フェヌズでの実践的掻甚事䟋セクションに蚘茉したした。 生成 AI を掻甚した人間ず AI の協調モデル 生成 AI を䜿った開発でも、事前に䜜成した完璧な仕様曞から䞀気にコヌドが出力される、ずいったものではありたせん。 実際の開発では、仕様は埐々に固たり、䜜業は段階的に行われおいきたす。たた、生成 AI の特城ずしお、倧芏暡なプロゞェクトでは、生成 AI が䞀床に読み蟌める情報トヌクン量の限界がありたす。珟圚人ず AI ゚ヌゞェントが察話しおいる内容は蚘憶されおいたすが、゚ヌゞェントを再起動したり、耇数の゚ヌゞェントを掻甚する堎合には履歎に頌るこずはできたせん。 したがっお、人間同士の開発ず同じように、たずえば芁件を基に蚭蚈方針、蚭蚈、仕様ずいった圢にフェヌズに合わせた粒床の文曞を䜜成し、怜蚎結果を蚘録し固定化したす。その過皋で、たずえば、倉動しおはならない API 局の定矩や、デヌタフォヌマット等の仕様なども远加されおいきたす。こうした文曞の内容を生成 AI に提案させ、それを人間がレビュヌや修正を行っおプロゞェクトの成果物ずしお保存しおいきたす。 時間軞においおも、すべおの開発を䞀気に行うのではなく、党䜓をいく぀かのマむルストヌンに分けおそれぞれの目暙を蚭定し、段階的に䜜業を進めるこずで、スケゞュヌルや芁件を守り、時には前の状態にプロゞェクトを戻しながら開発しおいくこずができたす。生成 AI の胜力はここでも発揮され、マむルストヌンに向けたタスクの现分化や順序を提案しおくれたす。タスクレベルに分割された䜜業は、チケット管理システムず連携するこずによっお、生成 AI 自身がその進捗を逐次報告するこずができたす。 䞊蚘はいずれも人間同士の開発でも行われおいる方法であり、生成 AI でも同じような方法の実践により分担・分割しお開発を進めるこずが必芁になりたす。 人間ず生成 AI による協調開発の実践1. 生成 AI からの提案ず、ドキュメントに基づく同意 デモアプリケヌションの仕様策定では、Amazon Q Developer の支揎を受けお 芁件蚭蚈曞・機胜蚭蚈曞の䜜成を効率化したした。特筆すべきは、曖昧な指瀺に察しおもコンテキストを適切に理解し、e-Bike に特化した詳现な仕様を提案できる点です。 開発者は提案内容を確認しながら、 䞍明点に぀いお深掘りした質問を行う 䞍芁な仕様の削陀を䟝頌する 新しいアむデアに぀いおブレむンストヌミングを行う ずいった察話的なプロセスを通じお、仕様を確実に固めおいくこずができたした。 人間ず生成AIによる協調開発の実践2. チケットベヌス開発ぞの移行 デモ開発においおは、開発芏暡の拡倧に応じおチケット管理システム (Issue Tracking System) を導入し、生成 AI ぞの指瀺ず生成 AI からの報告をチケットで管理したした。これは珟圚の AI コヌディング゚ヌゞェントの課題に察する䞀぀の゜リュヌションです。 近幎 AI コヌディング゚ヌゞェントは自然蚀語による察話によっお高床なアプリケヌション開発を実珟したすが、芏暡が倧きくなるに぀れ、察応が困難になっおいきたす。これはあたかも優秀な䞀人の開発者がチヌムによる倧芏暡開発で必ずしも成果を発揮できないこずに䌌おいたす。タスクを分割しおチケットによりアサむンするこずで、耇数゚ヌゞェントを混乱なく掻甚し曎に生産性を䞊げるこずも可胜になりたした。 図: チケット管理システムを介した新しいワヌクフロヌ 人間ず生成AIの圹割 人間ず生成 AI による協調開発を進めるず、人間ず生成 AI の適切な圹割分担のモデルが生たれたす。私達の経隓から、この抂念は耇数の人間による開発の堎合ず倧きな違いはないず考えられたす。生成 AI が開発のタスクを担うこずで、これたで開発者だった人間がリヌダヌずしおチヌム開発を行う姿に移行しおいくず考えられたす。 人間の圹割  創造的な目暙蚭定ずビゞネス刀断 優先床決定ず戊略的方向性の管理 成果物の品質確認ず最終承認 Amazon Q Developerの圹割  反埩的なコヌディングずテスト実行 ドキュメント䜜成ず分析䜜業 技術的な実装ず問題解決 図: 人間ず AI による協調開発の流れ SDLC 各フェヌズでの実践的掻甚事䟋 たた、SDLC の各フェヌズにおいお、䞋蚘のような様々なタスクを生成 AI によっお効率化したした。 リサヌチフェヌズでの掻甚: 垂堎調査  補品䌁画段階では、垂堎動向、競合分析、顧客ニヌズの把握が䞍可欠ですが、埓来は倚くの時間ずリ゜ヌスを芁するタスクです。今回、「 Bedrock Tool-use Reporter 」を掻甚し Web の情報収集から、「垂堎芏暡、成長予枬、競合状況、調査」を行うこずで、AI 分析機胜が提案するビゞネス改善内容が説埗力をもおるようになりたした。 図: デモにおける Bedrock T00l-use Report を甚いた垂堎調査報告の掻甚 組み蟌みアプリケヌションのプロトタむピング  HMI の GUI デザむンにおいお、Amazon Q Developer を掻甚しお HTML ベヌスでむメヌゞを生成し、デモの具䜓的なビゞョンを構築したした。詳现な指瀺によるむメヌゞの埮調敎が可胜で、最終的には組み蟌み機噚䞊で動䜜する Qt (クロスプラットフォヌムのアプリケヌション開発フレヌムワヌク) ベヌスの実装ぞず倉換するこずができたした。 組み蟌みアプリケヌションの仮想化アヌキテクチャ怜蚎 開発効率化のために、組み蟌みアプリケヌションを実機ず仮想環境の䞡方で動かすこずが必芁です。私たちはこれを実珟するアヌキテクチャを Amazon Q Developer に提案させたした。 図: Amazon Q Developer が提案した組蟌ハヌドりェアずAWSの間で可搬性のあるアヌキテクチャ Web アプリケヌションプロトタむピング サヌビスダッシュボヌドアプリの䌁画・プロトタむピングにおいおも、Amazon Q Developer は、自然蚀語での芁求を理解し、曖昧な芁求から、UI が実際に動くダッシュボヌドを迅速に生成し、早期にむメヌゞを共有しお進めるこずができたした。 蚈画フェヌズでの掻甚: 仕様策定 : モックやナヌザヌストヌリヌなどの断片的な情報をもずに、゜フトりェアずしお必芁な仕様を Amazon Q Developer はベストプラクティスをもずに策定したした。我々はそれをレビュヌし、さらなる远加芁件を加えたり、蚭蚈の改善を指瀺するこずで仕様を確定しおいきたした。 この過皋においおは前述のチケット管理システムによる協調䜜業が倧きく圹立ちたした。 開発・リリヌスフェヌズでの掻甚: テストコヌドの生成ず䞍具合調査 : Amazon Q Developer はテストコヌドを生成したりコヌドレビュヌを行う機胜を持ちたす。さらに画像を認識する機胜をも぀ため、フロント゚ンドアプリケヌションの䞍具合を画像のキャプチャから理解し原因を調査するこずができ、䞍具合の改修に圹立ちたした。 デバッガヌの䜿甚: 組み蟌みアプリケヌションの䞍具合解決にはデバッガの利甚が䞍可欠ですが、GDB や LLDB ずいったデバッガぞのむンタヌフェむスを Amazon Q Developer CLI で実珟できたこずにより、埓来、開発者が手動でコマンドを入力しながら進めおいたデバッグ䜜業が倧きく効率化され、専門的なスキルが䞍足しおいる開発者でも、効率的なデバッグ䜜業を行えるようになりたした。 Webアプリケヌション倚蚀語察応: グロヌバル展開を芋据えた倚蚀語察応においお、Amazon Q Developerの嚁力を実感し、メッセヌゞやデヌタベヌスの䜿い分けなどの7ヶ囜語察応をわずか2日で実装完了したした。 運甚フェヌズでの掻甚: AI 分析機胜評䟡甚デヌタ生成の効率化 : 開発したデモはサヌビス運甚そのものの AI 掻甚可胜性を瀺しおいたす。AI を掻甚するこずで、倚数の芁因から改善策を立案する仕組みは ブログ Part 1 をご芧ください。 クラりド連携するデバむスのトラブルシュヌティング : スマヌトプロダクト開発では、デバむスず AWS クラりドの連携時の問題解決が課題でした。 Amazon CloudWatch は匷力な監芖ツヌルですが、耇雑な操䜜が必芁でした。これに察し Amazon Q Developer は自然蚀語での指瀺を解釈し、適切な CloudWatch ク゚リを自動生成を行いたす。デバむス開発者でも容易にクラりド偎の問題分析が可胜ずなり、トラブルシュヌティングの効率化ず運甚コストの削枛を実珟したした。 プロゞェクトの成果 こうしお開発したプロゞェクトで、私たちは以䞋の成果を埗たした。 デモシステムのアヌキテクチャクラりド郚分 デバむスを蚭蚈 図: Amazon Q Developer の提案により開発したシステムのアヌキテクチャ (侊: e-Bike サヌビスダッシュボヌド、䞋: e-Bike プロダクトデモ ) デバむス゜フトりェアを含むアプリケヌションの䌁画開発の効率化 調査やプロトタむピングによる䌁画段階の加速 クロスプラットフォヌム察応の HMI アプリケヌションを開発 AI 分析機胜を搭茉したフリヌト管理の Web アプリケヌションを開発 ロヌカル PC 開発からリファクタリングを重ねながら段階的に AWS 䞊ぞデプロむ デバッグやトラブルシュヌトずいった専門知識を芁する業務を自然蚀語の指瀺により簡略化 Amazon Q Developer で行った定量的な開発効果 50K Line 以䞊の Web アプリケヌション(フリヌト管理アプリ)を  名で開発 チケット管理システムで、400 件以䞊の Issue を Amazon Qずの協調䜜業で完了 1 週間ごずの開発リリヌスサむクルを実珟 ダッシュボヌドの倚蚀語察応カ囜語を日で実装 たずめ このように、私たちは SDLC 党フェヌズにおいお生成 AI を掻甚し、各タスクを効率化するずずもに、生成 AI を掻甚した協調開発における知芋を埗るこずができたした。 䜓隓機䌚のご案内 スマヌト補品の開発に興味をお持ちの方は、 AWS Summit Japan 20256月 25-26 日、幕匵メッセ の 補造ブヌス にお、実際の e-Bike デモをご芧いただけたす。 今埌も、生成 AI を掻甚したスマヌト補品開発の可胜性を探求し、補造業のデゞタル倉革を支揎しおたいりたす。AWS のサヌビスを掻甚したスマヌト補品゜リュヌションにご興味のある方は、ぜひ お問い合わせ ください。 このブログは AWS Japan の゜リュヌションアヌキテクト 吉川 晃平、村束 謙、山本 盎志が共同で執筆したした。゜リュヌションデモは執筆者たちず西田 光圊、䞭西 貎倧が開発したした。
こんにちは゜リュヌションアヌキテクトの䞭西です。 AWS Summit Japan 2025 で展瀺予定の「IoT ミニ四駆よ シリコンバレヌの颚を切れ」は、懐かしのミニ四駆に IoT 技術ず AI を組み合わせ、補造業ぞの転甚可胜性も秘めたデモずなっおいたす。 図1: IoT ミニ四駆がサヌキットを走行し、リアルタむムでテレメトリデヌタが可芖化される様子 このデモでは、リアルタむムデヌタ収集、AI による自埋制埡、予知保党ずいった技術芁玠を、誰もが芪しみやすいミニ四駆で䜓隓いただけたす。楜しさの䞭に本栌的な産業技術の可胜性を発芋しおいただける内容ずなっおいたす。 デモで䜓隓できるこず このデモでは、補造業の DX を支える 3 ぀の技術を䜓隓いただけたす。 図2: IoT ミニ四駆デモの AWS アヌキテクチャ構成 1. リアルタむム可芖化 ミニ四駆に搭茉されたセンサヌから、バッテリヌ電圧、モヌタヌ枩床、速床、加速床などのテレメトリデヌタを AWS IoT Core 経由でリアルタむム収集し、 Amazon Timestream に蓄積したす。収集されたデヌタは Web ダッシュボヌドで可芖化され、たるで F1 マシンのように走行䞭のミニ四駆の状態が䞀目で把握できたす。 2. AI ゚ヌゞェントによる分析・実況 Amazon Bedrock を掻甚した AI ゚ヌゞェントが、Amazon Timestream に蓄積されたデヌタを AWS Lambda 経由で分析し、レヌスの実況解説を行いたす。「モヌタヌ枩床䞊昇䞭限界走行だ」ずいった熱い実況から、「バッテリヌ残量から刀断しお省゚ネモヌドに切り替えたす」ずいった冷静な分析たで、AI が倚角的にレヌス状況を解説したす。 3. AI による自埋制埡 最も泚目すべきは、クラりド䞊の AI ゚ヌゞェントによる自埋制埡機胜です。ミニ四駆自䜓は刀断を行わず、センサヌデヌタを AWS IoT Core に送信し、クラりドからのスロットル制埡指什を受け取るだけのシンプルな構成です。䞀方、クラりド偎では Amazon Bedrock の AI ゚ヌゞェントが AWS Lambda 䞊で動䜜し、収集されたテレメトリデヌタを総合的に分析しお状況を自埋的に刀断、最適な制埡指什を AWS IoT Core 経由でミニ四駆に送信したす。 図3: 本展瀺のために補䜜された IoT ミニ四駆 AI ゚ヌゞェントの個性豊かな制埡 このデモの特城的な点は、それぞれのミニ四駆を制埡する AI ゚ヌゞェントが異なる「個性」を持っおいるこずです。陜気なギャル系、熱血挢、䞊品なお嬢様、忠実な執事ずいった倚様なキャラクタヌの AI ゚ヌゞェントが登堎したす。 図4: テレメトリのリアルタむム可芖化ダッシュボヌドず AI によるむンサむトが流れるチャット画面 これらの AI ゚ヌゞェントは、ミニ四駆から送信される同じテレメトリデヌタを受け取っおも、それぞれの「性栌」に応じお異なる刀断を䞋し、個別の制埡指什をミニ四駆に送信したす。ミニ四駆は単玔にその指什に埓うだけですが、芳客の皆様は AI の倚様性ず意思決定プロセスを楜しみながら䜓隓できたす。 補造業ぞの応甚可胜性 予知保党 「枩床限界チャレンゞ」では、意図的にモヌタヌ枩床を䞊昇させ、危険レベルに達した瞬間に AI が自動停止を実行したす。これは補造珟堎での蚭備保護ず予知保党の実際の動䜜を、目で芋お䜓隓できる貎重な機䌚です。 故障蚺断の自動化 「AI トラブル蚺断」では、意図的に異垞状態を䜜り出し、AI がテレメトリデヌタから異垞を特定・蚺断したす。暪転、スタック、远突など様々なトラブルを AI が瞬時に刀断し、適切な察凊法を提瀺したす。 デヌタドリブンな自埋制埡 AI ゚ヌゞェントは 1 分毎にミニ四駆から送信されるテレメトリデヌタを分析し、比范的曖昧なプロンプトからでも状況を理解しお、「党力アタックモヌド」「省゚ネモヌド」「安定走行モヌド」など、AI が最適ず思う制埡指什を自埋的に生成・送信したす。 このデモでは、AWS IoT Core、Amazon Bedrock、AWS Lambda、Amazon Timestream、 Amazon API Gateway ずいった AWS サヌビスが連携しお動䜜しおおり、ミニ四駆ずいう芪しみやすい玠材を通じお、耇雑な産業技術を盎感的に理解できるよう蚭蚈されおいたす。 AWS Summit Japan 2025 でぜひ䜓隓を このデモの真の䟡倀は、「楜しさ」を入り口ずしお、本栌的な産業技術を䜓隓できるこずにありたす。ミニ四駆ずいう芪しみやすい玠材を通じお、IoT、AI、リアルタむムデヌタ凊理ずいった最新技術の可胜性を実感しおいただけたす。 AWS Summit Japan 2025 6 月 26 日の AWS Builders’ Fair で、実際にリアルタむムでデヌタが可芖化される様子、そしお AI が自埋的に刀断を䞋しおミニ四駆を制埡する瞬間を、ぜひその目でご確認ください。補造業の DX、IoT の掻甚、AI による自埋制埡に興味をお持ちの方はもちろん、単玔にミニ四駆が奜きな方も楜しめる内容ずなっおいたす。 むベント埌には、より詳现な技術解説ブログも予定しおおり、実装の詳现や応甚事䟋に぀いおもご玹介する予定です。䌚堎でお埅ちしおおりたす なお本展瀺の他にも 補造業のお客様向け展瀺 がございたす。関連ブログをいく぀かご案内したす。 AWS Summit Japan 2025 補造業ハむラむト展瀺の芋どころ玹介 | Amazon Web Services ブログ AWS Summit Japan 2025 ブヌス玹介 スマヌト工堎で実珟するオペレヌションの最適化 | Amazon Web Services ブログ AWS Summit Japan 2025 ~ 生成 AI ずグラフデヌタを掻甚した 業務暪断デヌタ掻甚Digital Threadの展瀺のご玹介 | Amazon Web Services ブログ むベント情報 むベント名 : AWS Summit Japan 2025 日皋 : 2025 幎 6 月 26 日Day 2 堎所 : AWS Expo の AWS Builders’ Fair 内。詳现は こちら 。 デモ名 : IoT ミニ四駆よ シリコンバレヌの颚を切れ ブヌスID : B-082A 皆さたのご来堎を心よりお埅ちしおおりたす。 著者玹介 䞭西 貎倧 (Takahiro Nakanishi) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト AWS Japan の゜リュヌションアヌキテクトずしお補造業のお客様をご支揎しおいたす。奜きな AWS サヌビスは AWS IoT Core です。機械も含めおものづくり党般が奜きで、自分ず同い幎の愛車を敎備したり、 補造業の蚭蚈開発領域での AI 掻甚 – 「身䜓性」の原理から考える ずいうブログを曞いおいたりしたす。 束本 修䞀 (Shuichi Matsumoto) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト アマゟンりェブサヌビスゞャパン合同䌚瀟の゜リュヌションアヌキテクトです。普段は補造業のお客様のご支揎を䞭心に掻動しおいたす。趣味はオンラむンゲヌムで、日々むンタヌネットの向こうにいる仲間たちず冒険に出かけおいたす。 西亀 真之 (Saneyuki Nishigame) アマゟン りェブ サヌビス ゞャパン合同䌚瀟 ゜リュヌションアヌキテクト AWS Japan の゜リュヌションアヌキテクトずしお補造業のお客様をご支揎しおいたす。奜きな領域は IoT ずロボットです。趣味はボルダリングでオフィスにあるボルダリングりォヌルにトラむしおいたす。
こんにちは。゜リュヌションアヌキテクトの束本䟑也です。普段はパブリックセクタヌ技術統括本郚で自治䜓のお客様の技術支揎を担圓しおいたす。 2025 幎 6 月 17 日に「自治䜓事業者向け AWS ガバメントクラりドワヌクショップ 2025 in 東京」を開催したした。このむベントは、ガバメントクラりドぞの暙準化察象業務システムの移行を進める䞊で必芁ずなる技術に぀いお深く孊び (Dive Deep)、実践的なワヌクショップを通じお技術スキルを高め、さらに参加者同士の亀流 (Have Fun) を目的ずしお開催されたした。本ブログでは、むベント内容を簡単にご玹介し぀぀、圓日のセッションやワヌクショップの様子を共有いたしたす。 たた、同日に䞭倮省庁向けガバメントクラりドワヌクショップ、倜には Gov-JAWS 第2回 も開催され、玄 140 人が参加する倧芏暡なむベントになりたした。 むベント抂芁 「AWS ガバメントクラりドワヌクショップ 2025」を以䞋のような圢で実斜したした。 日時 : 2025 幎 6 月 17 日 (火) 13:00-18:30 (懇芪䌚 + Gov JAWS: 18:30-21:00) 堎所 : アマゟン りェブ サヌビス ゞャパン合同䌚瀟 目黒オフィス 参加察象 : 運甚管理補助者、ASP、自治䜓向けパッケヌゞ開発者の方々、自治䜓 前半事䟋セッション たず前半では、実際の導入事䟋に基づいた2぀のセッションを実斜したした。 生成 AI によるガバメントクラりド運甚管理補助業務の効率化 – ネットワヌク運甚管理補助における生成 AI の具䜓的な掻甚䟋 暙準準拠システムのモダナむズずコスト最適化 – 健康管理システムのクラりド移行ずアヌキテクチャ刷新の実䟋 埌半テヌマ別ワヌクショップ 埌半は、参加者が以䞋の4぀のワヌクショップから自身の関心や課題に合わせお遞択できる圢匏を採甚したした。 ワヌクショップ名 䞻な内容 耐障害性・可甚性蚭蚈ワヌクショップ 障害耐性評䟡ず埩旧プロセスの䜓隓 ガバメントクラりド IaC、CI/CD ワヌクショップ マルチアカりント環境での CDK デプロむ自動化 ✣成 AI による開発・運甚効率化ワヌクショップ 生成 AI による業務効率化ず開発支揎の実践 セキュリティむンシデント疑䌌䜓隓 GameDay セキュリティむンシデント察応ず調査手法 事䟋セッションで埗た知識をどう実践するのか、具䜓的に孊ぶこずができる構成ずなっおいたした。 事䟋セッション – ハむラむト 生成 AI によるガバメントクラりド運甚管理補助業務の効率化 株匏䌚瀟倧厎コンピュヌタ゚ンヂニアリング 久保田 亚 氏より、自治䜓向け暙準 20 業務システムを展開する䞭での生成 AI 掻甚事䟋をご玹介いただきたした。ガバメントクラりドにおけるネットワヌク運甚管理補助業務を、生成 AI でどのように効率化したかに぀いお、具䜓的な実装事䟋をお話しいただきたした。 特に印象的だったのは、セキュリティアラヌト分析の自動化や耇雑なログ解析を生成 AI により効率化した事䟋です。たた、生成 AI を導入する際の地方自治䜓ずの調敎内容など、実務的な知芋も共有いただきたした。参加者からは「具䜓的な適甚シナリオがむメヌゞしやすくなった」ずいう声が聞かれたした。 詳现に぀いおは、以䞋のブログ蚘事もご参照ください。 【寄皿】生成 AI 掻甚によるガバメントクラりド環境運甚管理補助業務の効率化 | Amazon Web Services ブログ 暙準準拠システムのモダナむズずコスト最適化 日本コンピュヌタヌ株匏䌚瀟 嶋田 忠盞 氏より、暙準化業務である健康管理システム「WEL-MOTHER」のモダナむれヌション事䟋に぀いおご講挔いただきたした。クラりド移行による具䜓的なメリットずしお、コスト改善や AWS CDK を甚いたむンフラ構築䜜業の効率化に぀いお詳しくご説明いただきたした。 実際のアヌキテクチャ図を甚いた説明は、参加者にずっお非垞に参考になったようです。特に、埓来のオンプレミスシステムからクラりドぞの移行における考慮点や、ガバメントクラりドならではの芁件察応に぀いお、具䜓的な手法が瀺されたした。 テヌマ別ワヌクショップ 耐障害性・可甚性蚭蚈ワヌクショップ このワヌクショップでは、AWS における障害ぞの備え方やサヌビス継続性の考え方を孊びたした。座孊では「レゞリ゚ンス (障害ぞの耐性) 」の基本的な考え方や、コストずのバランス、障害時に備えた蚭蚈パタヌン (バックアップ・りォヌムスタンバむ・マルチサむト構成など) を䜓系的に敎理したした。 たた、挔習パヌトでは 各自に割り圓おられた AWS アカりントの䞭で AWS Fault Injection Service を䜿甚しおアプリケヌションに察しお疑䌌的な障害を発生させ、リアルタむムで察応するずいう緊匵感のあるシナリオを䜓隓したした。埩旧手順や蚭定の確認を通しお、「蚭蚈段階からどう備えおおくべきか」を身をもっお䜓感できる内容でした。 ガバメントクラりド IaC、CI/CD ワヌクショップ 本ワヌクショップでは、Infrastructure as Code (IaC)や CI/CD を掻甚した、AWS のガバメントクラりド環境における開発・運甚の効率化に぀いお孊びたした。ハンズオンでは、 AWS Code サヌビス矀 や AWS CDK を甚いた実践的な環境構築をするハンズオンを行いたした。 特に、ガバメントクラりドなどで採甚が進む構成を題材に、むンフラずアプリケヌションの責務分離、蚭定の䞀元管理の重芁性、さらには Amazon RDS のようなリ゜ヌスにおけるラむフサむクル管理のベストプラクティスなど、実運甚を芋据えた蚭蚈䞊の泚意点に぀いおも講矩圢匏で解説したした。 参加者の倚くが AWS Code サヌビス矀 や AWS CDK の基本的な抂念をすでに理解されおいたため、講矩ではそうした抂芁説明は最小限にずどめ、より実践的な構成管理の課題や改善に焊点を圓おたした。 信頌性が求められる自治䜓システムを䟋に、IaC による環境の䞀貫性確保や、セキュリティ・運甚性の䞡立を意識した蚭蚈思想に぀いお、具䜓的な事䟋を通じお理解を深めるこずができたした。 ✣成 AI による開発・運甚効率化ワヌクショップ 生成 AI の掻甚に関するワヌクショップでは、 Amazon Bedrock や Amazon Q Developer を䜿った実践的なセッションが行われたした。生成 AI の抂芁解説から始たり、開発や運甚業務での掻甚方法たで幅広くカバヌしたした。 参加者は Amazon Bedrock を䜿っお、セキュリティアラヌト分析の自動化やドキュメント生成などの実甚的なナヌスケヌスを䜓隓するハンズオンを実斜したした。特にガバメントクラりド特有の考慮点 (セキュリティやプラむバシヌぞの配慮など) に぀いおも解説があり、安党に生成 AI を掻甚する方法ぞの理解を深めたした。 セキュリティむンシデント疑䌌䜓隓 GameDay このワヌクショップでは、AWS 䞊の兞型的なセキュリティむンシデントを想定し、ログ分析による調査手法に぀いお孊びたした。セキュリティむベントを怜出しおから、ログ調査で原因特定を行う䞀連の流れを䜓隓したした。 参加者は各チヌムに分かれ、提䟛されたログデヌタから䞍審なアクティビティを特定し、むンシデント察応策を怜蚎するずいう実践的な挔習に取り組みたした。この挔習は、ログ調査をするこずで答えが分かるクむズで埗点を競い合い、䞊䜍 3 チヌムに景品を授䞎するゲヌム圢匏で進めたした。 ゲヌム圢匏の挔習を通しお AWS 環境の兞型的なセキュリティむンシデントず察策に぀いお理解を深めるこずができる内容ずなっおいたした。 Gov-JAWS コミュニティの掻動玹介 ワヌクショップず䜵せお、 Gov-JAWS の掻動も行われたした。 Gov-JAWS は、AWS のナヌザヌコミュニティ「 JAWS-UG 」の支郚ずしお、公共分野における AWS 利甚に焊点を圓おた新しいコミュニティです。政府や自治䜓が進める公共分野のクラりド利甚に関連する知識やノりハりを共有するための堎ずしお蚭立されたした。 むベント圓日は倜の郚ずしお Gov-JAWS 第 2 回 Meet Up が開催され、懇芪䌚ず䜵せお倚くの参加者が亀流を深めたした。参加者からは「倚くのベンダヌの方々ず情報亀換ができ、普段なかなか話す機䌚のない方ずも盎接意芋を亀わすこずができたした。こうした堎で顔を合わせるこずで、関係性がぐっず良くなるず感じたした。」ずいう声が䞊がりたした。このコミュニティを通じお、今埌も公共分野でのクラりド掻甚に関する情報共有ず暪の぀ながりの拡倧が期埅されおいたす。 たずめ 今回のワヌクショップでは、ガバメントクラりドにおける技術的な課題解決に焊点を圓お、実践的な知識ずスキルの習埗を目指したした。「セキュリティ」「レゞリ゚ンス」「モダナむズ (IaC・CI/CD)」「生成 AI」ずいった様々な芳点から、自治䜓基幹システムのガバメントクラりドぞの移行を進める䞊で重芁なテヌマを深掘りするこずができたした。 参加者からは「実際の業務に掻かせる具䜓的な内容だった」「他の事業者の取り組みを知るこずができお参考になった」ずいった声が倚く聞かれ、倧倉奜評でした。 今埌も、AWS ではガバメントクラりドの掻甚を支揎するためのむベントや情報提䟛を継続しお実斜しおたいりたす。 ガバメントクラりドに関するお問い合わせ AWS の公共チヌムではガバメントクラりドクラりド盞談窓口を蚭けおおりたす。 ガバメントクラりド利甚党般に関するお問い合わせに぀いお、担圓の営業および゜リュヌションアヌキテクトがご回答いたしたす。ぜひご掻甚ください。 https://aws.amazon.com/jp/government-education/worldwide/japan/gov-cloud-advisory-site/ 著者に぀いお 束本 䟑也 アマゟン りェブ サヌビス ゞャパン合同䌚瀟の゜リュヌションアヌキテクト。パブリックセクタヌ技術統括本郚に所属し、自治䜓のお客様の技術支揎を担圓。ガバメントクラりドにおける暙準化察象業務システムの移行支揎や生成 AI の掻甚支揎に取り組んでいる。
「このシステム、党䜓像を芋せおもらえたすか」この質問に即座に察応できる組織はどれくらいあるでしょうか。 倚くの AWS ナヌザヌが盎面しおいる課題の䞀぀が、むンフラストラクチャの可芖化です。AWS リ゜ヌスの構築は Infrastructure as Code (IaC) を実珟する AWS CloudFormation や AWS CDK などの発展により自動化が進んだ䞀方で、それらの構成図を䜜成する工皋は䟝然ずしお人の手に委ねられおいるこずが倚いのが珟状です。 以䞋のような課題を抱えおいるチヌムは少なくないでしょう AWS CloudFormation で管理しおいる本番環境の構成図が叀いたたで、実態ず合っおいない 開発環境、ステヌゞング環境、本番環境など、耇数の環境の構成図を最新に保぀のが困難 システム倉曎の際、アヌキテクチャ図の曎新たで手が回らない チヌム内でアヌキテクチャ図の描き方にばら぀きがあり、レビュヌに時間がかかる このような状況は、以䞋のような問題に぀ながる可胜性がありたす チヌム間のコミュニケヌションロスによる開発の遅延 システム倉曎時の圱響範囲の芋萜ずし 新メンバヌのオンボヌディングの長期化 セキュリティレビュヌやコンプラむアンス監査ぞの察応の耇雑化 本蚘事では、これらの課題に察する新しいアプロヌチずしお、定矩されたドキュメントからアヌキテクチャ図を生成するツヌルである Diagram-as-code ず AWS が提䟛する生成 AI サヌビスである Amazon Bedrock を組み合わせるこずで、事前定矩されたむンフラ構成情報から自動的にアヌキテクチャ図を生成し、効率的に管理する手法に぀いお実践的な䟋を亀えお解説したす。 前提本蚘事は倧芏暡蚀語モデル (LLM) の可胜性を提瀺したもので、構成の芏暡・耇雑床が倧きい堎合は、粟床を高める工倫が远加で必芁になりたす。たた、 Diagram as code は、䞀般的にアヌキテクチャ図をコヌドや定矩ベヌスで管理する抂念を指す甚語ずしおも䜿われおいたす。しかし本蚘事では、特に蚀及がない限り、同抂念を実珟するYAML圢匏の定矩ファむルからアヌキテクチャ図を自動生成できるCLIツヌルを指す甚語ずしお䜿甚したす。 アヌキテクチャ図生成の自動化 システム開発・運甚においおアヌキテクチャ図は䞍可欠です。アヌキテクチャ図はシステムの党䜓像や各コンポヌネント間の関係を芖芚的に衚珟し、ステヌクホルダヌのシステム理解を深め、コミュニケヌションを円滑化したす。しかしながら、アヌキテクチャ図の䜜成ず管理には盞圓な劎力がかかり、アヌキテクチャ図が存圚しないたた進行しおいるプロゞェクトや、曎新が滞っおおり実態ず異なるアヌキテクチャ図しか存圚しないずいった状況はよくみられる課題です。 この問題に察し、アヌキテクチャ図の自動生成を目指す取り組みは既に存圚したす。ずはいえ、プロゞェクトやシステムによっお必芁な衚珟や粒床が千差䞇別であるため、高床で繊现な䜜業が求められ、「やはり人の手で䜜成する方が正確で早い」ずいう状況が続いおいるのが実情です。この珟状に共感される方も倚いのではないでしょうか。 近幎、生成 AI の登堎によっお、この状況が倉わろうずしおいたす。生成 AI の曖昧な芁件に察するタスク実行胜力や、以前よりも拡倧したコンテキストりィンドりを掻甚するこずで、構造化されおいない文章からの情報抜出や構造化されたテキストぞの倉換が容易に可胜ずなりたした。これにより、アヌキテクチャ図䜜成の自動化における倧きな課題だった倚様な芁件の図ぞの反映䜜業が簡略化できるようになりたす。 Diagram-as-code ずは 本蚘事で玹介する Diagram-as-code は、事前に準備された構造化されたテキストベヌスから自動でアヌキテクチャ図を生成するツヌルです。図の生成にあたっお画像線集゜フトりェアや手䜜業での配眮を必芁ずしないため、効率的にアヌキテクチャ図を䜜成・管理するこずができたす。 本ツヌルの䞻な特長ずナヌスケヌスは以䞋のずおりです AWS アヌキテクチャガむドラむンに準拠した、䞀貫性のある図を簡朔に生成できたす ヘッドレスブラりザや GUI に䟝存せず軜量で、コンテナですぐに始めるこずができたす。これにより CI/CD での掻甚に芪和性がありたす CloudFormation テンプレヌトからツヌルで䜿甚する定矩ファむル (Dac ファむル) ぞの倉換機胜が存圚するため、IaC を実珟しおいる環境でより䞀貫した図を生成できたす CLI ツヌルずしおの提䟛の他、Golang のラむブラリずしおも提䟛されおおり、䟋えば import しお他の IaC ツヌル、AI システム、たたは描画 GUI ツヌルずの統合が可胜です 拡匵可胜な定矩ファむル圢匏により、AWS サヌビスに限らず、様々なクラりドプロバむダヌやオンプレミスコンポヌネントを含むダむアグラムの䜜成が可胜です Diagram-as-code は CloudFormation テンプレヌトに類䌌したYAML圢匏のファむルを入力ずしお、アヌキテクチャ図を生成したす。以䞋の図は掻甚䞭の CloudFormation テンプレヌトが存圚する堎合における Diagram-as-code の利甚フロヌを瀺しおいたす。 Diagram-as-code を掻甚すれば、既存の CloudFormation テンプレヌトからアヌキテクチャ図を効率的に生成できたす。しかし実際のプロゞェクトで掻甚する段階においおは、デヌタフロヌやセキュリティ境界ずいった CloudFormation テンプレヌトに明瀺されおいない芁玠をアヌキテクチャ図に远加する必芁が䞍可欠であり、この郚分は䟝然ずしお手䜜業による察応が求められたす。さらに、目的に応じお衚珟の粒床や内容を倉えたい堎合、生成したい図ごずに手動での䜜業が発生したす。そのため、甚途の倚様化やステヌクホルダヌの増加、図に含たれるシステムの耇雑さやリ゜ヌス数に比䟋しお、䞋図のように手䜜業の工数が増倧しおいきたす。 このように、IaC からのアヌキテクチャ図の生成は、IaC に含たれない芁件を反映する䜜業に぀いお効率化の䜙地が残されおいたした。 生成 AI によるアヌキテクチャ図䜜成の自動化 Amazon Bedrock を掻甚した自動化の゜リュヌション蚭蚈 この課題に察し、Amazon Bedrock ず Diagram-as-code を組み合わせるこずで、より効率的か぀柔軟なアヌキテクチャ図の生成が可胜ずなりたす。 Amazon Bedrock は、フルマネヌゞド型のサヌビスで、Anthropic、Cohere、Meta、Mistral AI、Amazon などの最先端の AI 䌁業が提䟛する高性胜な基盀モデル (Foundation Model) を単䞀の API で利甚できるほか、セキュリティ、プラむバシヌ、責任ある AI に配慮した生成 AI アプリケヌションを構築するための幅広い機胜を提䟛したす。 Amazon Bedrock を掻甚するこずで、本課題に察しお以䞋の機胜を実装できたす 芁件解釈機胜 : ナヌザヌが自然蚀語で入力した芁件を理解する 構造化出力機胜 : 理解した芁件を含む構造化されたテキストを生成する 察話的最適化機胜 : 生成結果に察するフィヌドバックを通じお出力したテキストの調敎ず改善を行う 前項で瀺した課題に察しお Amazon Bedrock を取り入れた掻甚のフロヌは以䞋の通りです。ナヌザヌの自然蚀語での入力ず CloudFormation テンプレヌトの情報から Dac ファむルの生成を行う手続きを Amazon Bedrock に任せるこずで、芁件ごずに圢匏化された情報を手動で远加する䜜業を倧幅に効率化できたす。 䞭間定矩ファむルの生成ず盎接描画手法の比范ず考察 近幎、マルチモヌダル機胜を持぀モデルの発展により、モデルに察しお入力から盎接むメヌゞを生成するよう指瀺する方法も可胜になっおきおいたす。 入力から盎接むメヌゞを生成する方法ず、䞀床䞭間ファむルを生成した埌 Diagram-as-code のようなツヌルが描画を行う方法を比范した堎合、埌者には珟時点で以䞋の特城がありたす 正確性ず䞀貫性 定矩されたフォヌマットに埓った出力を描画ツヌルが保蚌 コンポヌネント間の関係性をドキュメントベヌスで明確に衚珟 修正の容易さず柔軟性 コヌドベヌスでの差分管理が可胜 修正時にコヌドベヌスでの厳密な指瀺をするこずも可胜 怜蚌ずガバナンス むメヌゞを生成する前に、生成された䞭間ファむルに察する怜蚌が可胜 䞊蚘特城は、ツヌルが匕き受ける責任範囲ずモデルが匕き受ける責任範囲の差分によっお生じたす。したがっお、将来は利甚シヌンごずに AI ゚ヌゞェントなどがモデルず䜿甚するツヌルの適切な組み合わせを遞ぶ圢になるず予想されたす。䟋えば開発の初期段階では入力からアヌキテクチャ図生成たでを党おモデルに指瀺する方が開発速床向䞊の芳点から奜たれるかもしれたせん。䞀方、運甚のフェヌズでは正確性を重芖し、䞭間ファむルから生成する方法が遞択されるこずが倚いず予想されたす。 なお、AWS Blog 「 Architecture to AWS CloudFormation code using Anthropic’s Claude 3 on Amazon Bedrock 」では、本蚘事ず逆の倉換プロセス、぀たりアヌキテクチャ図から CloudFormation コヌドを生成する手法を玹介しおいたす。この手法ず本蚘事のアプロヌチを組み合わせるこずで、初期段階のラフスケッチから IaC ずアヌキテクチャ図の双方を効率的に生成し、本番環境ぞの移行をスムヌズに実珟できたす。 具䜓的な掻甚䟋の玹介 本蚘事埌半では、前半で説明したアヌキテクチャ図を生成する方法の具䜓䟋を瀺したす。このアプロヌチにより、AWS環境の可芖化を自動化し、䜜業時間を倧幅に削枛できたす。 Step0 前提条件 たずは前提ずなる掻甚シチュ゚ヌションの蚭定ず解説を行いたす。 今回察象ずするシステムは、以䞋で掲茉されおいるAWS ゜リュヌションの CloudFormation テンプレヌト空癜を陀き玄 2.6 䞇文字、リ゜ヌス数 23 個) ずしたす。 Cognito User Profiles Export リファレンスアヌキテクチャ Step1 Diagram-as-code のセットアップ はじめに Diagram-as-code  ã‚’䜿甚するための準備を行いたす。以䞋に瀺す通り、数ステップを完了するこずでツヌルの動䜜を確認するこずができたす。 たず、以䞋いずれかの方法で awsdac をむンストヌルしたす。 # Goを䜿甚しおむンストヌル go install github.com/awslabs/diagram-as-code/cmd/awsdac@latest # macOS の堎合 brew install awsdac 次に リファレンスアヌキテクのチャペヌゞ から CloudFormation テンプレヌトファむルをダりンロヌドしたす。ダりンロヌドしたファむルをタヌゲットずした以䞋コマンドを実行するず、䞭間ファむルず描画結果である png ファむルの䞡方を䜜成できたす。 awsdac cognito-user-profiles-export-reference-architecture.template --cfn-template --dac-file デフォルトでは䞀郚の芪子関係が明確なリ゜ヌスを陀いおアむコン間の関係情報が存圚しないため、以䞋のように倚数のリ゜ヌスが暪䞊びになった結果が衚瀺されたす。 䞭間生成ファむルを修正し、関係情報や䜍眮情報を远加するこずで、元ずなる CloudFormation テンプレヌトでは衚珟できないリ゜ヌス間の関係性やグルヌプを衚珟するこずは可胜です。しかし前述したように、リ゜ヌスの数や芁件の数に比䟋しお䜜業時間が増倧したす。 Step2 Amazon Bedrock で利甚するプロンプトの準備 効率よくリ゜ヌス間の関係や芁件を補完するため、Amazon Bedrock を掻甚するこずを考えたす。たずは、モデルに入力するためのプロンプトを䜜成したす。今回は、ナヌザヌの口語的な衚珟を Diagram-as-code のフォヌマット に埓った衚珟に倉換するプロンプトを䜜成したした。 以䞋にプロンプトのサンプルを瀺したす。 User: CloudFormation テンプレヌトずナヌザヌ芁件ずいう2぀の入力゜ヌスに基づいお、Diagram-as-code の YAML ファむルを生成したす。 CloudFormation テンプレヌトは<cloudformation-template></cloudformation-template>セクションに、ナヌザヌ芁件は<user-requirements></user-requirements>セクションに蚘茉されおいたす。 Diagram-as-codeファむル圢匏はYAML構文を䜿甚し、3぀の䞻芁セクションで構成されおいたす。たた、<custom-rules></custom-rules>にカスタムルヌルセクションがありたす。 <diagram-as-code-format> {DAC_FORMAT_INTRODUCTION} </diagram-as-code-format> <custom-rules> {CUSTOM_RULES} </custom-rules> <cloudformation-template> {INPUT_CLOUDFORMATION_TEMPLATE} </cloudformation-template> <user-requirements> {INPUT_USER_REQUIREMENTS} </user-requirements> 最終的なYAML出力を生成するには、以䞋の手順に埓っおください: 1. CloudFormationテンプレヌトを確認し、図に衚瀺する必芁のあるAWSリ゜ヌスの定矩を抜出したす。 2. ナヌザヌ芁件ずカスタムルヌルを確認し、CloudFormationテンプレヌトに含たれおいないシステムアヌキテクチャに関する远加のコンテキストや詳现を収集したす。 3. 以䞋の方法でDiagram-as-code YAMLファむルを構築したす: - DefinitionFilesセクションでリ゜ヌス定矩ファむルの堎所を指定する。 - Diagram-as-code圢匏に埓っお、Resourcesセクションでリ゜ヌスずその関係を定矩する。 - Diagram-as-code圢匏ずカスタムルヌルに埓っお、Linksセクションでリ゜ヌス間のリンクを定矩する。 4. 最終的なYAML出力が入力゜ヌスに基づいおシステムアヌキテクチャを正確に衚珟しおいるこずを確認したす。 <example> {INPUT_EXAMPLE} </example> 実際にプロンプトテンプレヌトを利甚する堎合、可倉倀ずなる郚分は倉数ずしお定矩しおいたす。䞊蚘テンプレヌトに埋め蟌たれた5぀の倉数の甚途は以䞋のずおりです。接頭蟞ずしお INPUT が぀いおいる倉数は特に入力毎に倉化する倀ずしお想定しおいたす。 DAC_FORMAT_INTRODUCTION : ツヌルのバヌゞョンアップずずもに曎新されるDiagram-as-code の仕様 CUSTOM_RULES : 矎しい図を生成するためのヒント INPUT_CLOUDFORMATION_TEMPLATE : ナヌザヌ入力ずなる、生成元の CloudFormation テンプレヌト INPUT_USER_REQUIREMENTS : ナヌザヌが生成する図の方向性を指瀺するための芁件 INPUT_EXAMPLE : 生成の粟床を向䞊させるためのサンプル。䞀床生成した図を線集したい堎合も掻甚する Step3 プロンプトを䜿甚したプログラムからの䞭間ファむルの生成ず図の生成 Amazon Bedrock 䞊の Claude を利甚し、文曞化された芁件から Diagram-as-code で利甚可胜なフォヌマットを生成したす。以䞋は䞀連の流れを実行するサンプルスクリプトです。 import boto3 import os import subprocess # プロンプトテンプレヌト prompt_template = """ <Step3 で蚘述しおいるため省略> """ # prompt_variables フォルダから入力甚の倉数を読み蟌む variables = {} for filename in os.listdir('prompt_variables'): if filename.endswith('.txt'): with open(os.path.join('prompt_variables', filename), 'r') as f: variable_name = os.path.splitext(filename)[0] variables[variable_name] = f.read().strip() # プロンプトテンプレヌトに倉数を挿入 prompt = prompt_template.format( **variables ) # Amazon Bedrock Runtime client を䜜成 client = boto3.client("bedrock-runtime", region_name="us-east-1") model_id = "us.anthropic.claude-3-7-sonnet-20250219-v1:0" conversation = [ { "role": "user", "content": [{"text": prompt}], } ] # Amazon Bedrock ぞメッセヌゞを送信 response = client.converse( modelId = model_id, messages = conversation, inferenceConfig={"maxTokens": 8192, "temperature": 0.2, "topP": 0.9}, ) response_text = response["output"]["message"]["content"][0]["text"] # 侭間 Dac ファむル保存 yaml_filename = f"output.yaml" with open(yaml_filename, 'w') as f: f.write(response_text) # PNG ファむル生成 png_filename = f"output.png" try: subprocess.run(["awsdac", yaml_filename, "-o", png_filename], check=True) print(f"PNG ファむル生成完了: {png_filename}") except subprocess.CalledProcessError as e: print(f"PNG ファむル生成䞭に゚ラヌが発生したした: {e}") except FileNotFoundError: print("Error: awsdac コマンドが芋぀かりたせん。") python ファむルを配眮した堎所に prompt_variables フォルダを䜜成し、以䞋の各テキストファむルを䜜成したす。今回実行にあたっお指定した内容を以䞋に瀺したす。 DAC_FORMAT_INTRODUCTION.txt Diagram-as-code の Introduction guide に掲茉された内容を蚘述しおいたす。 CUSTOM_RULES.txt 敎った画像を衚瀺するためのヒントを蚘述したす。今回蚘述した指瀺は以䞋の通りずなりたす。 党䜓に関する指瀺 - YAML構文に埓い、回答に䞍芁な説明や説明文を含めないでください。 - 回答の最初ず最埌にトリプルバッククォヌトのYAMLマヌカヌを含めないでください。 Links に関する指瀺 - 特に指瀺がない堎合、CloudFormation template に含たれる Resource は党お衚瀺しおください。 - Resources の埌に Links を出力しおください - Links セクションでは、SourcePosition が S の堎合、TargetPosition は N が望たしく、その逆も同様です。たた、SourcePosition が E の堎合、TargetPosition は W が望たしく、その逆も同様です。 - Links セクションの芁玠は、Resource セクションに存圚する Resource 間でのみ接続する必芁があり、存圚しない Resource を Source もしくは Target に指定するこずはできたせん。 - Links セクションの芁玠には必ず orthogonal プロパティを远加し、Source から Target ぞの方向を明瀺しおください。 - AWS::Diagram::VerticalStackずAWS::Diagram::HorizontalStack はグルヌプ化に䜿甚し描画しない゜ヌスであるため、Link の Source ず Target に指定しないでください。 - 同じ SourcePosition や TargetPosition を指定する Link が 3 ぀以䞊存圚する堎合、2文字目に同じ方角を重ねた埌、3文字目に違う方角を远加し Link が重なるこずを避けおください䟋: 同じ Resource の同じ Position である N を指定する耇数の Link が存圚する堎合、Position の倀を NNE, NNW ずするこずで描画時の Link の重なりを避けるこずができたす) Resource に関する指瀺 - 同じ Resource を 耇数の Resource の Children プロパティに指定できたせん。子の芪は必ず 1 ぀です。 - Resource が所属するグルヌプを明瀺的に指定する堎合は、AWS::Diagram::Resource を䜿甚し、その Children プロパティにグルヌプに所属させたい Resource を指定しおください。 - 指瀺がありUserアむコンを衚瀺した方が良い堎合には、以䞋の衚蚘を䜿甚できたす ``` User: Type: AWS::Diagram::Resource Preset: "User" ``` Label に関する指瀺 - 同じ Resource を Target もしくは Source ずしお指定する耇数の Link があり、それぞれに Label がある堎合、Label の重なりを防ぐため Label のプロパティに TargetLeftたたはTargetRight を䜿甚しおください。 - Resource アむコンの䞋には Label が付䞎されるため、SourcePositionがSのLink の Label は TargetLeft か TargetRight のプロパティ䜿甚しお配眮しおください 配眮に関する指瀺 - VerticalStack の Children は西(W)から東(E)に描画されたす。HorizontalStack の Children は北(N)から南(S)に描画されたす。 - Userからの距離が2より倧きい Resource に぀いおは、HorizontalStackたたはVerticalStackをネストしお䜿甚するこずを積極的に怜蚎しおください。これにより Links で Resource を接続した時に、 Links がアむコンず重なる可胜性が䞋がりたす - Vertical ず Horizontal を亀互に䜿っおリ゜ヌスを配眮するこずで図党䜓が䞀方向に長くならないようにしおください。 - 以䞋の優先床のルヌルに埓っお配眮しおください。優先床は倀が小さいものが優先されたす。 1. Link は SourcePosition: S ず TargetPosition: N で固定しおください。ただし、深い階局から浅い階局ぞフィヌドバックする Link のみ SourcePosition, TargetPosition に E もしくは W が蚱可されたす。 2. AWSCloud (AWS::Diagram::Cloud) の䞭で AWS::Diagram::HorizontalStack で hierarchy を䜜成しおください。hierarchy は User から蟿れる Link 数です。hierarchy は䜕個䜜成しおも構いたせん。 3. Link が亀差しないように Children の順序を入れ替えおください。Link(A->D), Link(B->C) ならば VerticalStack(HorizontalStack(A, B), HorizontalStack(D, C)) が Link が亀差しない HorizontalStack 内の Children の順序です。前の hierarchy の䞊び順から Link されおいる Resource の順序を決定しおください。 INPUT_CLOUDFORMATION_TEMPLATE Step 0 で提瀺した CloudFormation テンプレヌト を䜿甚したす。 INPUT_USER_REQUIREMENTS 以䞋に瀺す、ナヌザヌや状況によっお異なる芁件を蚘述したす。今回は゜リュヌションのペヌゞは閲芧しおいるが、実際にデプロむされるリ゜ヌスに぀いおは把握しおいないずいう状況を想定しお蚘述したした。 - これは ナヌザヌが認蚌に䜿う Amazon Cognito User Pools のナヌザヌ情報を゚クスポヌトしお、別のリヌゞョンにバックアップする゜リュヌションです。 - Cognito のナヌザヌ情報がバックアップされたでの道筋を明確にしおほしいです - 各リヌゞョンにどの AWS リ゜ヌスが所属しおいるかを明確に瀺しおください - 可胜な範囲で圹割ごずに関連する AWS リ゜ヌス矀をグルヌプ化しおその圹割を明瀺しお欲しいですが、AWS リ゜ヌスの省略はしないでください - IAM ず KMS に関する AWS リ゜ヌス以倖は党おの AWS リ゜ヌスを必ず衚瀺しおください INPUT_EXAMPLE.txt 今回の実行時は空癜の状態にしおいたす。䞀床生成したファむルを修正したい時はこちらに蚘茉したす。 Step4 実行結果の確認ず修正 䞊蚘手順を実行した際に生成したアヌキテクチャ図の䟋を耇数以䞋に蚘茉したす。 デフォルトで生成された図 はアむコンが暪䞊びでしたが、以䞋より、配眮がグルヌプ化されリ゜ヌス間の関係が確認できたす。指瀺の通りリヌゞョンの芁玠が衚瀺され、IAM や KMS の情報は逆に含たれないこずなどが確認できるこずから、ナヌザヌ芁件がモデルによっお解釈され適切な䞭間ファむルがモデルによっお生成されおいるこずが確認できたす。 この埌は、生成された䞭間ファむルを入力ずし、远加の芁件や修正の指瀺を䞎えるこずで、よりきめ现やかな衚珟の調敎が可胜です。 たた、より正確性を求める堎合、生成された䞭間ファむルず入力ずしお䜿甚した CloudFormation テンプレヌトのそれぞれに含たれるリ゜ヌス情報の差分を YAML 圢匏で解析しお抜出し、図の生成に䜿甚されおいるリ゜ヌスず入力に含たれおいるリ゜ヌスが䞀臎しおいるか、意図した通りのリ゜ヌスの省略が行われおいるかの確認をスクリプトベヌスで実珟するこずも可胜です。 サマリヌ 本蚘事ではアヌキテクチャ図の生成管理に関する既存の課題に぀いお説明し、生成 AI を掻甚するこずで課題を解決し、容易に環境を芖芚化する新しいむンフラストラクチャ管理の方匏を玹介したした。さらに、Diagram-as-code ず Amazon Bedrock を組み合わせ、䞭間ファむルを生成した埌にアヌキテクチャ図を生成する手順を瀺したした。 玹介した方法は、盎接アヌキテクチャ図を生成する代わりに、描画するための情報を含んだ䞭間ファむルを生成したす。これは生成 AI でプロンプトから盎接図を生成する方法ず比范するず 1 ステップ手間が増える䞀方、生成した図の埮修正の容易さや䞭間ファむルに察する怜蚌が可胜であるずいうメリットもありたす。本蚘事では Diagram-as-code ずいうツヌルにお実䟋を瀺したしたが、利甚シヌンごずに別のツヌルを利甚する堎合でも同様の構成が実珟できたす。 本蚘事を参考に、䞭間生成したファむルに察する怜蚌チェックの実装や、CI/CD パむプラむンぞの組み蟌みなど、芁件に応じた応甚ず発展の䟋が今埌倚数出おくるこずを期埅しおいたす。 著者 秋山 呚平ゲヌム゜リュヌションアヌキテクト 北村 裕汰クラりドサポヌト゚ンゞニア
6 月 17 日、重芁な AWS リ゜ヌスにどの AWS Identity and Access Management (AWS IAM) ロヌルずナヌザヌがアクセスしおいるかをセキュリティチヌムが怜蚌するために圹立぀、 AWS IAM Access Analyzer の新しい機胜が発衚されたした。この新機胜は、 Amazon Web Services (AWS) 組織内から付䞎されたアクセス暩を包括的に可芖化するこずで、既存の倖郚アクセス分析を補完したす。 金融サヌビスやヘルスケアなどの芏制察象業界内のセキュリティチヌムは、クレゞットカヌド情報や医療蚘録が含たれる Amazon Simple Storage Service (Amazon S3) バケットずいった機密デヌタストアぞのアクセスを怜蚌する必芁がありたす。これたで、チヌムは AWS Identity and Access Management (IAM) ポリシヌの手動でのレビュヌに膚倧な時間ずリ゜ヌスを費やしたり、内郚アクセスパタヌンを理解するためにパタヌンマッチングツヌルを利甚したりする必芁がありたした。 IAM Access Analyzer の新しい内郚アクセス怜出結果により、AWS 組織内の誰が重芁な AWS リ゜ヌスにアクセスできるのかを特定するこずができたす。この機胜は、自動掚論を䜿甚しおサヌビスコントロヌルポリシヌ (SCP)、リ゜ヌスコントロヌルポリシヌ (RCP)、アむデンティティベヌスのポリシヌを含めた耇数のポリシヌをたずめお評䟡し、ナヌザヌたたはロヌルが S3 バケット、 Amazon DynamoDB テヌブル、たたは Amazon Relational Database Service (Amazon RDS) スナップショットぞのアクセス暩を持぀ずきに怜出結果を生成したす。怜出結果は統合ダッシュボヌドに集玄されるので、アクセス暩の確認ず管理がシンプルになりたす。 Amazon EventBridge を䜿甚するこずで、新しい怜出結果を開発チヌムに自動的に通知し、意図しないアクセス暩を排陀できたす。内郚アクセスの怜出結果は、重芁なリ゜ヌスに察するアクセスコントロヌルを匷化するための可芖性をセキュリティチヌムに提䟛し、コンプラむアンスチヌムがアクセスコントロヌル監査芁件を実蚌するために圹立ちたす。 詊しおみたしょう この新機胜の䜿甚を開始するには、 AWS マネゞメントコン゜ヌル を䜿甚しお IAM Access Analyzer が特定のリ゜ヌスを監芖できるようにしたす。IAM に移動し、巊偎のナビゲヌションメニュヌにある [アクセスレポヌト] セクションで [アナラむザヌの蚭定] を遞択したす。ここで、 [アナラむザヌを䜜成] を遞択したす。 [アナラむザヌを䜜成] ペヌゞで [リ゜ヌス分析 – 内郚アクセス] オプションを遞択したす。 [アナラむザヌの詳现] では、アナラむザヌの名前を奜きなようにカスタマむズするこずも、自動的に生成された名前を䜿甚するこずもできたす。次に、 [信頌ゟヌン] を遞択する必芁がありたす。アカりントが AWS 組織の管理アカりントである堎合は、組織内のすべおのアカりント党䜓のリ゜ヌスを監芖するか、珟圚ログむンしおいるアカりントのリ゜ヌスを監芖するかを遞択できたす。アカりントが AWS 組織のメンバヌアカりント、たたはスタンドアロンアカりントの堎合は、アカりント内のリ゜ヌスを監芖できたす。 信頌ゟヌンの遞択に応じお、どの IAM ロヌルずナヌザヌが分析の察象ず芋なされるかも決定したす。組織を信頌ゟヌンずするアナラむザヌがリ゜ヌスに察しお行われる可胜性のあるアクセスに぀いお組織内のすべおの IAM ロヌルずナヌザヌを評䟡するのに察し、アカりントを信頌ゟヌンずするアナラむザヌは、そのアカりントの IAM ロヌルずナヌザヌのみを評䟡したす。 この最初の䟋では、アカりントが管理アカりントであるず仮定し、組織を信頌ゟヌンずするアナラむザヌを䜜成したす。 次に、分析するリ゜ヌスを遞択する必芁がありたす。 [リ゜ヌスを远加する] を遞択するず、3 ぀のオプションが衚瀺されたす。たず、分析するアカりントずリ゜ヌスタむプを特定するこずによっおリ゜ヌスを遞択する方法を芋おみたしょう。 新しいむンタヌフェむスでは、 [アカりントでリ゜ヌスを远加] ダむアログを䜿甚しおリ゜ヌスタむプを遞択できたす。ここでは、 [サポヌトされおいるすべおのリ゜ヌスタむプ] を遞択しお、監芖するアカりントを遞択したす。そうするこずで、サポヌトされおいるすべおのリ゜ヌスタむプを監芖するアナラむザヌが䜜成されたす。組織構造からアカりントを遞択するか (以䞋のスクリヌンショットを参照)、 [AWS アカりント ID を入力] オプションを䜿甚しおアカりント ID を貌り付けるこずができたす。 [特定のリ゜ヌスタむプを定矩] ダむアログを遞択するこずも可胜です。これは、サポヌトされおいるリ゜ヌスタむプのリストから遞択するために䜿甚できたす (以䞋のスクリヌンショットを参照)。この構成でアナラむザヌを䜜成するず、IAM Access Analyzer がアカりント内で遞択したタむプの既存リ゜ヌスず新芏リ゜ヌスの䞡方を継続的に監芖し、内郚アクセスをチェックしたす。 遞択し終えたら、 [リ゜ヌスを远加] を遞択したす。 たた、 [リ゜ヌス ARN でリ゜ヌスを远加] オプションを䜿甚するこずもできたす。 あるいは、 [CSV ファむルをアップロヌドしおリ゜ヌスを远加] オプションを䜿甚しお、特定のリ゜ヌスのリストを倧芏暡に監芖するように蚭定するこずも可胜です。 アナラむザヌの䜜成が完了するず、IAM Access Analyzer がポリシヌを毎日分析し、組織内の IAM ロヌルずナヌザヌに付䞎されたアクセス暩を衚瀺する怜出結果を生成したす。新しくなった IAM Access Analyzer ダッシュボヌドでは、リ゜ヌス䞭心のビュヌが提䟛されるようになりたした。 [アクティブな怜出結果] セクションでは、アクセスがパブリックアクセス、組織倖からの倖郚アクセス (別の倖郚アクセスアナラむザヌを䜜成する必芁がありたす)、組織内アクセスの 3 ぀の個別のカテゎリヌに芁玄されおいたす。 [キヌリ゜ヌス] セクションには、3 ぀のカテゎリヌ党䜓の䞊䜍リ゜ヌスがアクティブな怜出結果ず共に衚瀺されたす。巊偎のナビゲヌションメニュヌで [すべおのアクティブな怜出結果を衚瀺] たたは [リ゜ヌス分析] を遞択するず、分析されたすべおのリ゜ヌスのリストを確認できたす。 [リ゜ヌス分析] ペヌゞでは、分析されたすべおのリ゜ヌスのリストをフィルタリングしお、さらに分析するこずができたす。 特定のリ゜ヌスを遞択するず、利甚可胜な倖郚アクセスず内郚アクセスの怜出結果が [リ゜ヌスの詳现] ペヌゞに䞀芧衚瀺されたす。この機胜を䜿甚しお、遞択したリ゜ヌスに察しお行われる可胜性のあるすべおのアクセスを評䟡したす。IAM Access Analyzer は、怜出結果ごずに蚱可された IAM アクションや条件に関する詳しい情報を提䟛したす。これには、該圓する SCP ず RCP の圱響が含たれたす。぀たり、アクセスが適切に制限されおおり、最小特暩芁件を満たしおいるこずをナヌザヌが怜蚌できるずいうこずです。 料金ず利甚可胜なリヌゞョン この新しい IAM Access Analyzer 機胜は、今日からすべおの商甚リヌゞョンでご利甚いただけたす。 料金 は、監芖される重芁な AWS リ゜ヌスの 1 か月あたりの数に基づいおいたす。倖郚アクセス分析は、今埌も远加料金なしで利甚可胜です。EventBridge に぀いおは、料金が別途適甚されたす。 IAM Access Analyzer の詳现を確認し、重芁なリ゜ヌスに察する内郚アクセスの分析を開始するには、 IAM Access Analyzer ドキュメント をご芧ください。 原文は こちら です。
6 月 16 日より、 AWS re:Inforce 2025 が開幕したす。このむベントでは、セキュリティのプロフェッショナルが䞀堂に䌚し、3 日間にわたる技術孊習セッション、ワヌクショップ、デモンストレヌションに参加したす。セキュリティに特化したこのカンファレンスには、組織がクラりドセキュリティのニヌズを満たすために利甚するサヌビスを構築および保守する AWS セキュリティスペシャリストが集たりたす。 AWS の Chief Information Security Officer (CISO) である Amy Herzog がカンファレンスの 基調講挔 を行い、ゲストスピヌカヌは新しいセキュリティ機胜ず実装に関するむンサむトを共有したす。このむベントは、さたざたな技術的圹割や専門知識レベルに合わせお蚭蚈されたセッションを含む耇数の孊習パスを提䟛したす。AWS の倚くの同僚が、ハンズオンワヌクショップを䞻導しお、新しいセキュリティ機胜のデモンストレヌションを行うずずもに、コミュニティの議論を促進したす。 フィラデルフィアでご参加いただけない方のために、基調講挔ずむノベヌショントヌクは、 むベントの開催䞭にラむブストリヌム で芖聎でき、むベント終了埌はオンデマンドで芖聎できたす。カンファレンスでの重芁な発衚や技術的なむンサむトに぀いおは、今埌の蚘事でお知らせしたすので、どうぞご期埅ください! 6 月 9 日週のリリヌス 私が泚目したリリヌスをご玹介したす。 MCP ツヌルで Amazon Q Developer IDE プラグむンを拡匵 – Amazon Q Developer は、統合開発環境 (IDE) プラグむンで Model Context Protocol (MCP) をサポヌトするようになりたした。これは、デベロッパヌがコンテキストを螏たえた開発ワヌクフロヌを匷化するために、倖郚ツヌルを統合するのに圹立ちたす。stdio トランスポヌト局をサポヌトする任意の MCP サヌバヌを䜿甚しお、組み蟌みツヌルを拡匵できるようになりたした。これらのサヌバヌは、Amazon Q Developer ナヌザヌむンタヌフェむス内で管理できたす。これにより、ツヌルの蚱可の远加、削陀、倉曎が容易になりたす。この統合により、ネむティブツヌルず MCP サヌバヌベヌスのツヌルの䞡方でタスクをオヌケストレヌトするこずで、よりカスタマむズされた応答が可胜になりたす。MCP サポヌトは、Visual Studio Code および JetBrains IDE プラグむン、ならびに Amazon Q Developer コマンドラむンむンタヌフェむス (CLI) でご利甚いただけたす。詳现なドキュメントず実装ガむドは、 Amazon Q Developer ドキュメント で入手できたす。 AWS WAF が自動アプリケヌション局 DDoS 保護のサポヌトを開始 – AWS は、アプリケヌション局 (L7) の分散型サヌビス拒吊 (DDoS) 保護機胜を匷化し、むベントに数秒以内に応答する高速な自動怜出ず緩和機胜を远加したした。この AWS マネヌゞドルヌルグルヌプは、あらゆる期間の DDoS 攻撃を自動的に怜出しお緩和し、Amazon CloudFront、Application Load Balancer、および他の AWS WAF がサポヌトするサヌビスで実行されおいるアプリケヌションがナヌザヌにずっお䜿甚可胜であり続けるよう維持したす。システムは、機械孊習 (ML) モデルを䜿甚しおアクティベヌションから数分以内にベヌスラむンを確立し、トラフィックの異垞を怜出したす。その埌、疑わしいリク゚ストに察凊するためのルヌルを自動的に適甚したす。蚭定オプションは、チャレンゞの提瀺やリク゚ストのブロックなどの応答をカスタマむズするのに圹立ちたす。この機胜は、アゞアパシフィック (ã‚¿ã‚€)、メキシコ (䞭郚)、䞭囜 (北京および寧倏) を陀く、サポヌトされおいるすべおの AWS リヌゞョンにおいお、すべおの AWS WAF および AWS Shield Advanced サブスクラむバヌで䜿甚できたす。AWS WAF アプリケヌション局 (L7) DDoS 保護の詳现に぀いおは、 AWS WAF ドキュメント たたは AWS WAF コン゜ヌル にアクセスしおください。 AWS Control Tower がサヌビスにリンクされた AWS Config マネヌゞド AWS Config ルヌルのサポヌトを開始 – AWS Control Tower は、以前の CloudFormation StackSets のデプロむ方法に代えお、サヌビスにリンクされた AWS Config ルヌルをマネヌゞドアカりントで盎接デプロむするようになりたした。この倉曎により、耇数の AWS Control Tower マネヌゞドアカりントずリヌゞョンにわたっおサヌビスにリンクされた AWS Config ルヌルを有効にする堎合のデプロむ速床が向䞊したす。これらのサヌビスにリンクされたルヌルは AWS サヌビスによっお完党に管理され、ナヌザヌが線集たたは削陀するこずはできたせん。これは、䞀貫性を維持し、蚭定のドリフトを防ぐのに圹立ちたす。AWS Control Tower Config ルヌルは、アカりント内のリ゜ヌスの非準拠を怜出し、ダッシュボヌドを通じおアラヌトを提䟛したす。これらのコントロヌルは、 AWS Control Tower コン゜ヌル たたは AWS Control Tower コントロヌル API を䜿甚しおデプロむできたす。 Powertools for AWS Lambda に Bedrock Agents Function ナヌティリティが導入されたした – Powertools for AWS Lambda の新しい Amazon Bedrock Agents Function ナヌティリティは、Amazon Bedrock ゚ヌゞェントず統合されたサヌバヌレスアプリケヌションの構築を簡玠化したす。このナヌティリティは、デベロッパヌが組み蟌みのパラメヌタ挿入ず応答フォヌマットを䜿甚しお Amazon Bedrock ゚ヌゞェントのアクションリク゚ストに応答する AWS Lambda 関数を䜜成するのに圹立ち、ボむラヌプレヌトコヌドが䞍芁になりたす。このナヌティリティは Logger や Metrics などの他の Powertools 機胜ずシヌムレスに統合するため、本番察応の AI アプリケヌションをより容易に構築できたす。この統合により、AWS Lambda 関数を䜿甚しお Amazon Bedrock ゚ヌゞェントによっおリク゚ストされたアクションを凊理する゚ヌゞェントベヌスの゜リュヌションを構築する際のデベロッパヌ゚クスペリ゚ンスが改善されたす。このナヌティリティは、Powertools の Python、TypeScript、.NET バヌゞョンで䜿甚できたす。 pgactive のオヌプン゜ヌス化を発衚: PostgreSQL のアクティブ/アクティブレプリケヌション拡匵機胜 – pgactive は、デヌタベヌスむンスタンス間でデヌタをストリヌミングするための非同期アクティブ/アクティブレプリケヌションを可胜にする PostgreSQL 拡匵機胜であり、AWS がオヌプン゜ヌス化したした。この拡匵機胜は、異なるリヌゞョンにあるラむタヌを含むむンスタンス間のデヌタ移動においお、回埩力ず柔軟性を高めたす。これは、曞き蟌みトラフィックの切り替えなどのオペレヌション䞭の可甚性の維持に圹立ちたす。PostgreSQL の論理レプリケヌション機胜を基盀ずする pgactive は、アクティブ/アクティブレプリケヌションのシナリオの管理を簡玠化する機胜を远加したす。このオヌプン゜ヌスアプロヌチは、PostgreSQL のアクティブ/アクティブ機胜の開発におけるコラボレヌションを促進するずずもに、マルチアクティブむンスタンス環境での PostgreSQL の䜿甚を効率化する機胜を提䟛したす。詳现ず実装ガむダンスに぀いおは、 GitHub リポゞトリ にアクセスしおください。 AWS からのお知らせの詳现なリストに぀いおは、「AWS の最新情報」ペヌゞを随時ご確認ください。 远加のリヌゞョンで既存のサヌビスずむンスタンスタむプの提䟛を開始したした: AWS Glue がアゞアパシフィック (台北) リヌゞョンで利甚可胜に – AWS Glue は、分析、ML、アプリケヌション開発のためのデヌタの怜出、準備、結合を簡玠化するサヌバヌレスデヌタ統合サヌビスです。 欧州 (アむルランド) で Amazon EC2 I8g むンスタンスの提䟛を開始 – Amazon EC2 I8g むンスタンスは、ストレヌゞを倚甚するワヌクロヌドのために、Amazon EC2 で最も優れたパフォヌマンスを提䟛したす。 Amazon VPC IP Address Manager がアゞアパシフィック (台北) リヌゞョンで利甚可胜に – Amazon VPC IPAM を利甚するず、AWS ワヌクロヌドの IP アドレスの蚈画、远跡、モニタリングがより容易になりたす。 その他の AWS むベント カレンダヌを確認しお、近日開催予定の AWS むベントにサむンアップしたしょう。 コラボレヌションスペヌスであり、没入型゚クスペリ゚ンスでもある AWS GenAI Lofts  ã¯ã€ã‚¯ãƒ©ã‚Šãƒ‰ã‚³ãƒ³ãƒ”ュヌティングず AI に関する AWS の専門知識を玹介し、AI 補品やサヌビスを実際に䜿甚する機䌚、業界リヌダヌずの独占セッション、投資家や同業他瀟ずの貎重なネットワヌキングする機䌚をスタヌトアップや開発者に提䟛したす。  お近くの GenAI Loft 開催地を芋぀けお 、忘れずに登録したしょう。 AWS Summit は、クラりドコンピュヌティングコミュニティが぀ながり、コラボレヌトし、AWS に぀いお孊ぶために䞀堂に䌚する無料のオンラむンおよび察面むベントです。お近くの郜垂でご登録ください: ミラノ (6 月 18 日)、 䞊海 (6 月 19 日20 日)、 ムンバむ (6 月 19 日)、 日本 (6 月 25 日26 日)。 近日開催予定のすべおの AWS 䞻導の察面およびバヌチャルむベントは、こちら でご芧ください。 6 月 16 日週のニュヌスは以䞊です。6 月 23 日週の Weekly Roundup もお楜しみに! — Esra この蚘事は、 Weekly Roundup  ã‚·ãƒªãƒŒã‚ºã®äž€éƒšã§ã™ã€‚毎週、AWS からの興味深いニュヌスや発衚を簡単にたずめおお知らせしたす! 原文は こちら です。
このブログ蚘事では、コヌドの保守性を評䟡するための基準を抂説し、 AWS Blu Age がメむンフレヌムアプリケヌションを保守可胜なオブゞェクト指向の Java にどのように倉換するか説明したす。 AWS Blu Age を利甚するず、お客様はメむンフレヌムアプリケヌションを Java Spring アプリケヌションに倉換できたす。このトランスフォヌメヌションは、技術的な問題を解決するだけでなく、ビゞネスのトランスフォヌメヌションも可胜にしたす。新しく着任した開発者が、担圓する Java アプリケヌションに取り組むこずができる状態になっおいないず、モダナむれヌションの取り組みは行き詰たり、モダナむれヌション埌の䜜業の倧半がメンテナンスに集䞭したたたになりたす。 COBOL から Java ぞのプログラム倉換や同様のリファクタリングサヌビスを調査怜蚎するず、JaBOL のような甚語がよく出おきたす。JaBOL ずいう甚語は COBOL の構造を暡倣した Java コヌドを指し、倚くの堎合、移行元のコヌドのロゞックが理解されないたたの状態であるこずの衚れです。AWS Blu Age は、モデルからモデルぞの倉換、再利甚可胜なクラス、非手続き型パタヌンによっお JaBOL を回避するコヌドを生成し、よりクリヌンでモダンで保守しやすい実装を実珟しおいたす。 可読性 コヌドは、明確な呜名芏則に埓っお、コヌドの目的やロゞックの説明に関しお意味のあるコメントを備えた、読みやすく理解しやすいものでなければなりたせん。プロゞェクト党䜓で䞀貫したコヌディングスタむルがあれば、開発者の認知負荷が軜枛され、コヌドベヌスの操䜜が容易になりたす。 AWS Blu Age の Transformation Engine は、プロゞェクト党䜓を通しお䞀貫したコヌディングスタむルに埓い、読みやすくわかりやすいコヌドを生成したす。 AWS Blu Age がモダナむズしたアプリケヌションは Java Web アプリケヌション (WAR) ずしおパッケヌゞ化されおおり、どの Java EE サヌバヌにもデプロむできたす。通垞、サヌバヌは Spring Boot ず Angular フレヌムワヌク䞊に構築された AWS Blu Age ランタむムを組み蟌んだ Tomcat むンスタンスです。 基本的な Java プロゞェクトは、以䞋のように構成されたす。 Entities プロゞェクト — ビゞネスモデルずコンテキスト芁玠が含たれおいたす。プロゞェクト名は通垞「-entities」で終わりたす。これはレガシヌ COBOL プログラムの INPUT-OUTPUT SECTION (デヌタセット) ず DATA DIVISION のモダナむれヌションに盞圓したす。䞀぀のアプリケヌションに耇数の Entities プロゞェクトを含むこずができたす。 Service プロゞェクト — 埓来のビゞネスロゞックのモダナむれヌション芁玠が含たれおいたす。これは COBOL プログラムの PROCEDURE DIVISION に盞圓したす。䞀぀のアプリケヌションに耇数の Service プロゞェクトを含むこずができたす。 Utility プロゞェクト — 他のプロゞェクトで䜿甚される共通のツヌルやナヌティリティが含たれおいたす。 Web プロゞェクト — UI があるアプリケヌションの堎合は、モダナむズされた UI 関連の芁玠が含たれたす。これらの UI 芁玠は、CICS BMS マップ、IMS MFS コンポヌネント、およびその他のメむンフレヌム UI ゜ヌスから取埗されたす。䞀぀のアプリケヌションに耇数の Web プロゞェクトを䜜成できたす。 各構成芁玠のトランスフォヌメヌション前埌の察応関係を捉えやすくするために、各 Java クラスは、察応する COBOL プログラムの名前を螏襲しおいたす。リファクタリング䞭、AWS Blu Age の Transformation Engine は倉数ず関数にお客様固有の呜名芏則を適甚したす。各プロゞェクトは Apache Maven をビルドの自動化ずプロゞェクト管理に掻甚し、䞀貫した構造ず䞀元的な䟝存関係管理を実珟しおいたす。 モゞュヌル性 個々のモゞュヌル、クラス、および関数は、それぞれシステムの特定の偎面を凊理するよう、コヌドを構成する必芁がありたす。このモゞュヌル型のアプロヌチにより、システム党䜓に圱響を䞎えずに個々のコンポヌネントを曎新でき、コンポヌネントの再利甚が可胜になり、重耇が枛り、保守性が向䞊したす。 AWS Blu Age は、COBOL のモノリシックな構造ずは異なり、オブゞェクト指向蚭蚈のベストプラクティスに埓い、耇数のレむダヌに線成されたコヌドを生成したす。その構造は以䞋のようになりたす。 COBOL の DATA DIVISION は、耇数の゚ンティティに倉換されたす (01/77 レベルの COBOL デヌタ構造ごずに 1 ぀)。コンテキストクラスが生成され、すべおの゚ンティティが COBOL の実行ナニットコンテキストの抂念を再珟する 1 ぀の Java オブゞェクトにグルヌプ化されたす。プログラムの呌び出し時にコンテキストを埩元する必芁が生じた堎合は、シリアラむズ/逆シリアラむズできたす。 各プログラムには固有の Configuration クラスがあり、プログラムごずに動䜜をカスタマむズできたす。たずえば、アプリケヌション内で、あるプログラムは ASCII デヌタを凊理するよう蚭定し、別のプログラムは EBCDIC デヌタを凊理するよう蚭定するこずができたす。 COBOL の PROCEDURE DIVISION は、Spring 等のモダンなアプリケヌションで䜿甚されおいる DI (Dependency Injection) フレヌムワヌクに則り、interface を実装する Service クラスに倉換されたす。COBOL のパラグラフは、暙準的な Java のメ゜ッドになりたす。 最埌に、プログラムの名前を持぀クラスが、䞊述の独立した各クラス間を繋ぎたす。このクラスは run メ゜ッドを公開しおおり、呌び出されるず最新バヌゞョンのプログラムが実行されたす。 このアヌキテクチャでは、同䞀のデヌタ構造が 1 ぀のクラスに統合されるので、コヌドの重耇が枛り、メンテナンスが容易になりたす。 耇雑さ コヌドの耇雑さは、䞻に埪環的耇雑床ずコヌドの重耇によっお枬定されたす。 埪環的耇雑床 — コヌド内の独立したパスの数を枬定したす。䞀般に、耇雑床が䜎いずいうこずは、コヌドの理解、テスト、および保守に必芁な劎力が最小限であるこずを瀺したす。耇雑床が高いず、コヌドにバグが発生しやすくなり、倉曎が難しくなりたす。 コヌドの重耇 — 繰り返されるコヌドは最小限に抑える必芁がありたす。重耇しおいるず、倉曎を耇数の堎所に反映する必芁があるため、メンテナンスの負担が増えたす。重耇したコヌドを関数やクラスにリファクタリングするず、保守性が向䞊したす。 モダナむズされたコヌドは、レガシヌシステムの耇雑さをいくらか受け継いでいたす。ずはいえ、モダナむズされたコヌドの方が COBOL よりも読みやすく、クラスやオブゞェクトおよびメ゜ッド等の定矩や参照先を蟿り易くなっおいたす。これは、メ゜ッドのナビゲヌション、むンデント、構文がより明解になったこずによるものです。たずえば、COBOL の END-IF やドットメカニズム (文の終端にピリオド「.」を曞くこず) ず比べるず、if / else ステヌトメントには䞭括匧 { 
 } が䜿われたす。 AWS Blu Age でリファクタリングしたコヌドは Java Spring の暙準的なコヌディングルヌルすべおに準拠しおいるため、どんな Java 開発者でもすぐにコヌドの䞭身に入っお行き、詳しく調べるこずができたす。 耇数のレむダヌがあり、それぞれが特定のアヌキテクチャレむダヌに焊点を圓おおいる 暙準の getter / setter を持぀オブゞェクト interface ず実装を分離する Spring のデザむンパタヌン Fluent API に支えられたフレヌムワヌク 蚭定情報をプログラムから分離しお蚭定ファむルに倖出しするこずで、必芁なずきに蚭定情報に玠早くアクセスしお倉曎するこずができる。たずえば、蚭定ファむルに倖出しした SQL ク゚リや、YAML での蚭定など。 トランスフォヌメヌション䞭に、耇雑な制埡フロヌアルゎリズムを䜿甚しお、各プログラムの動䜜を把握したす。AWS Blu Age ツヌルチェヌンは、コヌド実行シミュレヌションを䜿甚しお実行可胜なパスを芋぀け、モダンなコヌドで必芁になるものだけを凊理するようにしおいたす。このプロセスのおかげで、COBOL の「GO TO」構文の動䜜を維持し぀぀、COBOL パラグラフを Java メ゜ッドに倉換するこずで、移行元のプログラム構造を残しおいたす。 進化可胜性 コヌドは、最小限の劎力で倉曎に察応できるように蚭蚈する必芁がありたす。コンポヌネント間は疎結合にする必芁がありたす。぀たり、システムのある郚分の倉曎が他の郚分に䞎える圱響を最小限に抑える必芁がありたす。 モダナむれヌション埌に改修を実斜するこずで、モダンな蚀語のすべおの機胜が利甚できるようになり、モダンなアプリケヌションですぐに有効化できるようになりたす。 䜿甚されおいる゚ンティティ (COBOL デヌタ構造に由来する) は JSON 互換であるため、Spring の機胜ずアノテヌションを掻甚しお、わずか数分で JSON ペむロヌドをも぀モダンな HTTP ゚ンドポむントずしおプログラムを公開できたす。結果ずしお、アプリケヌションの゜ヌスコヌドを API ベヌスの゜リュヌション、メッセヌゞングシステム、その他の最新テクノロゞヌずシヌムレスに統合できたす。 生成されるコヌドは䞀定の Java むディオムで構成され、どのコヌドも同じコヌディングパタヌンに埓いたす。以䞋は、簡単に実装できる䞀般的な倉曎の䟋です。 新しい特定の動䜜をアプリケヌション党䜓に䞀埋実装する必芁がある堎合 : Spring が AspectJ で提䟛する アスペクト指向プログラミング (AOP) を䜿甚しお、アプリケヌション党䜓に実装したす。 デヌタアクセスルヌチンが、本番 (実デヌタ) ずテスト (スタブデヌタ) では異なる動䜜をする必芁がある堎合 : 生成されたコヌドが Java の interface を䜿うので、テスト甚の実装を䜜成し、プロファむル (本番/テスト) に基づいお異なる Bean を䜿うよう Spring を構成したす。 無限ルヌププログラムを䜿っお IBM MQ メッセヌゞの取埗ず応答を行っおいる堎合 : メッセヌゞ凊理に Spring Integration を䜿甚するようにコヌドをリファクタリングしたす。これによっお、埓来の順次凊理に代わっお、トラフィックに基づいおメッセヌゞを䞊行しお凊理するスケヌラブルなリスナヌを実珟したす。 既存のバッチの実行時間を改善する必芁がある堎合 : 既存のコヌドを Java Runnable に盎接ラップし、Spring の TaskExecutor の抂念ず Java Future オブゞェクトを䜿甚した䞊列化を远加したす。 AWS Blu Age で䜜成された Java コヌドは、モダンなコヌディングのベストプラクティスに埓った、暙準的な Java コヌドです。これにより、他の暙準的な Java プロゞェクトず同様に、移行埌のコヌドをさらに進化させお耇雑さを軜枛し、保守性を向䞊させるこずができたす。 コヌドレビュヌず品質保蚌 SonarQube のような静的解析ツヌルは、゚ラヌ、セキュリティの脆匱性、コヌディング暙準からの逞脱を怜出するこずにより、コヌドの品質ず保守性を保蚌したす。 AWS Blu Age は、コヌド品質を刀定するための䞻な指暙ずしお、静的コヌド解析ツヌルである SonarQube を䜿甚したす。SonarQube はコヌドベヌスを実行せずにスキャンし、開発プロセスの早い段階でバグ、セキュリティの脆匱性、朜圚的なパフォヌマンス䞊の問題を特定したす。バグ、テストカバレッゞ、コヌドの耇雑さなどの重芁な指暙にしきい倀を蚭定するこずで、「品質ゲヌト」を通じお暙準を適甚したす。 AWS Blu Age における SonarQube の䞻な機胜: コヌドの重耇ず保守性の問題に関する掞察を提䟛したす OWASP Top 10 などの暙準を䜿甚しおセキュリティの脆匱性を怜出したす 䞍適切なプラクティスや蚭蚈を瀺す兆候ずなるようなコヌドを特定したす 特定のプロゞェクト芁件に合わせおルヌルずしきい倀をカスタマむズできたす AWS Blu Age でモダナむズされたコヌドは、お客様の SonarQube プロファむルを䜿甚しお解析しおも確実に AAAA 評䟡を埗られるようにし、業界暙準を満たす高品質で保守しやすいコヌドになるこずを保蚌したす。 ドキュメント化 保守に必芁なドキュメントずしお、次の 2 皮類のものが考えられたす。 むンラむンコメント — 耇雑なロゞック、アルゎリズム、たたは自明ではない決定を説明するコメントがコヌド内に必芁䞍可欠です。コメントは、冗長だったり、自明なコヌドを説明したりするべきではありたせん。 倖郚ドキュメント — API リファレンス、アヌキテクチャ図、䜿甚ガむドなどの包括的なドキュメントは、新芏開発者がシステムを理解し、効果的に貢献するのに圹立ちたす。 AWS Blu Age のトランスフォヌメヌションプロセスでは、元のプログラム内でロゞックの説明に蚘述されおいるコメントをそのたた匕き継ぎ、むンラむンコメントずしおコヌド内に残したす。 JDK に含たれおいる Javadoc を䜿うず、他の開発者が远跡し理解できるような䞀貫したスタむルのドキュメントを䜜成できたす。Web ベヌスの HTML ドキュメントを生成するこずで、開発者はコヌドベヌスのドキュメントを簡単に参照および怜玢できたす。AWS Blu Age は、各機胜を適切に文曞化し、将来の開発やデバッグ䜜業で理解しやすくするため、コヌドの保守に圹立ちたす。 テスト容易性 単䜓テストで個々のコンポヌネントを簡単にテストできるよう、コヌドを蚘述する必芁がありたす。そのためには、倚くの堎合、疎結合で、明確なむンタヌフェヌスを備えたコヌドを蚭蚈する必芁がありたす。単䜓テスト、統合テスト、回垰テストを含む包括的なテスト自動化により、コヌドの倉曎によっおバグが発生しないこずが確認できるず、メンテナンスが容易になりたす。 リファクタリングされたコヌドには、明確なむンタヌフェヌスがあり、疎結合であるため、単䜓テストコヌドの生成が容易になりたす。JUnit、EvoSuite、JUnit-QuickCheck などのツヌルは、コヌドに基づいお単䜓テストケヌスを自動的に生成できたす。たた、JaCoCo などのツヌルを䜿甚するず、テストの郜床コヌドカバレッゞを分析したり、远加のテストケヌスが必芁な領域を特定したりできたす。 AWS は、アプリケヌションテストを倧芏暡に蚘録、再生、比范するためのサヌビスである AWS Mainframe Modernization Application Testing を提䟛しおいたす。これにより、アプリケヌション機胜のテスト再生、比范、怜蚌のためのテストワヌクフロヌを高床に自動化しお䜜成できたす。 たずめ AWS Blu Age はメむンフレヌムアプリケヌションの俊敏性を高め、メむンフレヌムのモノリスからアゞャむルな マクロサヌビス ぞ進化させるこずができたす。するず、お客様はモダンな開発環境を採甚できるようになり、生産性が向䞊し、ブロッカヌを排陀できたす。開発ずテストは、機胜ごずに独立しお柔軟に行えるようになりたす。その結果、垂堎投入たでの時間が短瞮され、倉曎にかかるコストが削枛されたす。レガシヌテクノロゞヌに熟緎した人材の退職に䌎うリスクも軜枛されたす。AWS Blu Age によっお移行したアプリケヌションは、マむクロサヌビスの導入によっおモダナむれヌションの次の段階に進むこずができ、メむンフレヌムアプリケヌションに AI を掻甚し、AWS クラりドサヌビスず統合するこずができるようになりたす。 AWS Blu Age に関するその他の参考情報: AWS Blu Age 認定: https://bluinsights.aws/certification/ ドキュメンテヌション: https://bluinsights.aws/docs/transformation-center-create-a-project/ メむンフレヌム・モダナむれヌションの お客様事䟋ずその他の゜リュヌション Yann Kindelberger Yann Kindelberger は、アマゟンりェブサヌビスの Principal Solution Architect です。Yann は 23 幎以䞊メむンフレヌムに携わり、IBM で 20 幎以䞊メむンフレヌムアヌキテクトずしお勀務したした。圌はメむンフレヌムの AWS クラりドぞの移行ずモダナむれヌションに取り組んでいるワヌルドワむドなチヌムの䞀員です。圌は 2021 幎に AWS に入瀟し、゜リュヌションアヌキテクトずしお、お客様のメむンフレヌムの移行ずモダナむれヌションを支揎し、助蚀し、サポヌトしおいたす。 Arnaud Perrier Arnaud はアマゟンりェブサヌビスの Senior Software Development Engineer です。Arnaud は、䞻に AWS Blu Age ツヌルセットを䜿甚したリファクタリングパタヌンに関するメむンフレヌム/ミッドレンゞのモダナむれヌション掻動 (プリセヌルス、採甚、認定、専門知識) に 15 幎以䞊携わっおきたした。圌の圹割は、お客様のモダナむれヌションゞャヌニヌを支揎し、パヌトナヌず広範に連携し、サヌビスチヌムやデリバリヌチヌムが高床な技術的課題を解決できるようサポヌトするこずです。 Chiranjeev Mukherjee Chiranjeev は AWS のメむンフレヌムモダナむれヌション担圓 Sr. Specialist Solution Architect です。Chiranjeev は、メむンフレヌムで玄 20 幎間働いおおり、䞻に䞖界䞭のお客様を察象ずしたメむンフレヌムのモダナむれヌションむニシアチブにフォヌカスしおきたした。珟圚の圹職では、メむンフレヌムずレガシヌシステムに AWS の䟡倀提案を最倧限に掻甚する方法に぀いお、お客様やパヌトナヌに助蚀しおいたす。 Sylvain Eveillard Sylvain はメむンフレヌムモダナむれヌションにおいお 15 幎以䞊の経隓がありたす。圌はナニヌクな蚀語/プラットフォヌムOpen VMS / GS21 / Natural-Adabas / 階局型デヌタベヌスたたはネットワヌクデヌタベヌスでのプロゞェクトや補品蚭蚈に関する専門知識を持っおいたす。 Tim Gray Tim は AWS の Worldwide Go-to-market Specialist で、メむンフレヌムずレガシヌのモダナむれヌションを専門ずしおいたす。Tim は䞖界䞭のお客様やパヌトナヌず協力しお、メむンフレヌムアプリケヌションをトランスフォヌメヌションするための革新的な戊略を開発しおいたす。Tim はメむンフレヌムモダナむれヌション業界に 7 幎以䞊携わり、AstadiaAmdocs により買収ず IBM に勀務しおきたした。AWS では、お客様やパヌトナヌがより早く結果を出せるよう支揎する、拡匵性の高いモダナむれヌション戊略の構築に泚力しおいたす。 この投皿の翻蚳は Mainframe Modernization Specialist Solutions Architect の皆川が担圓臎したした。原文蚘事は こちら です。
はじめに 2024幎、経枈産業省は  GENIACGenerative AI Accelerator Challenge  ã‚’立ち䞊げたした。これは、䌁業に資金、メンタリング、そしお基盀モデル開発のための 倧芏暡なコンピュヌティングリ゜ヌス を提䟛するこずで生成AIを掚進する囜家プログラムです。AWSはGENIACの第二期においお、䞀括調達方匏のクラりドプロバむダヌずしお遞定されるずずもに、個別調達方匏でGENIACに参加する事業者からの蚈算リ゜ヌス需芁にも察応したした。結果ずしお、12の事業者に向けお基盀モデル開発のための蚈算リ゜ヌスず、AIアクセラレヌタヌクラスタ構築・運甚支揎を䞻ずする技術支揎を提䟛させおいただきたした。技術支揎ずいう芳点では衚面的には、各チヌムに数癟のGPU/Trainiumを提䟛するずいうシンプルな課題のように芋えたしたが、実際には 基盀モデルFMのトレヌニングには、単なるハヌドりェア以䞊の芁玠が必芁 でした。 AWSは、 1000以䞊のアクセラレヌタヌの割り圓おは始たりに過ぎない こずを早期から認識しおいたした。真の課題は、信頌性の高いむンフラストラクチャ・゜フトりェアスタックの構築、ナヌザヌぞの知識共有、分散トレヌニングの障害克服にありたした。GENIAC第2サむクルでは、12の顧客が1日で 127台の Amazon EC2 P5むンスタンス NVIDIA H100 TensorCore GPUサヌバヌず24台の Amazon EC2 Trn1むンスタンス AWS Trainiumサヌバヌ をデプロむし、その埌の6ヶ月間で、各瀟耇数の倧芏暡モデルがトレヌニングされたした。 この蚘事では、その取り組みから埗られた重芁な教蚓を共有したす。これらは、倧芏暡な基盀モデルを構築しようずする䌁業や他の囜家むニシアチブに適甚できる貎重な知芋です。 Cross Functional な゚ンゲヌゞメントチヌム GENIACの取り組みに察しおAWSがどういった支揎を提䟛できるかを怜蚎する䞭で埗られた重芁な初期の教蚓は、耇数組織による囜家芏暡のMLむニシアチブを実行するには、AWS内郚の倚数のチヌムが協業しお支揎を提䟛する必芁があるずいうこずでした。このため AWSは、アカりントチヌム、Specialist SA/BD、サポヌト担圓者、サヌビスチヌムを統合した Virtual Team“v-team” を蚭立したした。GENIACに向けた゚ンゲヌゞメントモデルは、顧客ず倚局的なAWSチヌム構造ずの緊密なコラボレヌションを基盀ずしおいたす。 顧客Cx は通垞、ビゞネスリヌド、テクニカルリヌド、MLたたはプラットフォヌム゚ンゞニアで構成され、トレヌニングワヌクロヌドの実行を担圓したす。 AWS Account Team゜リュヌションアヌキテクトずアカりントマネヌゞャヌ は関係性の管理、ドキュメントの維持、顧客ず内郚スペシャリストずのコミュニケヌションフロヌを確保したす。 World Wide Specialist OrganizationWWSOFrameworksチヌム は、この゚ンゲヌゞメント構造の確立ず、プログラム内の技術的゚ンゲヌゞメントの監督を担圓したす。圌らは他のステヌクホルダヌずパヌトナヌシップを組み、゚ンゲヌゞメントをリヌドし、他のステヌクホルダヌのための゚スカレヌションポむントずしお機胜したす。圌らは サヌビスチヌムAmazon EC2、Amazon S3やAmazon FSx for LustreなどのStorageサヌビス、Amazon SageMaker HyperPod ず盎接連携し、゚ンゲヌゞメント、゚スカレヌションビゞネスおよび技術的、゚ンゲヌゞメントフレヌムワヌクの正垞な動䜜を確保したす。圌らは顧客にトレヌニングず掚論に関するガむダンスを提䟛し、他のチヌムに技術を教育したす。WWSO Frameworksチヌムは GENIACに向けた支揎䜓制で特に蚭定した圹割であるリヌド゜リュヌションアヌキテクトLead SA ず密接に連携したした。これらのリヌドSAは、この゚ンゲヌゞメントの基盀ずなる存圚です。圌らはFrameworksスペシャリストチヌムず協力しながら、顧客ずアカりントチヌムず盎接連携したす。圌らは顧客ず盎接察話しながら、詳现な技術的議論やトラブルシュヌティングの際には Frameworks チヌムの察応者ず連携したす。この階局構造により、AWSは耇雑な基盀モデルトレヌニングワヌクロヌドにわたっお技術的ガむダンスを効果的にスケヌルさせるこずができたす。 GENIACのもう䞀぀の重芁な成功芁因は、顧客ずAWSメンバヌ間の堅牢なコミュニケヌションチャネルの確立でした。私たちのコミュニケヌション戊略の基盀は、GENIAC支揎のための専甚の 内郚Slackチャネル で、AWSアカりントチヌムずLead SA、Frameworks team が連携したす。このチャネルは、リアルタむムのトラブルシュヌティング、ナレッゞ共有、事業者の問題を適切な技術スペシャリストやサヌビスチヌムメンバヌぞの迅速な゚スカレヌションを可胜にしたした。これを補完するのが、AWSチヌムず事業者を橋枡しする 倖郚Slackチャネル で、参加者が質問をし、掞察を共有し、即時の技術支揎を受けられる協力的な環境を䜜り出したした。この盎接的なコミュニケヌションラむンは、解決時間を倧幅に短瞮し、参加者間の実践コミュニティを育みたした。 私たちは、各顧客のトレヌニング実装の詳现モデルアヌキテクチャ、分散トレヌニングフレヌムワヌク、関連する゜フトりェアコンポヌネントずむンフラストラクチャの仕様むンスタンスタむプず数量、ParallelClusterたたはHyperPodデプロむメントのクラスタヌ蚭定、FSx for LustreやS3などのストレヌゞ゜リュヌションを Tracking Document ずしお文曞化したした。こうした文曞を甚いるこずで、各事業者のプロゞェクトの詳现や、過去のやり取りず、サポヌトケヌスの状況等を透過的に把握できたした。 この構造化されたコミュニケヌションずドキュメントのアプロヌチにより、私たちは共通の課題を特定し、チヌム間で゜リュヌションを共有し、サポヌトモデルを継続的に改善するこずができたした。詳现な远跡システムは、将来のGENIACサむクルのための貎重な掞察を提䟛し、顧客のニヌズを予枬し、基盀モデル開発プロセスにおける朜圚的なボトルネックを先行的に察凊するのに圹立ちたした。 リファレンスアヌキテクチャ もう䞀぀の重芁な掞察は、 基盀モデル開発に特化したリファレンスアヌキテクチャの重芁性 でした。各事業者が独自のクラスタヌを䞀から立ち䞊げる必芁がないよう、AWSは2぀の䞻芁なアプロヌチ AWS ParallelCluster Self-managed の HPC クラスタ管理ツヌルず Amazon SageMaker HyperPod Managed の回埩力のあるクラスタヌサヌビス甚のための 事前怜蚌枈みリファレンスアヌキテクチャ を開発したした。これらのリファレンスアヌキテクチャは、ネットワヌクずストレヌゞからコンテナ実行環境ずモニタリングなど、分散孊習実行に必芁な機胜をカバヌしおいたす。 これらのリファレンスアヌキテクチャは  GitHub レポゞトリ awsome-distributed-training  䞊で提䟛され、チヌムが最小限の工数でデプロむできるようになっおいたす。 このリファレンスアヌキテクチャは、Computing、Networking、Storage、Monitoring を、倧芏暡な基盀モデルトレヌニングに特化しお蚭蚈された統合システムにシヌムレスに組み合わせおいたす。 このレファレンスアヌキテクチャはベヌスむンフラストラクチャスタックず、クラスタ本䜓から構成されたす。 ベヌスむンフラストラクチャスタックは CloudFormationテンプレヌト ずしお利甚可胜で、最小限の劎力デプロむ可胜です。このテンプレヌトは、最適化されたネットワヌク蚭定を持぀専甚VPCを自動的に蚭定し、トレヌニングデヌタ甚の高性胜なAmazon FSx for Lustre Filesystemを実装したすオプショナルで共有ホヌムディレクトリ甚に FSx for OpenZFS Filesystem を Deploy するこずも可胜です。たた、このむンフラストラクチャスタックではパフォヌマンスずコスト効率のバランスを取る階局型ストレヌゞアプロヌチを採甚しおいたす。基盀ずなるのは、トレヌニングデヌタずチェックポむントの長期ストレヌゞを提䟛するAmazon S3です。トレヌニング䞭のストレヌゞボトルネックを防ぐため、S3バケットは デヌタリポゞトリア゜シ゚ヌションDRA を通じおLustreファむルシステムずリンクされおいたす。DRAは、Amazon S3ずFSx for Lustre間の自動的で透過的なデヌタ転送を可胜にし、手動コピヌなしでS3デヌタぞの高性胜アクセスを実珟したす。 オプションのモニタリングむンフラストラクチャは、 Amazon Managed Service for PrometheusずAmazon Managed Grafana たたは EC2䞊で実行されるセルフマネヌゞドGrafanaサヌビス を組み合わせお、包括的な可芳枬性を提䟛したす。GPUメトリクスのDCGM ExporterずネットワヌクメトリクスのEFA Exporterを統合し、システムの健党性ずパフォヌマンスのリアルタむムモニタリングを可胜にしたした。このセットアップにより、GPUの健党性、ネットワヌクパフォヌマンス、トレヌニングの進捗を継続的に远跡し、Grafanaダッシュボヌドを通じお異垞の自動アラヌトを実珟したす。䟋えば、 GPU Health Dashboard は、Uncorrectable Remapped Rows、Correctable Remapped Rows、XID Error Codes、Row Remap Failure、Thermal violations、Missing GPUsNvidia-SMIからなどの䞀般的なGPU゚ラヌのメトリクスを提䟛し、ナヌザヌがハヌドりェア障害を可胜な限り迅速に特定できるようにしたす。 詳现なDeployment Guide ずワヌクショップ リファレンスアヌキテクチャも、チヌムが䜿甚方法を知らなければ圹に立ちたせん。GENIACの成功の重芁な芁玠は、 再珟可胜なデプロむメントガむドずワヌクショップを通じた知識の共有 でした。 2024幎10月3日、AWS JapanずWWSO Frameworksチヌムは、GENIAC第2サむクル参加者向けの倧芏暡なワヌクショップを開催し、米囜からのFrameworksチヌムメンバヌを招いお、AWSでの基盀モデルトレヌニングのベストプラクティスを共有したした。 このむベントには80名以䞊の参加者を迎え、講矩、ハンズオンラボ、グルヌプディスカッションを組み合わせた包括的なプログラムを提䟛し、CSAT 4.75 ずいう高い評䟡をいただきたした。講矩セッションでは、むンフラストラクチャの基瀎、AWS ParallelCluster、Amazon EKS、Amazon SageMaker HyperPodなどのオヌケストレヌションオプション、AWSを䜿甚した倧芏暡基盀モデルFMの構築ずトレヌニングに必芁な゜フトりェアコンポヌネントに぀いお説明したした。セッションでは、FM開発における実践的な課題—倧芏暡なコンピュヌティング芁件、スケヌラブルなネットワヌキング、高スルヌプットストレヌゞを取り䞊げ、それらを適切なAWSサヌビスずベストプラクティスにマッピングしたした 講矩セッションのスラむドデッキ 。別のセッションではベストプラクティスに焊点を圓お、参加者はPrometheusずGrafanaを䜿甚したパフォヌマンスダッシュボヌドの蚭定、EFA Trafficのモニタリング、NVIDIAのDCGMツヌルキットずFrameworksチヌムの2000台のP5むンスタンスを持぀クラスタヌ管理経隓に基づくカスタムGrafanaダッシュボヌドを䜿甚したGPU障害のトラブルシュヌティングを孊びたした。 さらに、WWSOチヌムはParallelCluster Machine Learning on AWS ParallelCluster ずHyperPod Amazon SageMaker HyperPod Workshop の双方に察応したワヌクショップを準備したした。これらの資料を䜿甚しお、参加者はSlurmを䜿甚したトレヌニングクラスタヌのデプロむ、FSx for LustreずFSx for OpenZFSを含むファむルシステム、マルチノヌドPyTorch分散トレヌニングの実行を実践したした。ワヌクショップの別のセグメントでは可芳枬性ずパフォヌマンスチュヌニングに焊点を圓お、参加者はリ゜ヌス䜿甚率、ネットワヌクスルヌプットEFAトラフィック、システムの健党性のモニタリング方法を孊びたした。これらのセッションを通しお、顧客ずサポヌトするAWS゚ンゞニアの䞡方が、共有の知識基盀ずベストプラクティスのツヌルキットを確立したした。孊んだすべおの資産ず知識を䜿甚しお、顧客はリヌドSAず共に、特定のナヌスケヌスに合わせたクラスタヌを同時にデプロむしたした。このステップはオンボヌディングセッションず呌ばれたす。これらのセッション䞭、各リヌドSAは顧客がクラスタヌをデプロむし、NCCLテストを䜿甚しおクラスタヌの機胜をテストし、通話䞭に発生した技術的な質問に察凊できるこずを確認したした。 顧客のフィヌドバック デヌタ入力の課題を根本的に解決するため、通垞項目にはSLMずLLMを䜿甚した2段階掚論ず自埋孊習、詳现項目には10䞇件の合成デヌタサンプルを䜿甚したVLMによる芖芚孊習を適甚し、凊理粟床ずコスト効率を倧幅に改善したした。たた、Amazon EC2 P5むンスタンスを掻甚しお研究開発効率を向䞊させたした。これらの野心的な取り組みは、AWSを含む倚くの方々のサポヌトによっお可胜になりたした。広範なサポヌトに深く感謝いたしたす。 井䞊 拓真 – 執行圹員CTO, AI Inside フュヌチャヌはGENIACでの日本語ず゜フトりェア開発に特化した倧芏暡蚀語モデルの開発においおAWSを遞択したした。耇数ノヌドを甚いた倧芏暡なモデル孊習ではノヌド間通信等の環境蚭定に関する䞍安がありたしたが、AWSではParallelCulsterをはじめずしお呚蟺ツヌルが充実しおいたこずに加え、AWSの゜リュヌションアヌキテクトの方々からも匷力なサポヌトを頂き、迅速に倧芏暡な孊習を開始するこずができたした。 森䞋 睊 – Chief Research Engineer, Future Corporation 結果ず今埌の展望 このブログで述べたような包括的な支揎䜓制ににより、AWSは 12の顧客が1日で127台以䞊のP5むンスタンスず24台のTrn1 を立ち䞊げる支揎を提䟛できたした。クラスタ䞊での6ヶ月の孊習を通しお、各事業者は基盀モデルの開発を行いたした。 GENIACは、倧芏暡な基盀モデルのトレヌニングが本質的に組織的な課題であり、単なるハヌドりェアの問題ではないこずを実蚌したした。構造化されたサポヌト、再珟可胜なテンプレヌト、クロスファンクショナルなコラボレヌションを通じお、小さなチヌムでもクラりドで倧芏暡なワヌクロヌドを成功裏に実行するこずができたす。 AWSはすでにGENIACの次のサむクルの準備を開始しおいたす。その䞀環ずしお、AWSは4月3日に東京で基盀モデルビルダヌにハンズオン䜓隓ずアヌキテクチャガむダンスを提䟛するための技術むベントを開催したした。50名以䞊の参加者を集めたこのむベントは、スケヌラブルで回埩力のある生成AIむンフラストラクチャをサポヌトするAWSの取り組みを瀺したした。 このむベントでは、GENIACのためのAWSの技術的゚ンゲヌゞメントモデルず、 LLM Development Support Program や Generative AI Accelerator などの他のサポヌトメカニズムが玹介されたした。むベント午前䞭には SageMaker HyperPod に関するワヌクショップが行われ、参加者はマルチノヌドGPUクラスタヌの立ち䞊げ、分散PyTorchトレヌニング、オブザヌバビリティを手を動かしながら孊びたした。午埌に行われたセッションは、コンテナ化されたML、分散トレヌニング戊略、AWSのカスタムシリコン゜リュヌションなどの重芁なトピックをカバヌしたした。たたClassmethod Inc. からも実践的なHyperPodの掞察を共有するセッションがありたした。このむベントは、むンフラストラクチャからデプロむメントツヌルたで、AWSの゚ンドツヌ゚ンドのGenAIサポヌト゚コシステムを玹介し、GENIAC第3サむクルの基盀を築きたした。AWSが基盀モデル開発のサポヌトを拡倧し続ける䞭、GENIACの成功は、組織が基盀モデル開発を効果的に構築しスケヌルするための青写真ずしお機胜したす。 この蚘事は、AWS GENIAC Cycle2のコアテックメンバヌである 小林正人 、 䞀柳健倪 、 癜柀聡 、Accelerated Computing Specialist  朚内 舞 、ならびにリヌド゜リュヌションアヌキテクトの 宮本倧茔 、 針原䜳貎 、 䜐々朚啓 、 垞䞖倧史 によっお寄皿されたした。゚グれクティブスポンサヌシップずしお 安田俊圊 が支揎を提䟛したした。たた、AWS圚籍時にコアメンバヌおよびリヌド゜リュヌションアヌキテクトずしお 畑浩史 氏 、 尟原颯 氏 、 卜郚達也  æ°ã‚‚支揎を提䟛したした。WWSO Frameworks チヌムのメンバヌである Maxime Hugues 、 Matthew Nightingale 、 Aman Shanbhag 、 Alex Iankoulski 、 Anoop Saha 、 Yashesh Shroff 、 Shubha Kumbadakone  ã‚‚広範な技術支揎を提䟛したした。 Pierre-Yves Aquilanti 氏  ã‚‚AWS 圚職䞭に技術支揎を提䟛したした。 著者に぀いお 枡蟺啓倪 は、AWS WWSO FrameworksチヌムのSenior Specialist Solutions Architectで、基盀モデルの孊習ず掚論を専門ずしおいたす。AWS 入瀟前は、E コマヌス業界で Machine Learning Researcherずしお商品怜玢向けの画像怜玢システムの開発に埓事しおいたした。GENIAC における技術面のリヌドを担圓しおいたす。 井坂倧 は、AWS WWSO Frameworksチヌムの Principal Business Development で、機械孊習ず人工知胜゜リュヌションを専門ずしおいたす。GENIAC の立ち䞊げ圓初から関䞎しおおり、AWS の生成系 AI 補品の垂堎戊略をリヌドしおいたす。 小林正人 は、2013幎からAWS Japanの゜リュヌションアヌキテクト(SA)ずしお、お客様のクラりド掻甚を技術的な偎面・ビゞネス的な偎面の双方から支揎しおきたした。2024幎からは特定のお客様を担圓するチヌムを離れ、技術領域やサヌビスを担圓するスペシャリストSAチヌムをリヌドする圹割に倉わりたした。奜きな枩泉の泉質は、酞性-カルシりム-硫酞塩泉です。
この蚘事は 2025 幎 5 月 20 日に公開された Securing your origin for Media and Entertainment workflows を翻蚳したものです。 メディアストリヌミングアプリケヌションでは、コンテンツぞの暩限のないアクセスや再配垃などの、増加しおいるセキュリティ䞊の課題に盎面しおいたす。ストリヌミングワヌクフロヌに察する䞀般的なセキュリティ脅嚁を粟査し、Amazon Web Services ( AWS ) を䜿甚しおコンテンツを保護するための実甚的な゜リュヌションを提䟛したす。 メディアストリヌミングにおけるセキュリティ䞊の課題 ストリヌミングアプリケヌションに適切なセキュリティ察策が講じられおいない堎合、暩限のないナヌザヌは以䞋のこずが可胜ずなりたす 蚱可なくコンテンツにアクセスしお再配垃する 蚱可されおいない Web サむトにストリヌムを埋め蟌む 自動プログラムを䜿甚しおコンテンツをスクレむピングする これらのセキュリティ䟵害は以䞋を匕き起こす可胜性がありたす 顧客の離反 むンフラストラクチャコストの増加 アプリケヌションパフォヌマンスの䜎䞋 このブログはメディア & ゚ンタヌテむンメントのワヌクフロヌに適したオリゞンに぀いおのシリヌズの第 2 回目です。前回は ワヌクフロヌに適したオリゞンを遞択する方法に぀いお説明 したした。 今回はオリゞンずコンテンツの保護に焊点を圓おたす。 望たしくないアクセスからの保護方法 䞍正アクセスの 3 ぀の䞻芁なポむントずそれに察応する゜リュヌションに぀いお粟査したす。 クロスオリゞンリ゜ヌスシェアリング ( CORS ) ずオリゞンぞの盎接アクセス iFrame 埋め蟌み ナニフォヌム・リ゜ヌス・ロケヌタヌ (URL) シェアリング 1. CORS ずオリゞンぞの盎接アクセス オリゞンが盎接アクセスされないようにするにはクラむアントアプリケヌションたたはりェブサむトがコンテンツ配信ネットワヌク (CDN) 経由でのみビデオストリヌムをリク゚ストするようにしおください。 AWS の CDN サヌビスは Amazon CloudFront ( CloudFront ) です。 Amazon Simple Storage Service ( Amazon S3 )、AWS Elemental MediaPackage ( MediaPackage )、たたはカスタムオリゞンのいずれを䜿甚する堎合でも、オリゞンを CloudFront に远加できたす。詳现な手順に぀いおは コンテンツぞのセキュアなアクセスの蚭定ずアクセスの制限 を参照しおください。ドキュメントの手順に沿っお実行するこずでリク゚ストはオリゞンではなく CloudFront によっおのみ凊理されるようになりたす。 遞択したオリゞンの CORS ルヌルがアクセスを蚱可するドメむン名のみを蚱可するよう蚭定されおいるこずを確認したしょう。 以䞋の図は正しい CORS ルヌルによっおビデオストリヌムがどのように保護されるかを瀺しおいたす。 図 1 : ビデオストリヌムぞのアクセスを保護する CORS ルヌルを瀺す図 以䞋はドメむン “my-site.com” に察しお GET メ゜ッドを蚱可する Amazon S3 CORS ポリシヌの䟋です。 <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>https://www.my-site.com</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration> CORS ルヌルずポリシヌの蚭定方法の詳现に぀いおは Amazon S3 CORS ず MediaPackage CORS を参照しおください。 2. iFrame の埋め蟌み りェブペヌゞでは、特に動画の再生にネストフレヌム (iframe) を䜿甚するのが䞀般的です。これは、りェブペヌゞの読み蟌み時間が短瞮され、デプロむが容易になるためです。 このようなアプロヌチでは、開発者はプレヌダヌフレヌムを埋め蟌んで目的の動画に指定するだけです。 iframe は HTML タグ <iframe> で 、HTML ペヌゞ具䜓的には、「あるりェブサむト」をあなたの HTML ペヌゞ぀たり、「あなたのりェブサむト」に埋め蟌むこずができるタグです。Web を䜿甚しおいるず気付かないうちに iframe を目にしおいたす。 䟋えば、ニュヌスりェブサむトに埋め蟌たれおいる YouTube 動画がその䞀䟋です。ブログに埋め蟌たれおいる Facebook や Twitter の投皿も iframe の堎合がありたす。これらはすべお別の HTML ペヌゞに埋め蟌たれた HTML ペヌゞです。 次の䟋では、巊䞊の最初のりェブペヌゞに挿入された 4 ぀のビデオすべおが iframe タグを䜿甚しお挿入されたす。ナヌザヌが動画の 1 ぀をクリックするず、りェブサむトに動画を埋め蟌んだ iframe タグで定矩されおいる動画右偎の 2 番目の画像が開きたす。この動画が実際にホストされおいる “実際の” ペヌゞは YouTube䞭倮䞋の画像にありたす。右䞊の画像に衚瀺されおいる埋め蟌みペヌゞずは異なるこずがわかりたす。 図 2 : Web サむトに埋め蟌たれた iframe の䜿甚 iframe の䞍正な埋め蟌みを防ぐには : セキュリティヘッダヌに X-Frame-Options を実装したす。 詳现に぀いおは Mozilla 開発者ネットワヌクのドキュメント を参照しおください。 CloudFront のセキュリティヘッダヌレスポンスを䜿甚しおください。 詳现な説明に぀いおは CloudFront レスポンスぞの HTTP セキュリティヘッダヌの远加 を参照しおください。 適切な X-Frame-Options 倀を蚭定したす。 iframe のドメむンが芪フレヌムず同じ堎合は SAMEORIGIN を䜿甚しおください。 DENY を䜿甚するず、誰にも埋め蟌たれないようにできたす。 誰かがあなたの iframe 埋め蟌みを悪甚しようずした堎合に、あなたのペヌゞに戻るようにする JavaScript ベヌスの埋め蟌み防止コヌドを远加するこずを怜蚎しおください。 3. URL シェアリング URL シェアリングに察凊するには、いく぀かの方法がありたす。 a. トヌクン化された URL トヌクン化された URL を䜿甚するず、指定されたトヌクンが提䟛された堎合にのみリク゚ストが凊理されたす。 通垞、トヌクンは特定の情報をカプセル化したハッシュで、長期間䜿甚されないように有効期限を短くするのが䞀般的です。 䞀般的な実装の䟋は以䞋のずおりです。 https://example.com/hls/playlist.m3u8?token=4180da90a6973bc8bd801bfe49f04a&expiry=1526231040535 や https://example.com/hls/segment001.ts?token=4180da90a6973bc8bd801bfe49f04a&expiry=1526231040535 のようになりたす。URL を取埗しようずするリク゚スト (この䟋では https://example.com/hls/segment001.ts ) を実行するず、403 HTTP ゚ラヌコヌドが返されたす。 トヌクン化された URL を䜿甚する利点 : 期間限定にできる 静的なホットリンクを防ぐこずができる トヌクン化された URL を䜿甚する堎合の欠点 : 共有できおしたう スクレむピングできおしたう b. セッションベヌスのトヌクン URL トヌクンを匷化するために、特定のナヌザヌず緊密に結び぀いたセッションベヌスのトヌクンを䜜成するこずができたす。 汎甚トヌクンはリ゜ヌスぞの盎接アクセスを防ぐこずができたすが、セッショントヌクンはサむトやアプリケヌションのコンテキスト倖にあるリ゜ヌスぞのアクセスを防ぎたす。 このトヌクンは、コンテンツをリク゚ストするナヌザヌが同じ IP アドレス、ナヌザヌ゚ヌゞェント、JS で生成されたハッシュ、その他のナヌザヌ固有の情報を持っおいるこずなどを怜蚌したす。 セッションベヌスのトヌクンを䜿甚する利点 : セキュリティレむダヌの远加 特定のナヌザヌに玐付けられたアクセス制埡 远跡ず分析が可胜 有効期限ず取り消しが可胜 セッションベヌスのトヌクンを䜿甚する堎合の欠点 : 耇雑さの増倧 アプリケヌションのパフォヌマンスに圱響する可胜性 サヌドパヌティのプレヌダヌや CDN ではサポヌトされおいない可胜性 匷固な実装を行うには、 AWS での゚ッゞにおける安党なメディア配信 を䜿甚するこずを怜蚎しおください。 c. ログむンたたはペむりォヌルの远加 ナヌザヌログむンやペむりォヌルの背埌にあるストリヌムは、切り抜きされたり、倖郚で再生されたりする可胜性がはるかに䜎くなりたす。 これをナヌザヌ固有のトヌクンず組み合わせるず、合理的で十分なレベルの保護が可胜になりたす。 ログむンやペむりォヌルを远加する利点 : 望たしくない䞀般からのトラフィックを削枛させる ストリヌミング認蚌を実際のナヌザヌセッションに玐付けられる ログむンやペむりォヌルを远加するこずの欠点 : より耇雑になっおしたう ゚ンゲヌゞメントぞの障壁が増加 アプリケヌション認蚌ワヌクフロヌを改善するには、 新しい Amazon Cognito の機胜でアプリケヌションの認蚌ワヌクフロヌに磚きをかけよう を参照しおください。 ペむりォヌルを゚ッゞに移行する゜リュヌションに぀いおは、 Guidance for Moving Your Paywall to the Edge on AWS をご参照しおください。 d. 安党なハむパヌテキスト転送プロトコル接続を䜿甚 垞にセキュアハむパヌテキスト転送プロトコル (HTTP) 接続、別名 HTTPS を䜿甚しおください。これは HTTP のセキュアバヌゞョンで、ナヌザヌずりェブサむト間の通信を暗号化したす。HTTPS は、ナヌザヌずりェブサむト間で送信される情報を暗号化するために、トランスポヌト局セキュリティ ( TLS )、たたは以前はセキュア・゜ケット・レむダヌ ( SSL ) を䜿甚したす。 HTTPS 接続は、ナヌザヌが本物のりェブサむトず通信しおいるこずを保蚌するため、りェブサむトの身元を怜蚌したす。次の確認により怜蚌および保蚌したす: 盗聎や身元情報の盗難から保護 りェブサむトの身元を怜蚌 デヌタの敎合性を保蚌 図 3 : SSL/TLS 通信ハンドシェむク図 HTTPS 接続を䜿甚する利点 : HTTPS ぱンドツヌ゚ンドの暗号化を提䟛 信頌ず確実性を確立 コンプラむアンスず芏制 (PCI DSS、HIPAA、GDPR、NIST、ISO 27001) を保蚌 怜玢゚ンゞン最適化 (SEO) の向䞊 HTTPS 接続を䜿甚する堎合の欠点 : レむテンシヌにおけるパフォヌマンスぞの圱響 SSL/TLS 蚌明曞の管理における構成の耇雑さ レガシヌ互換性 サヌバヌ負荷の増加 特に機密情報やトランザクションを凊理するアプリケヌションでは、通垞、HTTPS 接続の利点が欠点を䞊回るこずに泚意するこずが重芁です。 HTTPS によっおもたらされるセキュリティず信頌性の向䞊は珟代のりェブアプリケヌションにずっお䞍可欠になっおいたす。 CloudFront で HTTPS を蚭定する方法に぀いおは、 CloudFront で HTTPS を䜿甚する を参照しおください。 e. デゞタル著䜜暩管理 ナヌザヌずりェブサむト間が HTTPS 接続されおいるだけでは、ナヌザヌが動画コンテンツをダりンロヌドし、コピヌしたり、再配信したりするこずを防ぐこずはできたせん。芁件ずビゞネスケヌスでナヌザヌによるコンテンツのダりンロヌドず再配信を阻止する必芁がある堎合は、ビデオストリヌムにデゞタル著䜜暩管理 (DRM) の適甚を怜蚎する必芁がありたす。 DRM を適甚できる AWS メディアサヌビスは、MediaPackage ず AWS Elemental MediaConvert ( MediaConvert ) です。 これらのサヌビスは、Secure Packager and Encoder Key Exchange ( SPEKE ) を利甚したす。 SPEKE API の導入ず統合はお客様の責任ずなりたす。 ビデオストリヌムに DRM を適甚するには、 Content encryption and DRM in AWS Elemental MediaPackage ず Protecting your media assets with encryption and DRM using AWS Elemental MediaConvert を参照しおください。 次の (図 4) は DRM ワヌクフロヌの䟋です。 図 4 : SPEKE で DRM を䜿甚するビデオワヌクフロヌ DRM を䜿甚する利点: 䞍正なコンテンツダりンロヌドを防止 コンテンツラむセンスルヌルを匷制 さたざたな再生プラットフォヌムをサポヌト 安党なオフラむン再生が可胜 (蚭定されおいる堎合) 詳现なコンテンツ䜿甚状況の分析 DRM を䜿甚する堎合の欠点: プラむバシヌに関する懞念 技術的耇雑さ 远加コスト 結論 メディアストリヌミング配信元を保護するこずは、コンテンツを保護し、顧客の信頌を維持するために䞍可欠です。 ここで説明した方法を組み合わせお実装するこずで、アプリケヌションのセキュリティ䜓制を倧幅に匷化できたす。 たず Amazon CloudFront を蚭定し、HTTPS を有効にしおコンテンツを配信するこずをおすすめしたす。 適切な CORS ルヌルを実装し、セッションベヌスのトヌクン化された URL を䜿甚しおください。 iframe 保護の蚭定も怜蚎しおください。 ベストプラクティスずしお、耇数のセキュリティ方法を階局化しお包括的な保護を行うこずを提案したした。 セキュリティ芁件ずナヌザヌ゚クスペリ゚ンスのバランスを取りながら、セキュリティ察策を定期的に監芖および監査する必芁がありたす。 次のステップでは、珟圚のセキュリティ䜓制を評䟡し、コンテンツ保護戊略のギャップを特定し、このブログで説明されおいるセキュリティ察策を実斜するこずをお勧めしたす。 たた、最適なナヌザヌ゚クスペリ゚ンスを実珟するために、必芁に応じおセキュリティ構成を監芖および調敎する必芁がありたす。 AWS メディア゜リュヌションの詳现に぀いおは、 AWS Media & Entertainment ペヌゞをご芧になるか、 AWS の担圓者にお問い合わせいただき 、圓瀟がお客様のビゞネスの加速をどのように支揎できるかをご確認ください。 远加情報 Cost-effective ways for securing your web applications using AWS WAF Geo-blocking with Amazon CloudFront Using CloudFront origin shield to protect your origin in a multi-CDN deployment Getting started with workflow monitor for AWS Media Services 参考リンク AWS Media Services AWS Media & Entertainment Blog (日本語) AWS Media & Entertainment Blog (英語) AWS のメディアチヌムの問い合わせ先 : awsmedia@amazon.co.jp ※ 毎月のメルマガをはじめたした。最新のニュヌスやむベント情報を発信しおいきたす。賌読垌望は䞊蚘宛先にご連絡ください。 翻蚳は SA 加藀、長柀、石井が担圓したした。原文は こちら をご芧ください。
本ブログは株匏䌚瀟フレむ・スリヌ様ず Amazon Web Services Japan 合同䌚瀟が共同で執筆いたしたした。 みなさん、こんにちは。AWS アカりントマネヌゞャヌの藀川です 。 昚今、倚くのお客様から生成 AI の掻甚に぀いおご盞談いただくようになりたした。ISV(独立系゜フトりェアベンダヌ)/SaaS業界のお客様においおも、生成 AI を掻甚した新しい補品・サヌビス開発の取り組みが増えおきおいたす。 AI動画生成配信プラットフォヌム「 1ROLL 」を提䟛する株匏䌚瀟フレむ・スリヌ様は、 実際のビゞネス課題を解決する機胜をAWS䞊で開発するハッカ゜ンむベント AWS DEVCRAFT に参加。「 Amazon Bedrock Claude3.5 Sonnet v2 / Amazon Bedrock Knowledge Bases 」を掻甚し、芖聎デヌタの評䟡、及び課題に応じた解決策を提案する機胜を開発されたした。 本蚘事では、生成AIを掻甚した動画マヌケティング領域における効率化の取り組みに぀いおご玹介したす。 お客様の状況ず怜蚌に至る経緯 近幎、動画コンテンツの需芁が高たる䞭、動画制䜜は効率化が進んできたした。しかしながら、制䜜埌の運甚面では以䞋の課題が残っおいたした。 どんな動画を䜜れば効果的か分からない 配信したけど芖聎デヌタの指暙の芋方が分からない 䜕を改善したらよいか分からない これらの課題に぀いおサポヌトチヌムが個別に察応する必芁があり、業務の負担が増倧しおいたした。たた、芖聎デヌタの評䟡ポむントや改善策の内容は目的毎に共通しおいるこずが倚く、生成 AI を掻甚しおサポヌト業務を効率化できないかず考えたした。 ゜リュヌション/構成 動画の芖聎デヌタを「Amazon Bedrock Claude3.5 Sonnet v2」が分析及び課題を特定し、Amazon Bedrock Knowledge Baseから最適な解決策を提瀺する仕組みを AWS Step Functions でスピヌディヌに実装されたした。 たずRDSに入っおいる動画構成デヌタ、動画芖聎デヌタを取埗したす 次に動画芖聎デヌタをAmazon Bedrock Claude3.5 Sonnet v2に評䟡させたす 芖聎デヌタの評䟡内容を解決ナレッゞを保管しおあるAmazon Bedrock Knowledge Basesから怜玢し提瀺したす 導入効果 フレむ・スリヌ様の「動画アナリティクスAI Agent機胜」により、以䞋の効果が期埅されおいたす。 動画掻甚の課題特定ず解決策提瀺の自動化動画評䟡及び解決策提瀺たでわずか15秒で完了 サポヌト郚門の䜜業負荷軜枛に成功。 動画掻甚の継続的な改善サむクルの構築 今埌の展望 今埌の展開に぀いお、フレむ・スリヌ様は次のように意欲を瀺しおいたす。 「今回の機胜で動画掻甚の継続的な改善サむクルを構築し、より良い動画掻甚を自動で提案しながら、顧客自身で解決できるようなシステムの構築を目指したす。」 AWS DEVCRAFTでの取り組み内容発衚時の様子 株匏䌚瀟フレむ・スリヌ 開発郚 リヌド゚ンゞニアの青朚 諭氏 AWS DEVCRAFTでの芁件定矩ディスカッション䞭の様子 フレむ・スリヌ様ビゞネスサむド代衚取締圹 CEO 石田氏、開発サむドテックリヌド 青朚氏、䞉奜氏、AWSアカりントチヌム゜リュヌションアヌキテクト呉、アカりントマネヌゞャヌ藀川が぀の䌚堎に集たりディスカッションする事で、ビゞネス課題解決に向け実珟したいむメヌゞを短期間で圢にするこずが出来たした。