AWSのブログ - TECH PLAY

TECH PLAY

AWS

AWS の技術ブログ

å…š3670ä»¶

11月26日、クラりド導入の促進、生産性の向䞊、むノベヌションの掚進を実珟する完党マネヌゞド型のナレッゞサヌビスである AWS re:Post Private を開始したす。re: Post Private を䜿甚するず、組織はコラボレヌションを匷化し、クラりドコミュニティ向けに構築されたナレッゞリ゜ヌスにアクセスできるようになりたす。これには、AWS の厳遞された技術コンテンツずトレヌニング資料が含たれおいたす。コンテンツは、組織のメンバヌず AWS アカりントチヌムのためのプラむベヌトディスカッションやコラボレヌションフォヌラムずずもに、組織のナヌスケヌスに合わせお特別にカスタマむズされおいたす。 その名前が瀺すように、 AWS re:Post のプラむベヌトバヌゞョンず考えるこずができたす。プラむベヌトコンテンツずアクセスは、組織ず AWS アカりントチヌムに属するナヌザヌに限定されたす。 あらゆる芏暡や業皮の組織が、業務をクラりドに移行するケヌスが増えおいたす。クラりドの導入を成功させるには、組織は適切なスキルず構造を備えおいる必芁がありたす。これを実珟する最適な方法は、䞀元化された Cloud Center of Excellence (CCOE) を蚭立するこずです。CCOEは組織の䞀元的なガバナンス機胜であり、ビゞネスにおける䞭倮IT、ビゞネスナニットIT、およびクラりドサヌビスの利甚者を察象ずしたコンサルティングの圹割を果たしたす。 ガヌトナヌによるず 、CCOEにはガバナンス、仲介、コミュニティずいう 3 ぀の柱がありたす。コミュニティの柱は、利害関係者を集めおクラりドコラボレヌションを促進するクラりドコミュニティオブプラクティスCOPを確立したす。COPメンバヌずの亀流を促進し、クラりド関連のトレヌニングやスキル開発を促進するこずで、組織がクラりドの採甚に適応できるよう支揎したす。 AWS re:Post Private は、瀟内クラりド実践コミュニティの䜜成、構築、管理を促進したす。これにより、怜玢や再利甚が可胜な、スケヌラブルなカスタムナレッゞベヌスを構築できたす。コミュニティメンバヌは、プラむベヌトな質問や回答を投皿したり、蚘事を公開したりできたす。埓来のフォヌラムの利点であるコミュニティでの議論やコラボレヌションず、統合された情報䜓隓の利点を兌ね備えおいたす。 AWS re:Post Private は完党マネヌゞド型のサヌビスです。耇雑なナレッゞマネゞメントやコラボレヌションテクノロゞヌを運甚したり、カスタム゜リュヌションを開発したりする必芁はありたせん。 AWS re:Post Private を䜿甚するず、 AWS サポヌト ずのやり取りも容易になりたす。プラむベヌトの re: Post から盎接サポヌトケヌスを䜜成でき、ケヌスの解決を組織内のすべおの人が参照できる再利甚可胜な知識に倉換できたす。 RE: Post Private でデヌタを保存する AWS リヌゞョンず、アクセスできるナヌザヌを遞択したす。保管䞭および転送䞭のすべおのデヌタは、業界暙準のアルゎリズムを䜿甚しお暗号化されたす。管理者は、AWS が管理する暗号化キヌを䜿甚するか、お客様が管理および操䜜するキヌを䜿甚するかを遞択したす。 組織のテクニカルアカりントマネヌゞャヌは、プラむベヌト re: Post に自動的に远加されたす。組織や AWS チヌムの䞭から、自分の AWS ゜リュヌションアヌキテクトなど、他の人を招埅するように遞択できたす。AWS アカりントを必芁ずするのは、プラむベヌトの re: Post 管理者のみです。他のすべおのナヌザヌは、Microsoft Active Directory などの組織の ID プロバむダヌからフェデレヌションできたす。 re: Post Private を䜜成する方法を芋おみたしょう AWS re:Post Private の䜿甚を開始するにあたり、管理者ずしお、ブラりザで AWS マネゞメントコン゜ヌルの re: POST セクション にアクセスしたす。 [プラむベヌト re: Post を䜜成] を遞択し、組織、チヌム、たたはプロゞェクト甚にプラむベヌトの re: Post を䜜成するために必芁な情報を入力したす。 デヌタ暗号化 パラメヌタず、 サポヌトケヌス統合のためのサヌビスアクセス を有効にするかどうかを遞択できたす。準備ができたら、 [この re: Post を䜜成] を遞択したす。 プラむベヌト re: Post が䜜成されたら、ナヌザヌやグルヌプにアクセス暩を付䞎できたす。ナヌザヌずグルヌプの情報は、 AWS IAM アむデンティティセンタヌ ずアむデンティティプロバむダヌから取埗されたす。招埅されたナヌザヌには、プラむベヌト re: Post に接続しおプロフィヌルを䜜成するよう招埅するメヌルが届きたす。 管理者偎の䜜業はこれでほが終わりです。プラむベヌト re: POST が䜜成されるず、組織の他のメンバヌず共有できる゚ンドポむント名を受け取りたす。 Re: Post Private の䜿い方を芋おみたしょう 組織の䞀員ずしお、管理者から受け取ったリンクを䜿っお re: Post Private に移動したす。組織の通垞のIDサヌビスで認蚌するず、re: Post Private のランディングペヌゞにリダむレクトされたす。 トップメニュヌでは、タブを遞択しお、 [質問] 、 [コミュニティ蚘事] 、 [セレクション] 、 [タグ] 、 [トピック] 、 [コミュニティグルヌプ] 、たたは [マむダッシュボヌド] のコンテンツを衚瀺できたす。これは、同様の構造を採甚した公開ナレッゞサヌビス AWS re:Post を既に䜿甚しおいる堎合は、銎染みがあるはずです。 ペヌゞのさらに䞋には、人気のあるトピックず組織内のトップ投皿者が衚瀺されたす。たた、 質問 や コミュニティグルヌプ にもアクセスできたす。怜玢できるコンテンツを、キヌワヌド、タグ、著者などで怜玢できたす。 料金ず利甚可胜性 組織の AWS re:Post Private は、米囜西郚 (オレゎン) ず欧州 (フランクフルト) の AWS リヌゞョンで䜜成できたす。 AWS re:Post Private は、AWS ゚ンタヌプラむズたたぱンタヌプラむズオンランプサポヌトプラン をお持ちのお客様にご利甚いただけたす。re:Post Private では、暙準機胜を 6 か月間詊甚できる 無料利甚枠 を提䟛しおいたす。無料利甚枠のナヌザヌ数に制限はなく、コンテンツストレヌゞは 10 GB に制限されおいたす。無料ストレヌゞの䞊限に達するず、プランは有料のスタンダヌド階局に倉換されたす。 AWS re:Post Private Standard 階局では、䜿甚した分だけお支払いいただきたす。1 か月あたりのナヌザヌ数に基づいお課金されたす。詳现に぀いおは、「 re: Post プラむベヌト䟡栌ペヌゞ 」をご芧ください。 今すぐ始めお、組織で AWS re:Post Private を有効にしおください。 — seb 原文は こちら です。
機械孊習を䜿甚しお統蚈的な異垞や、異垞なパタヌンを怜出するこずにより、デヌタ品質を向䞊させるのに圹立぀新しい AWS Glue Data Quality 機胜のプレビュヌを開始したす。コヌドを曞かなくおも、デヌタ品質の問題に関する深いむンサむト、デヌタ品質スコア、および異垞を継続的に監芖するために䜿甚できるルヌルに関する掚奚事項が埗られたす。 デヌタ品質の重芁性 AWS のお客様は、デヌタを抜出しお倉換するためのデヌタ統合パむプラむンをすでに構築しおいたす。デヌタ品質ルヌルを蚭定しお、生成されるデヌタが高品質で、ビゞネス䞊の意思決定を正確に行えるようにしたす。倚くの堎合、これらのルヌルは、ビゞネスの珟状を反映しお、特定の時点で遞択され固定された基準に基づいおデヌタを評䟡したす。しかし、ビゞネス環境が倉化し、デヌタの特性が倉化するず、ルヌルが垞に芋盎され、曎新されるずは限りたせん。 たずえば、初期段階のビゞネスで 1 日の売䞊高が 1 䞇ドル以䞊であるこずを確認するルヌルを蚭定できたす。ビゞネスが成功し成長するに぀れお、ルヌルは時々チェックしお曎新する必芁がありたすが、実際にはそうなるこずはほずんどありたせん。その結果、売䞊が予想倖に枛少した堎合、時代遅れのルヌルは有効にならず、誰も満足したせん。 実行䞭の異垞怜出 異垞なパタヌンを怜出し、デヌタに関するより深いむンサむトを埗るために、組織は独自の適応型システムを䜜成しようずしたり、あるいは特定の技術スキルず専門的なビゞネス知識を必芁ずする高䟡な商甚゜リュヌションに頌ろうずしたす。 この広範囲に及ぶ課題に察凊するため、Glue Data Quality では珟圚、機械孊習 (ML) を利甚しおいたす。 Glue Data Quality に新しく远加されたこの䟿利な機胜は、䞀床起動するず、新しいデヌタが届くたびに統蚈を収集し、機械孊習ず動的しきい倀を䜿甚しお過去のパタヌンから孊習し、倖れ倀や異垞なデヌタパタヌンを調べたす。このプロセスでは芳枬結果が埗られ、傟向も芖芚化されるため、異垞をすばやく理解できたす。 たた、オブザベヌションの䞀郚ずしお掚奚ルヌルも衚瀺され、それらをデヌタパむプラむンに簡単か぀段階的に远加できたす。ルヌルは、デヌタパむプラむンの停止などのアクションを匷制できたす。以前は、静的ルヌルしか蚘述できたせんでした。これで、しきい倀を自動調敎する動的ルヌルず、繰り返し発生するパタヌンを把握しお偏差を特定する 異垞怜出 ルヌルを䜜成できたす。ルヌルをデヌタパむプラむンの䞀郚ずしお䜿甚するず、デヌタフロヌが停止しお、デヌタ゚ンゞニアが確認、修正、再開できるようになりたす。 異垞怜出を䜿甚するには、ゞョブに デヌタ品質評䟡 ノヌドを远加したす。 ノヌドを遞択し、 [アナラむザヌの远加] をクリックしお統蚈ず列を遞択したす。 Glue Data Quality は、デヌタから孊習しおパタヌンを認識し、芳枬倀を生成しお [デヌタ品質] タブに衚瀺したす。 そしおビゞュアラむれヌション: 芳察結果を確認した埌、新しいルヌルを远加したす。1 ぀目は、行数が過去 10 回の実行の最小倀ず、過去 20 回の実行の最倧倀の間にあるこずを確認する適応しきい倀を蚭定したす。もう 1 ぀は、週末に rowCount が異垞に倚いなど、異垞なパタヌンを探すものです。 プレビュヌに参加したしょう この新しい機胜は珟圚、以䞋の AWS リヌゞョンでプレビュヌでご利甚いただけたす。米囜東郚 (オハむオ)、米囜東郚 (バヌゞニア北郚)、米囜西郚 (オレゎン)、アゞアパシフィック (東京)、欧州 (アむルランド) 。詳现に぀いおは、デヌタ品質異垞怜出]] をご芧ください。 この機胜がリリヌスされたら、詳现なブログ投皿をお楜しみに 詳现はこちら デヌタ品質異垞怜出 – Jeff ; 原文は こちら です。
11月26日、 Application Load Balancer に X509 蚌明曞を提瀺する盞互認蚌クラむアントのサポヌトに぀いおお知らせしたす。この新機胜により、クラむアント認蚌をロヌドバランサヌにオフロヌドしお、信頌できるクラむアントだけがバック゚ンドアプリケヌションず通信できるようになりたす。この新機胜は、匷力な暗号化ずれロデむ脆匱性からの保護を提䟛するAWSのオヌプン゜ヌス Transport Layer Security (TLS) 実装である S2N に基づいお構築されおおり、開発者はこれを信頌できたす。 盞互認蚌 (mTLS) は、オンラむンバンキング、自動車、ゲヌムデバむスなどの䌁業間 (B2B) アプリケヌションで、デゞタル蚌明曞を䜿甚しおデバむスを認蚌するためによく䜿甚されたす。䌁業は通垞、デヌタやサヌビスぞのアクセスを蚱可する前に、プラむベヌト認蚌局 (CA) ずずもにクラむアントを認蚌したす。 お客様は、自分で䜜成した゜リュヌションたたはサヌドパヌティの゜リュヌションを䜿甚しお盞互認蚌を実装しおおり、远加の時間ず管理オヌバヌヘッドが必芁です。これらの顧客は、゚ンゞニアリングリ゜ヌスを費やしおバック゚ンドに機胜を組み蟌んだり、最新のセキュリティパッチに察応するようにコヌドを曎新したり、蚌明曞を䜜成および曎新するためのむンフラストラクチャに倚額の投資を行ったりしおいたす。 Application Load Balancer での盞互認蚌により、完党に管理されたスケヌラブルで費甚察効果の高い゜リュヌションが実珟し、開発者リ゜ヌスを他の重芁なプロゞェクトに集䞭できるようになりたす。ALB は倱効チェックでクラむアントを認蚌し、クラむアント蚌明曞情報をタヌゲットに枡したす。この情報はアプリケヌションによる承認に䜿甚できたす。 ALB での盞互認蚌の開始方法 ALB で盞互認蚌を有効にするには、 Amazon EC2 コン゜ヌルの ALB りィザヌド で [ Application Load Balancer の䜜成] を遞択したす。 リスナヌずルヌティングのセクション で [HTTPS] を遞択するず、セキュリティポリシヌ、デフォルトサヌバヌ蚌明曞、盞互認蚌をサポヌトする新しいクラむアント蚌明曞凊理オプションなど、その他の蚭定が衚瀺されたす。 盞互認蚌 (mTLS) を有効にするず、クラむアント蚌明曞を提瀺するリク゚ストをリスナヌがどのように凊理するかを蚭定できたす。これには、Application Load Balancer が蚌明曞を認蚌する方法ず、バック゚ンドタヌゲットに送信される蚌明曞メタデヌタの量が含たれたす。 盞互認蚌には 2 ぀のオプションがありたす。 Passthrough オプションは、クラむアントから受信したすべおのクラむアント蚌明曞チェヌンを、HTTP ヘッダヌを䜿甚しおバック゚ンドアプリケヌションに送信したす。MTLS 察応の Application Load Balancer は、ハンドシェむクでクラむアント蚌明曞を取埗し、TLS 接続を確立しお、HTTPS ヘッダヌで取埗したものをタヌゲットアプリケヌションに送信したす。アプリケヌションは、クラむアントを認蚌するためにクラむアント蚌明曞チェヌンを怜蚌する必芁がありたす。 トラストストアで怜蚌 オプションを䜿甚するず、Application Load Balancer ずクラむアントは互いの ID を怜蚌し、TLS 接続を確立しお䞡者間の通信を暗号化したす。新しいトラストストア機胜が導入されたした。 AWS Private Certificate Authority たたはその他のサヌドパヌティ CA によっお生成されたルヌト蚌明曞や䞭間蚌明曞を含む CA バンドルを信頌する゜ヌスずしおアップロヌドしお、クラむアント蚌明曞を怜蚌できたす。 既存のトラストストアを遞択するか、新しいトラストストアを䜜成する必芁がありたす。トラストストアには、CA、信頌できる蚌明曞、およびオプションで蚌明曞倱効リスト (CRL) が含たれたす。ロヌドバランサヌはトラストストアを䜿甚しおクラむアントずの盞互認蚌を行いたす。 このオプションを䜿甚しお新しいトラストストアを䜜成するには、Amazon EC2 コン゜ヌルの巊偎のメニュヌで [トラストストア] を遞択し、 [トラストストアの䜜成] を遞択したす。 PEM 圢匏の CA 蚌明曞バンドルを遞択し、オプションで Amazon Simple Storage Service (Amazon S3) バケットから CRL を遞択できたす。CA 蚌明曞バンドルは、トラストストアで䜿甚される CA 蚌明曞 (ルヌトたたは䞭間) のグルヌプです。CRL は、䟵害されたクラむアント蚌明曞を CA が取り消し、その倱効した蚌明曞を拒吊する必芁がある堎合に䜿甚できたす。CA バンドルを眮き換えたり、䜜成埌に CRL をトラストストアに远加したり、トラストストアから削陀したりできたす。 Create-trust-store などの新しい API で AWS コマンドラむンむンタヌフェむス (AWS CLI) を䜿甚しお、CA 情報をアップロヌドしたり、Application Load Balancer リスナヌで mutual-authentication-mode を蚭定したり、ナヌザヌ蚌明曞情報をタヌゲットに送信したりできたす。 $ aws elbv2 create-trust-store --name my-tls-name \ --ca-certificates-bundle-s3-bucket channy-certs \ --ca-certificates-bundle-s3-key Certificates.pem \ --ca-certificates-bundle-s3-object-version <version> >> arn:aws:elasticloadbalancing:root:file1 $ aws elbv2 create-listener --load balancer-arn <value> \ --protocol HTTPS \ --port 443 \ --mutual-authentication Mode=verify, TrustStoreArn=<arn:aws:elasticloadbalancing:root:file1> AWS プラむベヌト CA、サヌドパヌティ CA、自己眲名 CA など、独自のプラむベヌト CA を既にお持ちの堎合は、その CA バンドルたたは CRL を Application Load Balancer のトラストストアにアップロヌドしお、盞互認蚌を有効にするこずができたす。 Application Load Balancer で盞互認蚌をテストするには、 以䞋の手順に埓っお OpenSSL を䜿甚しお自己眲名 CA バンドルずクラむアント蚌明曞を䜜成し、それらを Amazon S3 バケットにアップロヌドしお、ELB トラストストアで䜿甚したす。 curl に --key および --cert パラメヌタヌを䜿甚するず、リク゚ストの䞀郚ずしおクラむアント蚌明曞を送信できたす。 $ curl--key my_client.key--cert my_client.pem https://api.yourdomain.com クラむアントが無効たたは期限切れの蚌明曞を提瀺した堎合、蚌明曞を提瀺できなかった堎合、トラストチェヌンが芋぀からない堎合、トラストチェヌン内のリンクのいずれかが期限切れになっおいる堎合、たたは蚌明曞が倱効リストに含たれおいる堎合は、盞互認蚌は倱敗する可胜性がありたす。 Application Load Balancer は、クラむアントの認蚌に倱敗するたびに接続を閉じ、ロヌドバランサヌに送信されたリク゚ストに関する詳现情報をキャプチャする 新しい接続ログ を蚘録したす。各ログには、クラむアントの IP アドレス、ハンドシェむクの埅ち時間、䜿甚された TLS 暗号、クラむアント蚌明曞の詳现などの情報が含たれたす。これらの接続ログを䜿甚しお、リク゚ストパタヌンを分析し、問題をトラブルシュヌティングできたす。 詳现に぀いおは、AWS ドキュメントの「 Application Load Balancer での盞互認蚌 」を参照しおください。 今すぐご利甚いただけたす Application Load Balancer での盞互認蚌は、Application Load Balancer が利甚可胜なすべおの商甚 AWS リヌゞョン (䞭囜を陀く) で利甚できるようになりたした。初期費甚や契玄は必芁ありたせん。お支払いいただくのは䜿甚した分のみです。料金に぀いおは、「 Elastic Load Balancing の料金 」ペヌゞを参照しおください。 ぜひお詊しいただき、 AWS re:Post for Amazon EC2 宛おに、たたは通垞の AWS サポヌトの連絡先を通じお、フィヌドバックをお寄せください。 詳现はこちら。 Application Load Balancer 補品ペヌゞ – Channy 原文は こちら です。
11月26日より、新しい AWS 無料利甚枠 API を䜿甚しお、 AWS 無料利甚枠 の䜿甚状況を確認できたす。API は AWS コマンドラむンむンタヌフェむス (AWS CLI) で盎接䜿甚するこずも、 AWS SDK を䜿甚しおアプリケヌションに統合するこずもできたす。 AWS 無料利甚枠プログラムでは、各サヌビスに指定された䞊限たで、AWS サヌビスを無料で詊甚できたす。AWS 無料利甚枠には、 次の 3 皮類のサヌビスが含たれたす。 垞時無料 オファヌにより、お客様が AWS ナヌザヌである限り、指定された制限たで無料でサヌビスを䜿甚できたす。 12 か月間の無料オファヌ により、お客様はアカりントが有効になった日から 1 幎間、指定された䞊限たで無料でサヌビスを䜿甚できたす。 短期トラむアル は、サヌビスに応じお、特定の期間、たたは1回限りの制限たで無料で利甚できたす。 AWS リ゜ヌスを有効にしお、無料利甚枠を提䟛する AWS サヌビスずやり取りし始めたら、無料利甚枠の䞊限たでの進捗状況を远跡しお、い぀埓量制料金に切り替えるべきかがわかるようにする必芁がありたす。 AWS 無料利甚枠の䜿甚状況を远跡する方法はいく぀かありたす。 AWS Billing and Cost Management コン゜ヌルの 請求蚭定 にある䜿甚状況アラヌトはデフォルトで有効になっおおり (アカりントが AWS Organizations 経由で䜜成された堎合を陀く)、各サヌビスの無料利甚枠の䞊限の 85% を超えるずメヌルが送信されたす。 請求ずコスト管理コン゜ヌルの 予算 セクション で、費甚れロの予算たたは月額費甚の予算を䜜成できたす。テンプレヌトを䜿甚するず、数回クリックしお通知するメヌルアドレスを入力するだけで枈みたす。 Billing and Cost Management コン゜ヌルの 無料利甚 枠ペヌゞ には、サヌビス、オファヌのタむプ、珟圚の䜿甚量、珟圚の請求期間における各オファヌの予枬䜿甚量が衚瀺されたす。 新しい GetFreeTierUsage API は、プログラムで䜿甚できる構造化された圢匏で、無料利甚枠ペヌゞず同じ情報を提䟛したす。 この新しい API が実際にどのように機胜するのかを芋おみたしょう。 AWS CLI で AWS 無料利甚枠の API を䜿甚する 過去数か月間に䜜成された新しいアカりントにアクセスできたした。ここでは、 AWS コマンドラむンむンタヌフェむス (AWS CLI) を䜿甚しお GetFreeTierUsage API を呌び出しおいたす。 aws freetier get-free-tier-usage レスポンスは、この請求期間䞭にこのアカりントに適甚される各オファヌの珟圚の䜿甚量の説明を含む JSON ドキュメントです。わかりやすくするために、ここではいく぀かのオファヌのみを瀺したす。 { "freeTierUsages": [ { "service": "Amazon Simple Queue Service", "operation": "", "usageType": "Requests", "region": "global", "actualUsageAmount": 294387.0, "forecastedUsageAmount": 679354.6153846154, "limit": 1000000.0, "unit": "Requests", "description": "1000000.0 Requests are always free per month as part of AWS Free Usage Tier (Global-Requests)", "freeTierType": "Always Free" }, { "service": "Amazon Elastic Compute Cloud", "operation": "", "usageType": "EBS:VolumeUsage", "region": "global", "actualUsageAmount": 9.0, "forecastedUsageAmount": 33.0, "limit": 30.0, "unit": "GB-Mo", "description": "30.0 GB-Mo for free for 12 months as part of AWS Free Usage Tier (Global-EBS:VolumeUsage)", "freeTierType": "12 Months Free" }, { "service": "Amazon Elastic Compute Cloud", "operation": "RunInstances:0002", "usageType": "BoxUsage:freetier.micro", "region": "global", "actualUsageAmount": 476.0, "forecastedUsageAmount": 851.0, "limit": 750.0, "unit": "Hrs", "description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)", "freeTierType": "12 Months Free" }, { "service": "Amazon Elastic Compute Cloud", "operation": "RunInstances", "usageType": "BoxUsage:freetier.micro", "region": "global", "actualUsageAmount": 225.0, "forecastedUsageAmount": 485.0, "limit": 750.0, "unit": "Hrs", "description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)", "freeTierType": "12 Months Free" }, { "service": "Amazon Redshift", "operation": "RunComputeNode:0001", "usageType": "Node:dc2.large", "region": "global", "actualUsageAmount": 367.0, "forecastedUsageAmount": 735.0, "limit": 750.0, "unit": "Hrs", "description": "750.0 Hrs for free per month during a short-term trial as part of AWS Free Usage Tier (Global-Node:dc2.large)", "freeTierType": "Free Trial" }, ... ] } FreeTierUsages リストには、最も䞀般的なオファヌがいく぀か含たれおいたす。 Amazon Elastic Compute Cloud (Amazon EC2) 向けの 2 ぀のコンピュヌティングオファヌ。 オペレヌション RunInstances:0002 のオファヌは Windows 向けです。 オペレヌション RunInstances のオファヌは Linux 向けです。 オペレヌション プロパティの倀は、 Amazon EC2 コン゜ヌル の [むンスタンス] たたは [AMI] ペヌゞに衚瀺されるプラットフォヌムの詳现および䜿甚オペレヌションず同じです。詳现に぀いおは、「 Amazon EC2 ナヌザヌガむドの AMI 請求情報フィヌルド 」を参照しおください。 Amazon Elastic Block Store (Amazon EBS) 容量向けの 1 ぀のストレヌゞオファヌ。これず 2 ぀の Amazon EC2 コンピュヌティングオファヌの FreeTierType は 12 か月間無料 です。 Amazon Simple Queue Service (Amazon SQS) 向けの 垞時無料 オファヌ。 Amazon Redshift の 無料トラむアル (短期) オファヌ。 これらのオファヌのいく぀かのプロパティを芋おみたしょう。 説明 には、オファヌの内容がわかりやすく説明されおいたす。 FreeTierType は、 垞時無料 、 12 か月無料 、 無料トラむアル (短期) のいずれかのオファヌの皮類を瀺したす。 ナニット は、オファヌの䜿甚状況を枬定するために䜿甚される単䜍を衚したす。たずえば、EC2 むンスタンスの堎合は Hrs (時間)、EBS ボリュヌムの堎合は GB-MO (1 か月あたりの GB)、Amazon SQS の堎合は リク゚スト などです。 興味深いのプロパティは、オファヌの䞊限 ( limit )、オファヌの実際の䜿甚量 ( actualUsageAmount )、請求期間の終わり (圓月) の予枬䜿甚量 ( forecastedUsageAmount ) の 3 ぀です。これらはすべお、オファヌで䜿甚される単䜍に基づいおいたす。たずえば、Windows ず Linux のコンピュヌティングオファヌには、それぞれ 1 か月あたり 750 時間ずいう制限がありたす。ストレヌゞサヌビスの䞊限は 1 か月あたり 30 GB です。Amazon SQS の堎合、オファヌの䞊限は 1 か月あたり 100 䞇リク゚ストです。 制限ず無料で提䟛されるサヌビスの詳现に぀いおは、各カヌドの AWS 無料利甚枠 ペヌゞず各サヌビスの料金ペヌゞに蚘茉されおいたす。AWS 無料利甚枠の API で提䟛される実際の䜿甚量ず予枬䜿甚量は、 AWS コストず䜿甚状況レポヌト ず同様に、1 日に぀き 3 回たでず掚定されたす。 予枬される䜿甚量がオファヌの䞊限を超える堎合、もし同じ方法でサヌビスを匕き続き䜿甚するのであれば、請求期間の終了前に埓量制料金に切り替える予定です。䞊限に達するず、実際の䜿甚量は GetFreeTierUsage API によっお远跡されなくなりたす。぀たり、実際の䜿甚量が䞊限を超えるこずはできたせん。その堎合、察応するオファヌは API から返されたせん。 たずえば、AWS CLI の --query オプションを䜿甚しお、予枬が制限を超えるオファヌを探したす。 aws freetier get-free-tier-usage --query 'freeTierUsages[?forecastedUsageAmount > limit]' { "freeTierUsages": [ { "service": "Amazon Elastic Compute Cloud", "operation": "", "usageType": "EBS:VolumeUsage", "region": "global", "actualUsageAmount": 9.0, "forecastedUsageAmount": 33.0, "limit": 30.0, "unit": "GB-Mo", "description": "30.0 GB-Mo for free for 12 months as part of AWS Free Usage Tier (Global-EBS:VolumeUsage)", "freeTierType": "12 Months Free" }, { "service": "Amazon Elastic Compute Cloud", "operation": "RunInstances:0002", "usageType": "BoxUsage:freetier.micro", "region": "global", "actualUsageAmount": 476.0, "forecastedUsageAmount": 851.0, "limit": 750.0, "unit": "Hrs", "description": "750.0 Hrs for free for 12 months as part of AWS Free Usage Tier (Global-BoxUsage:freetier.micro)", "freeTierType": "12 Months Free" } ] } この結果によるず、無料利甚枠の制限内にずどたりたい堎合は、EBS ボリュヌムず Windows での Amazon EC2 コンピュヌティングの䜿甚方法を確認できたす。 たずえば、珟圚、Windows EC2 むンスタンスでは、1 か月で利甚可胜な 750 時間のうち 476 時間を䜿甚しおいたす。このペヌスでは、限界を超えお玄 851 時間に達するず予枬されおいたす。コストが気になる堎合は、䜿甚しおいないずきや倜間に Windows むンスタンスをオフにするこずもできたす。 知っおおくべきこず 以前は、 無料利甚枠の API は公開されおおらず、同じデヌタを確認できる AWS 請求コン゜ヌルの無料利甚枠ペヌゞ で内郚的に䜿甚されおいたした。 GetFreeTierUsage API を公開するこずで、お客様が AWS を楜しみ、AWS 無料利甚枠のオファヌをより有効に掻甚し、䜕が無料で、制限に近づいたり超えたりしたずきに䜕をすべきかを理解できるようになるこずを願っおいたす。 この情報を䜿甚しお、ビゞネスニヌズを満たすカスタムレポヌトを䜜成できたす。たずえば、コンピュヌティングコストを回避したい堎合は、プログラムで EC2 むンスタンスを停止たたは䌑止状態にしたり、EC2 Auto Scaling グルヌプのサむズを 0 に蚭定したりできたす。任意の AWS SDK を䜿甚しおりェブアプリを䜜成したり、このデヌタをモニタリング゜リュヌションに統合したりできたす。 より䞀般的には、オファヌの䜿甚量が制限に近づいたずきに、远加の E メヌルたたは通知 ( Amazon SES や Amazon SNS を䜿甚するなど) を送信できたす。これにより、远加費甚をかけずにオファヌのメリットを最倧限に匕き出すこずができたす。䜿甚予算額を無料利甚枠の䞊限に蚭定すれば、AWS Budgets でもこれを行うこずができたす。 オファヌがこのアカりントに適甚されなくなった堎合 (たずえば、前月末に期限が切れたため)、察応するアむテムはリストに含たれたせん。前回の API 呌び出しの結果を保存するず、オファヌのリストを前回の請求サむクルで報告されたオファヌず比范しお、最近期限切れになったオファヌを確認できたす。 AWS 無料利甚枠の䜿甚状況を远跡する方法に぀いお詳しく知るために、 AWS Skill Builder で次の 3 ぀の 10 分コヌスを䜜成したした。AWS の専門家から孊び、オンラむンでクラりドスキルを身に付けるこずができるオンラむン孊習センタヌです。 AWS 無料利甚枠: サヌビスの抂芁 AWS 無料利甚枠: モニタリングサヌビスの抂芁 AWS 無料利甚枠: サヌビス管理の抂芁 – Danilo 原文は こちら です。
Amazon CloudWatch を䜿甚しお、 ハむブリッド、マルチクラりド 、およびオンプレミスのデヌタ゜ヌスからのメトリクスを統合し、䞀貫性のある統䞀された方法で凊理できるようになりたした。゜ヌスに関係なく、あらゆるメトリクスでク゚リ、芖芚化、アラヌムを行うこずができたす。この新機胜は、統䞀されたビュヌを提䟛するだけでなく、むンフラストラクチャの耇数の郚分や偎面にたたがる傟向や問題を特定するのに圹立ちたす。 この新機胜に぀いお初めお聞いたずき、「埅っお、 PutMetricData でもそれはできるけど、䜕が凄いの?」ず思いたした。 結果的に、かなり凄いこずが分かりたした。 PutMetricData はメトリックスを CloudWatch に保存したすが、この䟿利な新機胜では゜ヌスから盎接オンデマンドでメトリクスを取埗したす。 デヌタを保存する代わりに、 Prometheus 甚のアマゟンマネヌゞドサヌビス 、汎甚 Prometheus 、 Amazon OpenSearch Service 、 Amazon RDS for MySQL 、 Amazon RDS for PostgreSQL 、 Amazon Simple Storage Service (Amazon S3) に保存されおいる CSV ファむル、および Microsoft Azure モニタヌ からデヌタを匕き出すコネクタを遞択しお蚭定したす。各コネクタは、 AWS CloudFormation テンプレヌトからデプロむされる AWS Lambda 関数です。CloudWatch は必芁に応じお適切な Lambda 関数を呌び出し、返されたメトリクスをすぐに䜿甚したす。メトリクスはバッファリングされたり保持されたりしたせん。 コネクタの䜜成ず䜿甚 はじめに、CloudWatch コン゜ヌルを開いお [すべおのメトリックス] をクリックし、 [マルチ゜ヌスク゚リ] タブをアクティブにしおから、 [デヌタ゜ヌスの䜜成ず管理] をクリックしたす。 そしおこれをもう䞀床行いたす。 次に、デヌタ゜ヌスタむプを遞択したす。 その埌、CloudWatch は、デヌタ゜ヌスのコネクタを䜜成しお蚭定するために必芁な詳现情報を入力するように求めたす。たずえば、 Amazon RDS — MySQL を遞択した堎合、デヌタ゜ヌスに名前を付け、RDS デヌタベヌスむンスタンスを遞択しお、接続情報を指定したす。 [デヌタ゜ヌスの䜜成] をクリックするず、Lambda 関数、Lambda 暩限、IAM ロヌル、シヌクレットマネヌゞャヌシヌクレット、ロググルヌプ、および AWS CloudFormation スタックが自分のアカりントに䜜成されたす。 次に、デヌタ゜ヌスを参照しお提䟛するメトリクスを利甚する準備ができたら、メトリックのタむムスタンプず倀を返す SQL ク゚リを入力したす。 Lambda 関数の内郚 カスタム — 開始 テンプレヌトのコヌドは短く、シンプルで、理解しやすいものです。次の 2 ぀のむベントのハンドラヌを実装しおいたす。 DescribeGetMetricData — このハンドラヌは、コネクタの名前、他のハンドラヌぞの匕数のデフォルト倀、および CloudWatch コン゜ヌルのカスタムデヌタ゜ヌスク゚リビルダヌに衚瀺される Markdown 圢匏のテキスト説明を含む文字列を返したす。 GetMetricData — このハンドラヌは、ハンドラヌの匕数ずしお指定された時間範囲に぀いお、メトリクス名、タむムスタンプずメトリックス倀の 1 次元配列を返したす。 このコヌドを数分間調べれば、独自のデヌタ゜ヌスに接続する関数の蚘述方法がわかるはずです。 知っおおくべきこず この匷力な新機胜に関しお留意すべき点がいく぀かありたす。 リヌゞョン — すべおの商甚 AWS リヌゞョンでデヌタコネクタを䜜成しお䜿甚できたす。あるリヌゞョンで実行されおいるコネクタは、他のリヌゞョンや他の AWS アカりントのサヌビスや゚ンドポむントに接続しおデヌタを取埗できたす。 料金 — コネクタには远加料金はかかりたせん。Lambda 関数の呌び出しず、䜜成したその他の AWS むンフラストラクチャの料金を支払いたす。 – Jeff ; 原文は こちら です。
クロスリヌゞョンデヌタレプリケヌションを䜿甚しお、 Amazon WorkSpaces ナヌザヌにビゞネス継続性を提䟛できるようになりたした。スナップショットは 12 時間ごずに䜜成され、目的のタヌゲットリヌゞョンにレプリケヌトされたす。このスナップショットを䜿甚しお 1224 時間の目暙埩旧時点 (RPO) が埗られたす。 マルチリヌゞョンレゞリ゚ンスのレビュヌ 同僚のアリ゚ルは、2022幎の蚘事「 Amazon WorkSpaces マルチリヌゞョンレゞリ゚ンスによる事業継続性の向䞊 」で、この機胜の初期バヌゞョンを玹介し、この機胜を䜿甚しおナヌザヌが利甚できるスタンバむ仮想デスクトップをセットアップする方法を瀺したした。セットアップが完了するず、ナヌザヌは完党修食ドメむン名 (FQDN) を含む Amazon WorkSpaces 登録コヌドを䜿甚しおログむンしたす。プラむマリリヌゞョンの WorkSpaces が利甚できない堎合、ナヌザヌはセカンダリリヌゞョンのスタンバむ WorkSpaces にリダむレクトされたす。 スタンバむ WorkSpaces は、むンフラストラクチャずストレヌゞの少額の固定月額料金で利甚でき、その月の利甚時間ごずに䜎額の定額料金がかかりたす。この機胜ずこのビゞネスモデルを組み合わせるこずで、スタンバむデプロむメントを簡単か぀経枈的に維持できたす。 クロスリヌゞョンデヌタレプリケヌション 本日、䞀方向のクロスリヌゞョンデヌタレプリケヌションを远加するこずで、この機胜をさらに匷化したす。プラむマリ WorkSpace に保存されおいるアプリケヌション、ドキュメント、その他のリ゜ヌスは 12 時間ごずにスナップショットされ、セカンダリ WorkSpace をホストするリヌゞョンにコピヌされたす。冗長性がさらに匷化され、デヌタ保護が匷化され、システム停止によっお倱われる生産性を最小限に抑えるこずができたす。これは、ナヌザヌがベヌスむメヌゞ䞊にアプリケヌションをむンストヌルしお構成しおいる堎合に特に圹立ちたす。これは、セカンダリ WorkSpace で䞊蚘の手順を繰り返す必芁がないためです。 仕組みは以䞋のずおりです。 通垞の運甚 — 通垞の運甚では、 WorkSpaces フリヌトのナヌザヌはプラむマリリヌゞョンを䜿甚しおいたす。システム (C:) ドラむブずデヌタ (D:) ドラむブの EBS スナップショットは 12 時間ごずに䜜成されたす。マルチリヌゞョンレゞリ゚ンスはセカンダリリヌゞョンで実行され、新しいスナップショットを定期的にチェックしたす。それらが芋぀かるず、セカンダリリヌゞョンぞのコピヌを開始したす。コピヌがセカンダリリヌゞョンに到着するず、それらを䜿甚しおセカンダリ WorkSpace を曎新したす。 フェむルオヌバヌ怜出 — セットアッププロセスの䞀環ずしお、「 DNS サヌビスの蚭定ず DNS ルヌティングポリシヌの蚭定 」に埓っお、DNS ルヌティングポリシヌずオプションの Amazon Route 53 ヘルスチェックを蚭定し、クロスリヌゞョンリダむレクトを管理したす。 フェむルオヌバヌ — 倧芏暡むベント (LSE) がプラむマリリヌゞョンずプラむマリ WorkSpace に圱響する堎合、先ほど説明したフェむルオヌバヌ怜出が有効になりたす。ナヌザヌが再接続を詊みるず、セカンダリヌゞョンにリダむレクトされ、最新のスナップショットを䜿甚しお WorkSpace が起動し、1224 時間前のデヌタやアプリにアクセスしお皌働状態に戻りたす。 フェむルバック — LSE が終了するず、ナヌザヌはセカンダリ WorkSpace で䜜成したデヌタを手動でバックアップし、そこからログアりトしたす。その埌、再びログむンするず、今床はプラむマリリヌゞョンず WorkSpace にリダむレクトされ、そこでバックアップを埩元しお䜜業を続けるこずができたす。 セットアップを始める WorkSpaces 管理者ずしお、たず必芁なプラむマリワヌクスペヌスを芋぀けるこずから始めたす。 これを遞択し、 [アクション] メニュヌから [スタンバむワヌクスペヌスの䜜成] を遞択したす。 セカンダリ WorkSpace に必芁なリヌゞョンを遞択し、 [次ぞ] をクリックしたす。 次に、リヌゞョン内の適切なディレクトリを遞択し、もう䞀床 [次ぞ] をクリックしたす。 プラむマリ WorkSpace が暗号化されおいる堎合は、セカンダリリヌゞョンに KMS キヌの ARN を入力する必芁がありたす (たたは、 マルチリヌゞョンキヌ を䜿甚するずさらに䟿利です)。 [デヌタ耇補を有効にする] をオンにしお、远加の月額料金を蚱可しおいるこずを確認したす。 次のペヌゞで遞択内容を確認し、 [䜜成] をクリックしお、遞択したリヌゞョンでセカンダリ WorkSpace の䜜成を開始したす。 前述のように、 マルチリヌゞョンレゞリ゚ンスを蚭定する必芁もありたす 。これには、WorkSpaces 登録コヌドずしお䜿甚するドメむン名の蚭定、Route 53 ヘルスチェックの蚭定、およびそれらを䜿甚しおルヌティングポリシヌを匷化するこずが含たれたす。 知っおおくべきこず クロスリヌゞョンデヌタレプリケヌションに぀いお知っおおくべき重芁な点をいく぀か玹介したす。 ディレクトリ — この蚘事 で説明されおいるように、構成されたセルフマネヌゞド型 Active Directory、 AWS マネヌゞド AD 、たたは AD コネクタ を䜿甚できたす。シンプル AD はサポヌトされおいたせん。 スナップショット — 特定のデヌタボリュヌムの最初の EBS スナップショットがいっぱいで、埌続のスナップショットは増分になりたす。その結果、特定の WorkSpace の最初のレプリケヌションは、埌続のレプリケヌションよりも時間がかかる可胜性がありたす。スナップショットは WorkSpaces 内郚のスケゞュヌルで開始され、タむミングを制埡するこずはできたせん。 暗号化 — プラむマリリヌゞョンずセカンダリリヌゞョンで同じ AWS Key Management Service (AWS KMS) キヌを䜿甚しおいる限り、この機胜は 暗号化された WorkSpace で䜿甚できたす。 マルチリヌゞョンキヌ を䜿甚するこずもできたす。 バンドル — Windows 10 および Windows 11 のバンドルを䜿甚できたすが、BYOL を実行するこずもできたす。 アカりント — 各 AWS アカりントには、保留䞭の EBS スナップショットの数に䞀定の制限がありたす。これにより、倧量の WorkSpaces でこの機胜を䜿甚できなくなる可胜性がありたす。 料金 — 各プラむマリ WorkSpace に蚭定されたストレヌゞ量に基づいお、固定月額料金をお支払いいただきたす。詳现に぀いおは、「 Amazon WorkSpaces の料金衚 」ペヌゞを参照しおください。 – Jeff ; 原文は こちら です。
生成系人工知胜 (AI) を掻甚した 通話芁玄を Amazon Transcribe Call Analytics のプレビュヌを発衚したす。 Amazon Bedrock を搭茉したこの機胜は、カスタマヌサヌビスぞの電話を自動的に芁玄するこずで、䌁業がカスタマヌ゚クスペリ゚ンスを向䞊させ、゚ヌゞェントずスヌパヌバむザヌの生産性を向䞊させるのに圹立ちたす。Amazon Transcribe Call Analytics は、機械孊習 (ML) を掻甚した分析を提䟛したす。これにより、コンタクトセンタヌは顧客ずの䌚話の感情、傟向、ポリシヌコンプラむアンスを理解しお、顧客䜓隓を向䞊させ、重芁なフィヌドバックを特定できたす。たった 1 回の API コヌルで、顧客ずの䌚話のトランスクリプトや豊かなむンサむト、および芁玄を抜出するこずができたす。 ビゞネスずしお、各䌚話に関連するアクションアむテムを含め、重芁な䌚話ポむントの正確な履歎蚘録を維持したいず考えおいるこずは理解しおいたす。そのためには、゚ヌゞェントは䌚話の終了埌にメモをたずめ、CRM システムに入力したす。このプロセスには時間がかかり、人為的ミスの原因ずなりたす。ここで、゚ヌゞェントが䌚話䞭に話し合った重芁なアクションアむテムを正しく把握しお行動でず、顧客の信頌が䜎䞋するこずを想像しおみおください。 仕組みの説明 11月26日より、゚ヌゞェントずスヌパヌバむザヌが顧客ずの䌚話を芁玄しやすくなるように、Amazon Transcribe Call Analytics はコンタクトセンタヌずのやり取りの簡朔な芁玄を生成したす。この芁玄には、顧客が電話をかけた理由、問題ぞの察凊方法、特定されたフォロヌアップアクションなどの䞻芁な芁玠が含たれたす。顧客ずのやり取りが完了するず、゚ヌゞェントは䌚話を芁玄する必芁がないため、次の顧客のサポヌトに盎接進むこずができたす。その結果、顧客の埅ち時間が短瞮され、゚ヌゞェントの生産性が向䞊したす。さらに、スヌパヌバむザヌは、顧客の問題を調査するずきに抂芁を確認しお䌚話の芁点を把握できたす。通話の録音党䜓を聞いたり、トランスクリプトを読んだりする必芁はありたせん。 コン゜ヌルで Amazon Transcribe Call Analytics を調べる これがどのように機胜するかを芖芚的に確認するために、たず該圓する AWS リヌゞョン に Amazon Simple Storage Service (Amazon S3) バケット を䜜成したす。次に、オヌディオファむルを S3 バケットにアップロヌドしたす。 音声を曞き起こし、顧客ず゚ヌゞェントが行った䌚話に関する远加の分析を提䟛する分析ゞョブを䜜成するには、Amazon Transcribe Call Analytics コン゜ヌルにアクセスしたす。巊偎のナビゲヌションバヌで [ポストコヌル分析] を遞択し、 [ゞョブの䜜成] を遞択したす。 次に、オヌディオファむルの蚀語に基づいお蚀語蚭定が維持されるように、ゞョブ名を入力したす。 Amazon S3 URI パスには、この蚘事で瀺した最初のスクリヌンショットでアップロヌドされたオヌディオファむルぞのリンクを指定したす。 [ロヌル名] で、Amazon S3 バケットにアクセスする [IAM ロヌルの䜜成] を遞択し、 [次ぞ] を遞択したす。 生成系コヌルサマリヌを有効にしお、 [ゞョブの䜜成] を遞択したす。 数分埌、ゞョブのステヌタスが [進行䞭] から [完了] に倉わり、正垞に完了したこずが瀺されたす。 ゞョブを遞択するず、次の画面にトランスクリプトず新しいタブ [生成系コヌルサマラリヌ — プレビュヌ ] が衚瀺されたす。 トランスクリプトをダりンロヌドしお、分析ず抂芁を確認するこずもできたす。 今すぐご利甚いただけたす Amazon Transcribe Call Analytics の生成系コヌルサマリヌは、11月26日、米囜東郚 (バヌゞニア北郚) ず米囜西郚 (オレゎン) で英語でご利甚いただけたす。 Amazon Transcribe Call Analytics の生成系コヌルサマリヌでは、埓量制料金でお支払いいただき、階局型の料金蚭定に基づいお毎月請求されたす。詳现に぀いおは、「 Amazon Transcribe の料金蚭定 」をご参照ください。 詳现はこちら 。 Amazon Transcribe Call Analytics の補品ペヌゞ Amazon Transcribe Call Analytics 開発者ガむド – Veliswa 原文は こちら です。
11月26日、 AWS Step Functions ず Amazon Bedrock の新しい 2 ぀の最適化された統合に぀いお発衚したした。Step Functions は、開発者が分散アプリケヌションの構築、プロセスの自動化、マむクロサヌビスのオヌケストレヌション、デヌタおよび機械孊習 (ML) パむプラむンの䜜成を支揎するビゞュアルワヌクフロヌサヌビスです。 基盀モデル (FM) を䜿甚しお生成型人工知胜 (AI) アプリケヌションを構築およびスケヌルする最も簡単な方法である Amazon Bedrock を 9 月に公開したした 。Bedrock は、AI21 Labs、Anthropic、Cohere、Stabilability AI、Amazon などの倧手プロバむダヌが提䟛するさたざたな基盀モデルず、顧客がプラむバシヌずセキュリティを維持しながら生成系 AI アプリケヌションを構築するために必芁な幅広い機胜を提䟛しおいたす。 AWS マネゞメントコン゜ヌル 、 AWS コマンドラむンむンタヌフェむス (AWS CLI) たたは AWS SDKs から Amazon Bedrock を䜿甚できたす。 Amazon Bedrock ず最適化された新しい Step Functions ずの統合により、タスクを調敎しお、Amazon Bedrock を䜿甚しお 生成系 AI アプリケヌションを構築したり、 220 を超えるAWSサヌビス ず統合したりするこずができたす。Step Functions を䜿甚するず、ワヌクフロヌを芖芚的に開発、怜査、監査できたす。以前は、ワヌクフロヌから Amazon Bedrock を䜿甚するには AWS Lambda 関数を呌び出す必芁があり、それを維持するためのコヌドが远加され、アプリケヌションのコストが増加しおいたした。 Step Functions には、Amazon Bedrock 甚に最適化された 2 ぀の新しい API アクションが甚意されおいたす。 InvokeModel — この統合により、パラメヌタヌで提䟛される入力を䜿甚しおモデルを呌び出し、掚論を実行できたす。この API アクションを䜿甚しお、テキスト、画像、埋め蟌みモデルの掚論を実行したす。 CreateModelCustomizationJob — この統合により、ベヌスモデルをカスタマむズするための埮調敎ゞョブが䜜成されたす。パラメヌタヌでは、基瀎モデルずトレヌニングデヌタの堎所を指定したす。ゞョブが完了するず、カスタムモデルを䜿甚する準備が敎いたす。これは非同期 API であり、この統合により、Step Functions は ゞョブを実行 し、ゞョブが完了するのを埅っおから次の状態に進むこずができたす。぀たり、モデルカスタマむズ䜜成ゞョブの実行䞭はステヌトマシンの実行が䞀時停止し、タスクが完了するず自動的に再開されたす。 InvokeModel API アクションは、最倧 25 MB のリク゚ストずレスポンスを受け入れたす。ただし、Step Functions にはステヌトペむロヌドの入力ず出力に 256 kB の制限がありたす。この統合でより倧きなペむロヌドをサポヌトするために、 InvokeModel API がデヌタを読み蟌んだり、結果を曞き蟌んだりする Amazon Simple Storage Service (Amazon S3) バケットを定矩できたす。これらの構成は、API アクション構成パラメヌタヌセクションのパラメヌタヌセクションで提䟛できたす。 Amazon Bedrock ず AWS Step Functions の開始方法 開始する前に、Amazon Bedrock が利甚できるリヌゞョンにステヌトマシンを䜜成しおください。この䟋では、米囜東郚 (バヌゞニア北郚)、 us-east-1 を䜿甚しおください。 AWS マネゞメントコン゜ヌルから、新しいステヌトマシンを䜜成したす。「bedrock」を怜玢するず、䜿甚可胜な 2 ぀の API アクションが衚瀺されたす。 InvokeModel をステヌトマシンにドラッグしたす。 これで、右偎のメニュヌでその状態を蚭定できたす。たず、どの基盀モデルを䜿甚するかを定矩できたす。リストからモデルを遞択するか、入力から動的にモデルを取埗したす。 次に、モデルパラメヌタを蚭定する必芁がありたす。テキストボックスに掚論パラメヌタを入力するか、Amazon S3 からパラメヌタを読み蟌むこずができたす。 API アクション蚭定をスクロヌルし続けるず、S3 宛先バケットなど、API の远加蚭定オプションを指定できたす。このフィヌルドを指定するず、API アクションは API レスポンスを状態出力に返す代わりに、指定されたバケットに保存したす。ここでは、リク゚ストずレスポンスのコンテンツタむプを指定するこずもできたす。 ステヌトマシンの蚭定が完了したら、ステヌトマシンを䜜成しお実行できたす。ステヌトマシンが実行されるず、実行の詳现を芖芚化し、Amazon Bedrock ステヌトを遞択し、その入力ず出力を確認できたす。 Step Functions を䜿甚するず、さたざたなサヌビスを組み合わせおさたざたな問題を解決しながら、必芁なだけ広範囲にステヌトマシンを構築できたす。たずえば、Amazon Bedrock で Step Functions を䜿甚するず、プロンプトチェヌンを䜿甚するアプリケヌションを䜜成できたす。これは、非垞に長くお詳现なプロンプトの代わりに、小さくお単玔な耇数のプロンプトを FM に枡すこずで、耇雑な生成系 AI アプリケヌションを構築するための手法です。プロンプトチェヌンを構築するには、Amazon Bedrock を耇数回呌び出すステヌトマシンを䜜成しお、小さいプロンプトのそれぞれに぀いお掚論を行いたす。 䞊列状態 を䜿甚しおこれらすべおのタスクを䞊行しお実行し、次に䞊列タスクの応答を 1 ぀の応答に統合しお結果を生成する AWS Lambda 関数を䜿甚できたす。 今すぐご利甚いただけたす Amazon Bedrock 向けの AWS Step Functions 最適化統合は、Amazon Bedrock が利甚可胜な AWS リヌゞョンに限定されたす。 Step Functions コン゜ヌル からサンプルプロゞェクトを詊しおみるこずで、Step Functions ず Amazon Bedrock を䜿い始めるこずができたす。 –  Marcia 原文は こちら です。
自埋移動ロボットの最前線に立぀先駆的な䌁業である ANYbotics は、AWS を䜿甚しおグロヌバルにロボットの劎働力を配備しおいたす。安党性、効率性、持続可胜性を向䞊させるむンテリゞェントな怜査゜リュヌションを提䟛するこずで、倧芏暡な産業斜蚭の運営に革呜をもたらしたす。ANYbotics は、物理資産ずデゞタル資産を぀なぐこずで、最先端のロボット技術を持぀䌁業が、ロボットず人間がシヌムレスに連携しおより良い結果を達成できる環境を構築できるよう支揎したす。 このブログ蚘事では、ANYbotics がアマゟンりェブサヌビス (AWS) を掻甚しおアプリケヌションを実行し、ロボット矀からデヌタを収集しお保存する方法ず、顧客がテレメトリデヌタを衚瀺しお新しいミッションをロボットに送信するためのむンタヌフェむスを提䟛する方法に぀いお孊びたす。 ANYmal を倧芏暡に運甚 ANYmal は、反埩的で危険な怜査䜜業を行う ANYbotics のロボット゜リュヌションです。堅牢で、自埋的で、移動性が高く、すぐに䜿える怜査ロボットです。ANYmal のマルチセンサヌ機胜には、芖芚的および音響的な資産監芖、熱異垞の怜出、ガス挏れが含たれたす。プラントの 3D マップを絶えず曎新しお状況を認識し、斜蚭のダむナミックなデゞタルツむンを䜜成したす。ANYmal は幎䞭無䌑で利甚できるため、ロボットの動䜜に関する掞察を絶えず提䟛できるため、顧客は迅速か぀安党に行動できたす。 ANYbotics は、ANYmal の最初の商甚シリヌズで、パむロットプロゞェクト甚に単䞀ナニットを玍入したした。顧客がテクノロゞヌの拡匵ずロボットの導入を開始するに぀れ、安党な運甚の確保、ロボットからの倧量の受信デヌタの凊理、テレメトリヌデヌタをク゚リするための信頌性の高い方法の提䟛など、新たなオペレヌション課題が生じたした。ANYbotics は、AWS ゜リュヌションを゜リュヌションの䞻芁コンポヌネントずしお䜿甚するこずで、これらの課題を解決しおいたす。 ゜リュヌション抂芁 ANYbotics は、クラりド容量をカスタマむズ可胜な Amazon Elastic Compute Cloud (Amazon EC2) 、顧客向けワヌクロヌドず API のプロビゞョニング、メンテナンス、スケヌリング甚の Amazon Elastic Kubernetes Service (Amazon EKS) 、自動スケゞュヌリング甚の AWS Lambda など、AWS 補品の利甚を拡倧しおいたす。 ANYbotics は、ANYmal からデヌタを収集しお AWS に保存し、API 経由で顧客がアクセスできるようにする゜リュヌションを開発したした。同時に、この゜リュヌションにより、ANYmal はロボットの地理的䜍眮に関係なく、オペレヌタヌから゜フトりェアの曎新ずミッションコマンドを受け取るこずができたす。 ANYbotics には、゜リュヌションを顧客サむトのサヌバに導入できるずいう顧客からの独自の芁件がありたす。コンテナベヌスのアプロヌチを遞択するこずで、アプリケヌションを暙準化し、すべおの蚭備で同様のツヌルを䜿甚できたす。すべおの蚭備が同じ構造を䜿甚しおいるため、ほずんど倉化なくすべおのサむトに導入でき、管理オヌバヌヘッドを䜎く抑えるこずができたす。 ANYbotics は AWS を掻甚しお、 EC2 むンスタンス䞊で皌働する EKS クラスタヌを䜿甚しおアプリケヌションを運甚およびスケヌリングしおいたす。物理むンフラストラクチャに関連するオペレヌションタスクを AWS が凊理するため、むンフラストラクチャ管理のオヌバヌヘッドが軜枛されるずいうメリットがありたす。オヌバヌヘッドをさらに最小限に抑えるために、Kubernetes クラスタのオペレヌションタスクを凊理するマネヌゞド Kubernetes サヌビスである EKS を䜿甚しおいたす。そのため、ハヌドりェアやコントロヌルプレヌンを管理する代わりに、顧客に䟡倀をもたらすアプリケヌションの構築に集䞭できたす。同じクラスタヌ内のさたざたな顧客のアプリケヌションを実行するために、ANYbotics は各テナントに固有の名前空間を割り圓おたす。このセグメンテヌションにより、ANYbotics は異なるテナントのアプリケヌションを安党に䞊行しお運甚し、蚈算リ゜ヌスを共有できたす。 ANYbotics には、ANYmal ず AWS 間のデヌタ同期、ロボットぞの新しいミッションの送信、およびその他のワヌクロヌド甚のコンテナがありたす。ANYmal は、 Amazon Elastic Load Balancer (ELB) を䜿甚しおデヌタ同期アプリケヌションに接続し、お客様の産業甚サむトから最新の怜査テレメトリデヌタをアップロヌドしたす。同時に、曎新通知ず実行すべき新しいミッションを受け取りたす。顧客のオペレヌタヌは、アプリを䜿甚しおロボットの状態を確認したり、新しいミッションを定矩したりできたす。さらに、ANYbotics のお客様は、産業珟堎から収集した情報を提䟛する ANYmal API を介しお、既存のデゞタルツむン゜リュヌションたたはサヌドパヌティアプリケヌションを統合できたす。 Robot-as-a-Service (RaaS) の実珟 Robot-as-a-ServiceRaaSは、ロボットを1回限りの補品ずしお販売するのではなく、ロボットやロボットサヌビスのサブスクリプションたたは埓量課金制で顧客に提䟛するビゞネスモデルです。RaaS は ANYbotics が掚奚するモデルであり、ANYmal のハヌドりェアず゜フトりェアのフルサヌビスで ANYmal の補品を拡匵できたす。これは、顧客ぞの先行投資を必芁ずしない柔軟なビゞネスモデルです。 AWS サヌビスを䜿甚するこずで、ANYbotics は珟圚のワヌクロヌドに応じおアプリケヌションをスケヌルアップたたはスケヌルダりンできたす。コンピュヌティングリ゜ヌスをオンデマンドで数分以内に远加でき、埓量課金制の料金モデルを䜿甚しおコスト効率の高い運甚を実珟できたす。これは ANYbotics にずっお非垞に重芁です。需芁が䜎い時期には十分に掻甚されおいないオンプレミスのハヌドりェアに投資するこずなく、ロボットの数の倉動やタスクの耇雑さに容易に適応できるからです。増え続ける ANYmal ロボットを将来的に運甚する準備を敎え、より耇雑なタスク解決アプリケヌションの需芁を満たすためには、スケヌルアップが䞍可欠です。 ANYmal ロボットは䞖界䞭の産業珟堎に配備されおいたす。 AWS のグロヌバルなフットプリント を掻甚するこずで、ANYbotics は自瀟の゜リュヌションをロボットに近づけおレむテンシヌを枛らし、顧客のパフォヌマンスを向䞊させるこずができたす。 その結果、ANYbotics は AWS を䜿甚しお倚甚途でスケヌラブルな Robot-as-a-Service (RaaS) を提䟛し、ロボットがさたざたな分野のさたざたなアプリケヌションで䞭心的な圹割を果たす未来の準備を敎えたした。 “AWS クラりドコンピュヌティング゜リュヌションにより、䞖界䞭でデヌタを収集し、ANYmal がよりむンテリゞェントになるようにトレヌニングし、それらの゜リュヌションをほが分単䜍の頻床で顧客にデプロむできる未来に向かっお進んでいたす。“ – ANYbotics ゜リュヌションズ CTO, Robert MacKenzie. たずめ ANYbotics は、倧芏暡資産運甚者に、耇雑で危険な産業環境向けの自埋的で自動化された゚ンドツヌ゚ンドのロボット怜査゜リュヌションを提䟛したす。圌らは単䞀のロボットから始め、䞖界䞭で操業するロボットフリヌトにたで拡倧したした。AWS を掻甚しお゜リュヌションを拡匵し、コンピュヌティングリ゜ヌスをオンデマンドで远加するこずで、増え続けるロボットを運甚および管理できるようになっおいたす。これにより、ANYbotics は必芁なリ゜ヌスに察しおのみ支払いを行うため、統合゜リュヌションを費甚察効果の高い方法で提䟛できたす。さらに、むンフラストラクチャ管理のオヌバヌヘッドが軜枛されるため、䞖界䞭の顧客に Robot-as-a-Service (RaaS) モデルを提䟛するこずに集䞭でき、サヌビスの信頌性、耐久性、保守が容易になりたす。 ロボット工孊や IoT ゜リュヌションに AWS を䜿甚する方法の詳现に぀いおは、 AWS IoT たたは AWS Robotics をご芧ください。 著者に぀いお David Boldt David Boldt は、アマゟンりェブサヌビスの゜リュヌションアヌキテクトです。圌は、お客様が安党でスケヌラブルな゜リュヌションを構築できるよう支揎しおいたす。圌はモノのむンタヌネットIoTに情熱を泚いでおり、さたざたな業界の課題を解決しおいたす。 João Cravo João Cravo は珟圚、先駆的なロボット䌁業である ANYbotics でクラりド・ロボティクス・゚ンゞニアの圹職に就いおいたす。2014 幎以来、João は、賭け、フィンテック、電気通信などの幅広い䌁業に AWS ゜リュヌションをデプロむする䞊で、豊富な専門知識を蓄積しおきたした。ANYbotics でのキャリアは2021幎に始たり、クラりド技術の可胜性を最倧限に掻甚しおロボティクスの分野を匷化するこずに尜力しおきたした。 この蚘事は ANYbotics uses AWS to deploy a global robot workforce for industrial inspections の日本語蚳です。IoT Consultant の正村 雄介が翻蚳したした。
11月26日、AWS Billing and Cost Management の新しい機胜である Cost Optimization Hub を発衚したした。これにより、AWS のコスト最適化に関する掚奚事項を実珟するコスト削枛を簡単に特定、フィルタリング、集蚈、定量化できたす。 新しい Cost Optimization Hub を䜿甚するず、組織内の耇数の AWS リヌゞョンず AWS アカりントにわたっお、アむドル状態のリ゜ヌスの怜出、リ゜ヌスの適正化、賌入オプションなどのコスト最適化に関する掚奚事項をむンタラクティブにク゚リできたす。デヌタの集玄や凊理は䞍芁です。これらの掚奚事項を実装すれば、どれだけ節玄できるかがわかり、節玄によっお掚奚事項を簡単に比范しお優先順䜍を付けるこずができたす。 Amazon の CEO である Andy Jassy は、 2022幎の株䞻ぞの手玙 の䞭で、「私たちは、私たち党員よりも長く続く顧客関係 (およびビゞネス) を構築しようずしおいたす。その結果、AWS の営業およびサポヌトチヌムは、お客様がこの䞍確実な経枈をよりうたく乗り切るこずができるように、AWS 支出を最適化するために倚くの時間を費やしおいたす」ず述べおいたす。 コスト最適化ハブは、 AWS Cost Explorer や AWS Compute Optimizer を含む AWS クラりド財務管理 (CFM) サヌビス 党䜓にわたるすべおのコスト最適化掚奚アクションを 1 か所にたずめたす。これらの掚奚事項には顧客固有の䟡栌蚭定ず割匕が組み蟌たれおいたす。たた、怜出結果やコスト削枛の耇補が可胜になるため、コスト最適化の機䌚を総合的に把握できたす。 FinOps チヌムたたはむンフラストラクチャ管理チヌムのメンバヌで、コスト最適化の機䌚が最も倚い AWS アカりントや AWS リヌゞョンなど、コスト最適化の機䌚を総合的に把握したい堎合は、Cost Optimization Hub から始める必芁がありたす。 組み蟌みのフィルタヌずグルヌプ化オプションを䜿甚しお、コスト最適化の機䌚を簡単に分析できたす。たずえば、どの AWS アカりントでコスト最適化の機䌚が最も倚いかを把握したら、アむドル状態のリ゜ヌスの停止、適正化、Graviton ぞの移行など、最もコスト最適化の倚い戊略を特定できたす。適正サむズ化の機䌚が最も倚い AWS リヌゞョンを特定するず、そのリヌゞョンの適正化に関する掚奚事項のリストが衚瀺されたす。ディヌプリンクを通じお Compute Optimizer コン゜ヌルにリダむレクトされ、倉曎を実装した堎合に予枬される CPU 䜿甚率などの詳现が怜蚌されたす。 コストの最適化ハブの開始方法 開始するには、 AWS Billing and Cost Management Console の巊偎のナビゲヌションメニュヌで [コストの最適化ハブ] を遞択したす。 [有効] を遞択するずオプトむンできたす。コストの最適化ハブが最初にデヌタを入力するたでには 24 時間の埅機し時間があり、その埌デヌタは毎日曎新されたす。 オプトむンするず、AWS アカりント、AWS リヌゞョン、タグキヌごずのコスト最適化の掚奚事項のダッシュボヌドが衚瀺されたす。最適化に䜿甚できるリ゜ヌスのリストを衚瀺するには、 [機䌚を衚瀺] を遞択したす。 コスト最適化ハブは、次の 6 皮類のコスト最適化掚奚アクションをサポヌトしおいたす。 停止 — アむドル状態たたは未䜿甚のリ゜ヌスを停止しお、リ゜ヌスのコストを最倧 100% 節玄したす。 適切なサむズ — より小さな Amazon EC2 むンスタンスタむプ、Amazon EBS ボリュヌム、AWS Lambda メモリサむズ、たたは AWS Fargate タスクサむズに移行したす アップグレヌド — EBS io1 ボリュヌムタむプから io2 ぞの移行など、より新しい䞖代の補品に移行したす。 Graviton 移行 — x86 ベヌスのプロセッサを搭茉した EC2 むンスタンスタむプから AWS Graviton ベヌスのプロセッサを搭茉した EC2 むンスタンスタむプに移行するこずで、コストを節玄できたす。 節玄プランの賌入 — Compute Savings Plans、EC2 Instance Savings Plans、および Amazon SageMaker Savings Plans が賌入できたす リザヌブドむンスタンスの賌入 — Amazon EC2、Amazon RDS、Amazon DynamoDB、Amazon ElastiCache、Amazon Redshift リザヌブドむンスタンスが賌入できたす。 リ゜ヌスタむプ、最も掚奚されるアクション、および掚定月間節玄額を確認できたす。たた、リストを AWS アカりント、AWS リヌゞョン、実装䜜業量で、たたタグキヌをグルヌプ別ディメンションずしおフィルタリングするこずもできたす。 たた、各掚奚事項を「リ゜ヌスの再起動が必芁」たたは「ロヌルバックが可胜」に分類するこずもできたす。 リ゜ヌスの再起動が必芁=いいえ をフィルタヌに指定した堎合、EBS ボリュヌムの掚奚など、リ゜ヌスの再起動を必芁ずしない掚奚のみが衚瀺されたす。同様に、 ロヌルバックが可胜=はい をフィルタヌずしお指定した堎合、ロヌルバックできるレコメンデヌションのみが衚瀺されたす。 適切なサむズの EC2 むンスタンスなど、特定の゜ヌスを遞択するず、詳现を衚瀺しお Amazon EC2 ず AWS Compute Optimizer コン゜ヌルに接続できたす。毎月の掚定節玄額は、将来の節玄額を簡単に芋積もったものであるこずに泚意しおください。実際に節玄できるかどうかは、将来の AWS の䜿甚パタヌンによっお異なりたす。 AWS コマンドラむンむンタヌフェむス (AWS CLI) ず AWS SDK を䜿甚しおむンタラクティブにク゚リを実行するこずもできたす。 ãƒªã‚œãƒŒã‚¹ã®å‰Šé™€ãšã‚µã‚€ã‚ºå€‰æ›Žã«é–¢ã™ã‚‹æŽšå¥šäº‹é …を確認するためのサンプルク゚リは次のずおりです。 $ aws cost-optimization-hub list-recommendations 前述のク゚リでは、次の結果が埗られたす。 { "items":[ { "recommendationId":"MDA2MDI1ODQ1MTA1XzQ5MzNhYzZlLWZmYTUtNGI2ZC04YzBkLTAxYWE3Y2JlNjNlYg==", "accountId":"006025845105", "region":"Global", "resourceId":"006025845105_ComputeSavingsPlans", "currentResourceType":"ComputeSavingsPlans", "recommendedResourceType":"ComputeSavingsPlans", "estimatedMonthlySavings":1506.591472696, "estimatedSavingsPercentage":55.46400024, "estimatedMonthlyCost":2716.341169146, "currencyCode":"USD", "implementationEffort":"VeryLow", "restartNeeded":false, "actionType":"PurchaseSavingsPlans", "rollbackPossible":false, "recommendedResourceSummary":"$1.628/hour with three years term", "lastRefreshTimestamp":"2023-10-23T16:54:13-07:00", "recommendationLookbackPeriodInDays":30, "source":"CostExplorer" }, { "recommendationId":"MDA2MDI1ODQ1MTA1XzhiZTRlNTczLTE0MDctNGIzOS05MmY3LTdmN2EzOTU2Y2ZkYw==", "accountId":"006025845105", "region":"us-east-1", "resourceId":"arn:aws:lambda:us-east-1:006025845105:function:Lambda-recommendation-testing:$LATEST", "resourceArn":"arn:aws:lambda:us-east-1:006025845105:function:Lambda-recommendation-testing:$LATEST", "currentResourceType":"LambdaFunction", "recommendedResourceType":"LambdaFunction", "estimatedMonthlySavings":3.1682091425308054e-06, "estimatedSavingsPercentage":1.936368871741565, "estimatedMonthlyCost":0.00016044778307703665, "currencyCode":"USD", "implementationEffort":"Low", "restartNeeded":false, "actionType":"Rightsize", "rollbackPossible":true, "currentResourceSummary":"128 MB memory", "recommendedResourceSummary":"160 MB memory", "lastRefreshTimestamp":"2023-10-24T04:07:35.364000-07:00", "recommendationLookbackPeriodInDays":14, "source":"ComputeOptimizer" } ] } 新しいコスト最適化ハブ API の詳现に぀いおは、「 コスト最適化ハブ API ドキュメント 」を参照しおください。 今すぐご利甚いただけたす コスト最適化ハブは、すべおのお客様が䞀般的に利甚できるようになりたした。この新機胜には远加料金はかかりたせん。開始しお、すべおの AWS リヌゞョンのコスト最適化に関する掚奚事項を確認できるようになりたした。 詳现に぀いおは、コスト最適化ハブペヌゞを参照し、 コスト最適化のための AWS re:Post にフィヌドバックを送信するか、通垞の AWS サポヌトの連絡先を通じお送信しおください。 – Channy 原文は こちら です。
ログデヌタを怜玢しお運甚䞊たたはビゞネス䞊のむンサむトを芋぀けるこずは、倚くの堎合、干し草の山から針を探すようなものです。通垞、個々のログレコヌドを手動でフィルタリングしお確認する必芁がありたす。これを支揎するために、 Amazon CloudWatch は、数十幎にわたる Amazon ず AWS の運甚デヌタを䜿甚しおトレヌニングされた高床な機械孊習 (ML) アルゎリズムを䜿甚しお、ログレコヌドのパタヌンを自動的に認識しおクラスタヌ化し、泚目すべきコンテンツず傟向を抜出し、異垞を通知する新しい機胜を远加したした。 具䜓的には、CloudWatch では以䞋の機胜が提䟛されるようになりたした。 [Logs Insights] ペヌゞの [パタヌン] タブでは、ク゚リ結果で繰り返し発生するパタヌンを芋぀けお詳现に分析できたす。これにより、探しおいる内容を芋぀けやすくなり、ログ内の新しいコンテンツや予期しないコンテンツにドリルダりンしやすくなりたす。 [Logs Insights] ペヌゞの時間間隔セレクタヌにある [比范] ボタンを䜿甚するず、遞択した時間範囲のク゚リ結果を、前日、週、月などの前の期間ず簡単に比范できたす。これにより、以前の安定したシナリオず比范しお、䜕が倉曎されたかを確認するのにかかる時間が短くなりたす。 ナビゲヌションペむンの [ログ] セクションの [ログ異垞 ] ペヌゞでは、取り蟌み䞭にログが凊理されるず、ログで芋぀かった異垞が自動的に衚瀺されたす。 䞀般的なトラブルシュヌティングの手順で、これらが実際にどのように機胜するかを芋おみたしょう。いく぀かのアプリケヌションログを調べお䞻芁なパタヌンを芋぀け、2぀の期間を比范しお䜕が倉化したのかを理解し、最埌に異垞の怜出が問題の発芋にどのように圹立぀かを芋おいきたす。 ログで繰り返し発生するパタヌンを怜出する CloudWatch コン゜ヌル で、ナビゲヌションペむンの [ログ] セクションから [Logs Insights ] を遞択したす。たず、ク゚リするロググルヌプを遞択したした。今回は、怜査したい Lambda 関数のロググルヌプを遞択し、 [ク゚リを実行] を遞択したす。 [パタヌン] タブには、これらのロググルヌプで芋぀かったパタヌンが衚瀺されたす。パタヌンの 1 ぀が゚ラヌのようです。これを遞択するず、ク゚リにフィルタヌずしおすばやく远加でき、このパタヌンを含むログに集䞭できたす。ずりあえず、虫県鏡アむコンを遞択しおパタヌンを分析したす。 [パタヌン怜査] りィンドりには、遞択した期間にパタヌンが発生したこずを瀺すヒストグラムが衚瀺されたす。ヒストグラムの埌、ログからのサンプルが提䟛されたす。 パタヌンの可倉郚分 (数字など) は「トヌクン」ずしお抜出されおいたす。 トヌクンの倀 を衚瀺するには、[トヌクン倀] タブを遞択したす。トヌクン倀を遞択しおフィルタヌずしおク゚リにすばやく远加し、この特定の倀を持぀このパタヌンを含むログに集䞭できたす。 たた、 [関連パタヌン] タブを芋るず、分析しおいるパタヌンず同時に通垞発生する他のログを確認するこずもできたす。たずえば、詳现を瀺す DEBUG ログず䞀緒に垞に曞き蟌たれおいる ERROR ログを芋おいるず、その関係がわかりたす。 ログを前期間ず比范する 䜕が起こっおいるのかをよりよく理解するために、時間間隔セレクタヌの [比范] ボタンを遞択したす。これにより、ク゚リが曎新され、前の期間ず結果が比范されたす。たずえば、 [前日] を遞択するず、昚日ず比范しお䜕が倉化したかがわかりたす。 [パタヌン] タブでは、゚ラヌの数が実際に 10% 枛少しおいるこずに気づきたした。したがっお、珟圚の状況はそれほど悪くないかもしれたせん。 重芁床が ERROR のパタヌンにある虫県鏡アむコンを遞択するず、2 ぀の期間の完党な比范が衚瀺されたす。グラフは、遞択した時間範囲1時間内の 2 ぀の期間この堎合は珟圚ず昚日にわたるパタヌンの出珟ず重なっおいたす。 ゚ラヌは枛少しおいたすが、ただ残っおいたす。これらの゚ラヌを枛らすために、アプリケヌションにいく぀かの倉曎を加えたす。しばらくしおログを比范したずころ、前の期間には存圚しなかった新しい ERROR パタヌンが芋぀かりたした。 アップデヌトで䜕かが壊れたので、以前のバヌゞョンのアプリケヌションにロヌルバックしたす。今のずころ、゚ラヌの数は私のナヌスケヌスでは蚱容範囲内なので、そのたたにしおおきたす。 ログ内の異垞怜出 ログを比范しおみるず、゚ラヌが枛ったので安心しおいたす。しかし、予期しないこずが起こっおいるかどうかはどうすれば分かるでしょう CloudWatch Logs の異垞怜出は、取り蟌み䞭にログが凊理されるずきに予期しないパタヌンを怜出し、ロググルヌプレベルで有効にできたす。 ナビゲヌションペむンで [ロググルヌプ] を遞択し、フィルタヌを入力するず、以前衚瀺しおいたのず同じロググルヌプが衚瀺されたす。 [異垞怜出] 列で [蚭定] を遞択し、 [評䟡間隔] を 5 分に蚭定したす。オプションずしお、より長い間隔 (最倧 60 分) を蚭定しお、特定のログむベントのみを凊理しお異垞を怜出するパタヌンを远加するこずもできたす。 このロググルヌプの異垞怜出を有効にするず、受信ログは垞に過去のベヌスラむンず照合しお評䟡されたす。数分埅っおから、䜕が芋぀かったかを確認するために、ナビゲヌションペむンの [ログ] セクションから [ログの異垞] を遞択したす。 この芋方を簡略化するために、远跡したくない異垞は非衚瀺にできたす。ずりあえず、前回ず同様の方法で察応するパタヌンを調べるために、異垞の 1 ぀を遞択したす。 この远加チェックの結果、私の申請には緊急の問題はないず確信したした。これらの新機胜で収集したすべおのむンサむトにより、ログ内の゚ラヌに集䞭しお解決方法を理解できるようになりたした。 知っおおくべきこず Amazon CloudWatch の自動ログパタヌン分析は、珟圚 Amazon CloudWatch Logs が提䟛されおいるすべおの商甚 AWS リヌゞョン でご利甚いただけたす。ただし、䞭囜 (北京)、䞭囜 (寧倏)、むスラ゚ル (テルアビブ) リヌゞョンは陀きたす。 パタヌンおよび比范ク゚リ機胜は、既存の Logs Insights ク゚リコストに応じお課金されたす。1 時間の期間を別の 1 時間の期間ず比范するこずは、2 時間の期間にわたっお 1 ぀のク゚リを実行するこずず同じです。異垞怜出はログ取り蟌み料金に含たれおおり、この機胜に远加料金はかかりたせん。詳现に぀いおは、「 Amazon CloudWatch 料金衚 」を参照しおください。 CloudWatch の自動ログパタヌン分析により、ログの分析方法を簡玠化したす。 – Danilo 原文は こちら です。
11月26日、 Amazon Elastic Kubernetes Service (Amazon EKS) から Prometheus のメトリクスを自動的か぀゚ヌゞェントレスに怜出しお収集する新しい機胜、 Amazon Managed Service for Prometheus コレクタヌ を発衚できるこずを嬉しく思いたす。Amazon Managed Service for Prometheus コレクタヌは、クラスタヌ内でコレクタヌを実行するこずなく、Amazon EKS アプリケヌションずむンフラストラクチャからメトリックスを怜出しお収集するスクレむパヌで構成されおいたす。 この新機胜により、Amazon Managed Service for Prometheus によるフルマネヌゞド型の Prometheus 互換のモニタリングずアラヌトが可胜になりたす。倧きな利点の 1 ぀は、コレクタヌが完党に管理され、自動的に適切なサむズ蚭定ずスケヌリングが行われ、ナヌスケヌスに合わせお調敎されるこずです。぀たり、コレクタヌが利甚可胜なメトリクスを収集するためにコンピュヌティングを実行する必芁がないずいうこずです。これにより、EKS䞊で皌働するアプリケヌションやむンフラストラクチャを監芖するためのメトリック収集コストを最適化できたす。 このリリヌスにより、Amazon Managed Service for Prometheus は Prometheus メトリックス収集の 2 ぀の䞻芁なモヌドをサポヌトするようになりたした。AWS マネヌゞドコレクション、フルマネヌゞドで゚ヌゞェントレスのコレクタヌ、およびカスタマヌマネヌゞドコレクションです。 Amazon Managed Service for Prometheus コレクタヌの開始方法 この新しい機胜を䜿っお Amazon Managed Service for Prometheus のワヌクスペヌスにメトリクスを取り蟌めるよう、AWS マネヌゞドコレクタヌの䜿甚方法を芋おみたしょう。次に、収集したメトリックスを Grafana の Amazon マネヌゞドサヌビスで評䟡したす 。 Amazon EKS コン゜ヌルを䜿甚しお新しい EKS クラスタヌを䜜成するずきに、[ Prometheus メトリクスを Amazon Managed Service for Prometheus に送信] を遞択しお、AWS マネヌゞドコレクタヌを有効にするオプションが远加されたした 。「 デスティネヌション 」セクションでは、新しいワヌクスペヌスを䜜成するか、既存の Amazon Managed Service for Prometheus ワヌクスペヌスを遞択するこずもできたす。ワヌクスペヌスの䜜成方法の詳现に぀いおは、「 入門ガむド 」をご芧ください。 その埌、゚ディタヌを䜿甚しおスクレむパヌ構成を柔軟に定矩したり、既存の構成をアップロヌドしたりできたす。スクレむパヌの蚭定は、スクレむパヌがメトリクスをどのように怜出しお収集するかを制埡したす。蚭定できる倀を確認するには、「 Prometheus 蚭定 」ペヌゞをご芧ください。 EKS クラスタヌの䜜成が完了したら、クラスタヌペヌゞの [オブザヌバビリティ] タブに移動しお、EKS クラスタヌで実行されおいるスクレむパヌのリストを確認できたす。 次のステップは、スクレむパヌがメトリクスにアクセスできるようにEKS クラスタヌを構成するこずです。Amazon EKS クラスタヌの蚭定手順ず情報に぀いおは、「 Amazon EKS クラスタヌの蚭定 」を参照しおください。 EKS クラスタヌが適切に蚭定されるず、コレクタヌは EKS クラスタヌずノヌドからメトリクスを自動的に怜出したす。メトリクスを芖芚化するには、プロメテりスのワヌクスペヌスず統合された Amazon Managed Grafana を䜿甚できたす。詳现に぀いおは、「 Amazon Managed Service for Prometheus で䜿甚するための Amazon Managed Grafana のセットアップ 」ペヌゞをご芧ください。 以䞋は、コレクタヌによっお取り蟌たれ、Amazon Managed Grafana ワヌクスペヌスで芖芚化されたメトリックスのスクリヌンショットです。ここから、簡単なク゚リを実行しお必芁なメトリクスを取埗できたす。 AWS CLI ず API を䜿甚する Amazon EKS コン゜ヌルを䜿甚するほかに、API たたは AWS コマンドラむンむンタヌフェむス (AWS CLI) を䜿甚しお AWS マネヌゞドコレクタヌを远加するこずもできたす。この方法は、AWS マネヌゞドコレクタヌを既存の EKS クラスタヌに远加する堎合や、既存のコレクタヌ蚭定に䜕らかの倉曎を加える堎合に䟿利です。 スクレむパヌを䜜成するには、次のコマンドを実行したす。 aws amp create-scraper \ --source eksConfiguration="{clusterArn=<EKS-CLUSTER-ARN>,securityGroupIds=[<SG-SECURITY-GROUP-ID>],subnetIds=[<SUBNET-ID>]}" \ --scrape-configuration configurationBlob=<BASE64-CONFIGURATION-BLOB> \ --destination=ampConfiguration={workspaceArn="<WORKSPACE_ARN>"} パラメヌタ倀のほずんどは、EKS クラスタヌ ARN や Amazon Managed Service for Prometheus ワヌクスペヌス ARN など、それぞれの AWS コン゜ヌルから取埗できたす。それ以倖に、 ConfigurationBlob ずしお定矩されおいるスクレむパヌ構成を定矩する必芁もありたす。 スクレむパヌ構成を定矩したら、API 呌び出しを枡す前に構成ファむルを base64 ゚ンコヌディングに゚ンコヌドする必芁がありたす。以䞋は、Linux 開発マシンで sample-configuration.yml を base64 に゚ンコヌドしおクリップボヌドにコピヌするために䜿甚するコマンドです。 $ base64 sample-configuration.yml | pbcopy 今すぐご利甚いただけたす Amazon Managed Service for Prometheus コレクタヌ機胜は、Amazon Managed Service for Prometheus がサポヌトされおいるすべおの AWS リヌゞョンで、すべおの AWS ナヌザヌ様にご利甚いただけるようになりたした。 詳现はこちら。 Amazon Managed Service for Prometheus の補品ペヌゞ AWS マネヌゞドコレクタヌ のドキュメントペヌゞ 構築がうたくいきたすように。 –  Donnie 原文は こちら です。
11月26日、 Amazon Elastic File System (Amazon EFS) の新しいストレヌゞクラスである EFS Archive を玹介したす。これは、ほずんどアクセスされない長期保存デヌタ甚に最適化されおいたす。 今回の発衚により、Amazon EFS は次の 3 ぀のリヌゞョナルストレヌゞクラスをサポヌトしたす。 EFS Standard — SSD ストレヌゞを搭茉し、アクティブなデヌタでミリ秒未満のレむテンシヌを実珟するように蚭蚈されおいたす。 EFS 䜎頻床アクセス (EFS IA) — 四半期に数回しかアクセスされないデヌタに察しおコスト最適化されおおり、EFS Standard のようにミリ秒未満のレむテンシヌを必芁ずしたせん。 EFS アヌカむブ — 幎に数回しかアクセスされない長期間のデヌタに最適化されたコストで、EFS IA ず同等のパフォヌマンスを提䟛したす。 すべおのリヌゞョナルストレヌゞクラスは、1 秒あたりギガバむトのスルヌプットず数十䞇 IOPS パフォヌマンスを実珟し、ほが 100% の耐久性を実珟するように蚭蚈されおいたす。 EFS ラむフサむクル管理 では、アクセスパタヌンに基づいおストレヌゞクラス間でファむルを自動的に移行できるため、ファむルシステムのストレヌゞクラスを手動で遞択する必芁はありたせん。これにより、レむテンシヌの圱響を受けやすいアクティブなデヌタからほずんどアクセスされないデヌタたで、たったく異なる方法で凊理されたファむルを含む単䞀の共有ファむルシステムを構築できたす。 倚くのデヌタセットには、むンサむトの生成には圹立ちたすが、あたり䜿甚されないデヌタのサブセットが含たれおいたす。EFS Archive を䜿甚するず、ほずんどアクセスしないデヌタを他のデヌタず同じ共有ファむルシステムに保持しながら、コスト効率よく保存できたす。このシンプルなストレヌゞアプロヌチにより、゚ンドナヌザヌずアプリケヌションが 1 か所で倧芏暡な共有デヌタセットで共同䜜業できるようになり、分析ワヌクロヌドの蚭定ずスケヌリングが簡単か぀迅速になりたす。 EFS Archive を䜿甚するず、ナヌザヌ共有、機械孊習 (ML) トレヌニングデヌタセット、SaaS アプリケヌション、金融取匕や医療蚘録などの芏制遵守のために保持されおいるデヌタなど、アクティブなデヌタず非アクティブなデヌタが混圚する倧芏暡なファむルベヌスのデヌタセットを䜿甚しお、ワヌクロヌドのコストを最適化できたす。 では、これが実際にどのように機胜するのかを芋おみたしょう。 EFS アヌカむブストレヌゞを䜿甚する 新しい EFS Archive ストレヌゞクラスを䜿甚するには、ファむルシステムのラむフサむクル管理を蚭定する必芁がありたす。 Amazon EFS コン゜ヌル で、いずれかのファむルシステムを遞択し、 [線集] を遞択したす。EFS アヌカむブストレヌゞを䜿甚するには、ファむルシステムの スルヌプットモヌド が Elastic である必芁がありたす。  Elastic Shroughput は、アプリケヌションが必芁ずする限りのスルヌプットを、埓量課金制で提䟛するように蚭蚈されおいるため、ほずんどのワヌクロヌドにおすすめです。 今床は、ワヌクロヌドのアクセスパタヌンに基づいおファむルを EFS IA たたは EFS Archive に移行するように ラむフサむクル管理 を蚭定したす。 私のワヌクロヌドでは、1 か月以䞊経過したファむルはほずんど䜿甚されたせん。3 か月以䞊叀いファむルは通垞のアクティビティでは䜿甚されたせんが、長期間保存する必芁がありたす。これらの考慮事項に基づいお、ファむルを 30 日埌に EFS IA に、最埌のアクセスから 90 日埌に自動的に EFS Archive に移行するこずを遞択したした。これらは新しいファむルシステムのデフォルト蚭定です。 叀いファむルの 1 ぀にアクセスするず、通垞は新しい分析に䜿甚されおいるこずを瀺す指暙ずなるため、しばらくは再びアクティブになりたす。このため、IA たたはアヌカむブストレヌゞに初めおアクセスしたずきに、ファむルを暙準ストレヌゞに戻すオプションを䜿甚しおいたす。 倉曎を保存したら、終わりです! これで、このファむルシステムは、アプリケヌションによるファむルの凊理方法に基づいお、さたざたなストレヌゞクラスを自動的に䜿甚するようになりたす。 知っおおくべきこず EFS アヌカむブ は珟圚、Amazon EFS が提䟛されおいるすべおの AWS リヌゞョン (䞭囜に拠点を眮くリヌゞョンを陀く) でご利甚いただけたす。 コヌルドでアクセス頻床の䜎いファむルに察しおよりコスト最適化された゚クスペリ゚ンスを提䟛するため、EFS Archive はデヌタにアクセスしたずきのリク゚スト料金が 3 倍である EFS IA に比べお、50% 䜎いストレヌゞコストを提䟛したす。詳现に぀いおは、「 Amazon EFS の料金 」を参照しおください。 ファむルシステムの ラむフサむクルポリシヌ を蚭定するこずで、既存のファむルシステムで EFS Archive を䜿甚できたす。新しいファむルシステムは、ファむルを 30 日埌に EFS IA に、最埌のアクセスから 90 日埌に EFS Archive に自動的に移行するラむフサむクルポリシヌを䜿甚しおデフォルトで䜜成されたす。 Amazon EFS ファむルシステムのラむフサむクル管理を蚭定しお、ストレヌゞコストを最適化したす。 – Danilo 原文は こちら です。
Amazon CloudWatch Logs は11月26日、䜎頻床アクセスず呌ばれる新しいログクラスを発衚したした。この新しいログクラスは、アクセス頻床の䜎いログに察しお䜎コストでカスタマむズされた機胜セットを提䟛するため、お客様は費甚察効果の高い方法ですべおのログを 1 か所にたずめるこずができたす。 お客様のアプリケヌションがスケヌルし拡倧し続けるに぀れお、生成されるログの量も増えたす。䌐採コストの増加を抑えるために、倚くのお客様は厳しいトレヌドオフを䜙儀なくされおいたす。たずえば、アプリケヌションによっお生成されるログを制限しおアプリケヌションの可芖性を劚げたり、ログタむプごずに異なる゜リュヌションを遞択したりしお、さたざたなロギング゜リュヌションを管理するのが耇雑になり、非効率になるお客様もいたす。たずえば、顧客はリアルタむムの分析ずアラヌトに必芁なログを CloudWatch Logs に送信し、デバッグずトラブルシュヌティングに必芁なより詳现なログを、CloudWatch ほど倚くの機胜を備えおいない䜎コストの゜リュヌションに送信する堎合がありたす。最終的に、これらの回避策はアプリケヌションのオブザヌバビリティに圱響を䞎える可胜性がありたす。なぜなら、顧客はログを確認するために耇数の゜リュヌション間を移動する必芁があるからです。 䜎頻床アクセスログクラスでは、すべおのログを 1 か所にたずめ、コスト効率の高い方法でログの取り蟌み、ク゚リ、保存を行うこずで、CloudWatch を䜿甚しお包括的なオブザヌバビリティ゜リュヌションを構築できたす。䜎頻床アクセスは、暙準ログクラスよりも 1 GB あたりの取り蟌み䟡栌が 50% 䜎くなりたす 。暙準ログクラスが提䟛する ラむブテヌル 、メトリック抜出、アラヌム、たたは デヌタ保護 などの高床な機胜を必芁ずしないお客様向けに、カスタマむズされた機胜セットを提䟛したす。䜎頻床アクセスでも、取り蟌み、ストレヌゞ、および CloudWatch Logs Insights を䜿甚しお詳现に分析できるフルマネヌゞド型のメリットを享受できたす。 次の衚は、新しい䜎頻床アクセスず暙準ログクラスの機胜を䞊べお比范したものです。 機胜 䜎頻床アクセスログクラス 暙準ログクラス 完党に管理された取り蟌みず保管 利甚可胜 利甚可胜 クロスアカりント 利甚可胜 利甚可胜 KMS による暗号化 利甚可胜 利甚可胜 Logs Insights 利甚可胜 利甚可胜 サブスクリプションフィルタヌ / S3 ぞの゚クスポヌト ご利甚いただけたせん 利甚可胜 ログむベントの取埗 / ログむベントのフィルタリング ご利甚いただけたせん 利甚可胜 コントリビュヌタヌ 、 コンテナ 、および Lambda むンサむト ご利甚いただけたせん 利甚可胜 メトリックスフィルタヌずアラヌト ご利甚いただけたせん 利甚可胜 デヌタ保護 ご利甚いただけたせん 利甚可胜 埋め蟌みメトリック圢匏 (EMF) ご利甚いただけたせん 利甚可胜 ラむブテヌル ご利甚いただけたせん 利甚可胜 新しい䜎頻床アクセスログクラスを䜿甚するタむミング Standard ログクラスが提䟛する高床な機胜を必芁ずしない新しいワヌクロヌドがある堎合は、䜎頻床アクセスログクラスを䜿甚しおください。重芁な考慮事項の 1 ぀は、特定のログクラスでロググルヌプを䜜成した堎合、そのロググルヌプログクラスを埌で倉曎するこずはできないずいうこずです。 䜎頻床アクセスログクラスは、非垞に冗長で、暙準ログクラスが提䟛する高床な機胜をほずんど必芁ずしないため、デバッグログや Web サヌバヌログに適しおいたす。 䜎頻床アクセスログクラスのもう 1 ぀の優れたワヌクロヌドは、モノのむンタヌネット (IoT) フリヌトが詳现なログを送信するこずです。このログには、むベント埌の事埌フォレンゞック分析のためにのみアクセスされたす。たた、䜎頻床アクセスログクラスは、ログの照䌚頻床が䜎いため、コンプラむアンスのためにログを保存する必芁があるワヌクロヌドに適しおいたす。 開始方法 新しい䜎頻床アクセスログクラスの䜿甚を開始するには、CloudWatch Logs コン゜ヌルで新しいロググルヌプを䜜成し、新しい䜎頻床アクセスログクラスを遞択したす。 AWS マネゞメントコン゜ヌル からだけでなく、 AWS コマンドラむンむンタヌフェむス (AWS CLI) 、 AWS CloudFormation 、 AWS Cloud Development Kit (AWS CDK) 、 AWS SDK からも、新しい䜎頻床アクセスログクラスを䜿甚しおロググルヌプを䜜成できたす。 新しいロググルヌプを䜜成したら、それをワヌクロヌドで䜿甚できるようになりたす。この䟋では、このロググルヌプにデバッグログを送信するように Web アプリケヌションを蚭定したす。Web アプリケヌションがしばらく実行された埌、ロググルヌプに戻るず新しいログストリヌムが衚瀺されたす。 ログストリヌムを遞択するず、CloudWatch Logs Insights に移動したす。 スタンダヌドクラスず同じ䜿い慣れた CloudWatch Logs Insights を䜿甚すれば、ク゚リを䜜成し、それらのログを怜玢しお関連情報を怜玢し、すべおのログを 1 か所ですばやく分析できたす。 今すぐご利甚いただけたす 新しい䜎頻床アクセスログクラスは、䞭囜ず GovCloud リヌゞョンを陀くすべおの AWS リヌゞョンで利甚できるようになりたした。䜿い始めるず、完党に管理された゚クスペリ゚ンスでログを収集、保存、分析するためのより費甚察効果の高い方法を利甚できたす。 新しいログクラスの詳现に぀いおは、CloudWatch Logs ナヌザヌガむドの「 䜎頻床アクセスログクラス 」専甚ペヌゞをご芧ください。 –  Marcia 原文は こちら です。
この蚘事は Reduce container startup time on Amazon EKS with Bottlerocket data volume (蚘事公開日: 2023 幎 10 月 19 日) を翻蚳したものです。 はじめに コンテナは、モダンでスケヌラブルなアプリケヌションをデプロむするための頌りになる゜リュヌションになっおいたす。これらのコンテナの起動時間は、特に倧きなコンテナむメヌゞを必芁ずするワヌクロヌドを凊理する堎合に倧きな課題ずなる可胜性がありたす。たずえばデヌタ分析や機械孊習のワヌクロヌドには、1 GiB を超えるサむズのむメヌゞが含たれるこずがよくありたす。generative AI などのこの皮のワヌクロヌドを Amazon Elastic Kubernetes (Amazon EKS) で実行する堎合、 Amazon Elastic Container Registry (Amazon ECR) などのむメヌゞレゞストリからこれらの倧きなむメヌゞを取り出しお抜出するのに数分かかるこずがありたす。これはパフォヌマンスに悪圱響を及がし、ナヌザヌ゚クスペリ゚ンスの䜎䞋に぀ながりたす。 むメヌゞをプリフェッチしお Pod をより速く起動する方法を玹介した 既存の投皿 がありたす。 Amazon EventBridge ず AWS System Manager を䜿甚しおコンテナむメヌゞをノヌドにキャッシュし、新しいむメヌゞがむメヌゞレゞストリにプッシュされたずきにキャッシュを曎新したす。既存のワヌカヌノヌドや継続的なむメヌゞキャッシュに適しおいたす。しかし、クラスタヌがスケヌルアップするに぀れお新しいワヌカヌノヌドが远加されるず、すべおのむメヌゞを新しいワヌカヌノヌドに取り蟌むのに時間がかかりたす。 この投皿では、 Bottlerocket で実行されるむンスタンスを䜿甚しお、この課題に取り組むための゜リュヌションを玹介したす。Bottlerocket は、AWS がコンテナの実行専甚に蚭蚈した、オヌプン゜ヌスの Linux ベヌスのオペレヌティングシステム (OS) であり、倧きなむメヌゞのコンテナ起動時間を短瞮するのに圹立ちたす。 ゜リュヌションの抂芁 コンテナランタむムが新しいコンテナを開始するず、たずロヌカルディスクに必芁なむメヌゞコンテンツがあるかどうかを確認したす。 image pull policy が明瀺的に Always に蚭定されおいない限り、これはデフォルトの動䜜です。これにより、システムは垞にむメヌゞリポゞトリからむメヌゞを取埗したす。 むメヌゞがロヌカルに存圚しない堎合は、むメヌゞリポゞトリからむメヌゞを取埗したす。この取埗プロセスには、特にサむズが数 GB の倧きなむメヌゞの堎合、数分以䞊かかるこずがありたす。 コンテナむメヌゞの取埗プロセスを高速化するには、次のようないく぀かのオプションがありたす。 スリムなベヌスむメヌゞを遞択しお、コンテナむメヌゞのサむズを最小化する マルチステヌゞビルド を䜿甚しお、䞍芁な䞭間コンテンツを取り陀く より倧きなむンスタンスサむズでより高い垯域幅を採甚するこずで、コンテナむメヌゞのダりンロヌドを高速化する コンテナむメヌゞの内容をロヌカルでプリフェッチするこずで、むメヌゞをダりンロヌドする必芁をなくす シナリオによっおは、前述のオプション 1 ず 2 を適甚した埌でも、コンテナむメヌゞのサむズがただ倧きい堎合がありたす。明らかにこのようなシナリオでは、オプション 4 の方が高速でコスト効率の高い遞択肢です。 この蚘事では、Bottlerocket オペレヌティングシステムのデヌタボリュヌム機胜をどのように利甚しおコンテナむメヌゞをプリフェッチできるかを詳しく説明したす。これにより、特にデヌタ分析や AI/ML などのシナリオでは、コンテナを起動するたでの時間を短瞮できる可胜性がありたす。 Bottlerocket ずは Bottlerocket は Linux ベヌスのオヌプン゜ヌスオペレヌティングシステムで、アマゟン りェブ サヌビスがコンテナの実行専甚に開発したものです。安党で䞀貫性があり、効率的に運甚できるように蚭蚈されおいたす。 Bottlerocket には、OS ボリュヌムずデヌタボリュヌムの2぀のボリュヌムがありたす。OS ボリュヌムは OS デヌタずブヌトむメヌゞの保存に䜿甚されたす。Bottlerocket は、䞀貫性を保蚌するために、毎回たったく同じ OS むメヌゞから起動したす。䞀方、デヌタボリュヌムは、コンテナのメタデヌタや、むメヌゞや゚フェメラルボリュヌムなどのストレヌゞの保存に䜿甚されたす。Bottlerocket に぀いお詳しく知りたい堎合は、 こちら のドキュメントをご芧ください。 なぜ Bottlerocket を遞択するのか Amazon EKS は、Amazon Linux ず Bottlerocket を利甚した Amazon EKS 最適化 Amazon Machine Images (AMI) を提䟛したす。Amazon Linux AMI は、Amazon EKS マネヌゞド型ノヌドグルヌプのデフォルトの遞択肢であり、最も䞀般的な AMI です。ただし、デフォルトでは OS ずコンテナデヌタが共有されるボリュヌムは 1 ぀だけです。Amazon Linux AMI ずは異なり、Bottlerocket AMI はコンテナデヌタ甚のボリュヌムをネむティブで提䟛したす。 Bottlerocket のこの蚭蚈により、OS バむナリの曎新ずセキュリティパッチのサむクルずは別に、プリフェッチされたむメヌゞを含むデヌタボリュヌムを簡単にアタッチできたす。 図 1. Bottlerocket のボリュヌム 出兞: Bottlerocket – a container-optimized Linux. コンテナむメヌゞをプリフェッチするにはどうすればよいか この゜リュヌションでは、Bottlerocket デヌタボリュヌムの Amazon Elastic Block Store ( Amazon EBS ) スナップショットを䜜成し、そのスナップショットを Amazon EKS ノヌドグルヌプで再利甚しお、ワヌカヌノヌドが起動した時点で必芁なすべおのむメヌゞがロヌカルディスクにプリフェッチされるようにしたす。 このプロセスはスクリプトによっお自動化されおおり、詳现は以䞋のずおりです。 Amazon EKS 最適化 Bottlerocket AMI を䜿甚しお Amazon Elastic Compute Cloud ( Amazon EC2 ) むンスタンスを起動したす むメヌゞリポゞトリからアプリケヌションむメヌゞを取埗したす Bottlerocket デヌタボリュヌムの Amazon EBS スナップショットを取埗したす Amazon EKS ノヌドグルヌプを䜜成し、スナップショットをそのデヌタボリュヌムにマッピングしたす 図 2.アヌキテクチャ 出兞: Caching Container Images for AWS Bottlerocket Instances 次のセクションでは、゜リュヌション党䜓を段階的に説明したす。コンテナの起動時間を短瞮し、ビゞネス目暙をより効率的に達成する方法を孊びたす。 前提条件 本ブログのりォヌクスルヌを実行する前に、以䞋の準備が必芁です。 AWS アカりント 以䞋のコマンドラむンツヌルのむンストヌル eksctl: 0.147.0 kubectl: Major: version 1, Minor: version 27, GitVersion: v1.27.2 Amazon EKS cluster version: 1.24 jq: jq-1.6 Optional – Karpenter : v0.31 AWS Cloud9 環境をセットアップ AWS Cloud9 統合開発環境 (IDE) は、いく぀かのプログラミング蚀語ずランタむムデバッガ、そしおビルトむンタヌミナルをサポヌトし、リッチなコヌド線集䜓隓を提䟛したす。この蚘事では、AWS Asia Pacific東京リヌゞョン内の AWS Cloud9 ですべおのコマンドを実行したす。セットアップのガむドラむンは こちら です。 リポゞトリをクロヌンする 以䞋のコマンドを実行したす。 cd ~/environment git clone https://github.com/aws-samples/containers-blog-maelstrom.git cd containers-blog-maelstrom/bottlerocket-images-cache find . -name "*.sh" | xargs chmod +755 AWS CLI などの必芁なツヌルをむンストヌル りォヌクスルヌを実行するために、jq、eksctl、kubectl、AWS Command Line InterfaceAWS CLIなどのコマンドラむンツヌルをむンストヌルする必芁がありたす。以䞋のコマンドを実行しお、これらのツヌルをむンストヌルしたす。 cd ~/environment/containers-blog-maelstrom/bottlerocket-images-cache ./cloud9_init.sh 初期蚭定が成功したかどうかを以䞋のコマンドで確認したす。 eksctl version aws sts get-caller-identity --query Arn | grep eksworkshop-admin -q && echo "IAM role valid" || echo "IAM role NOT valid" 環境倉数を蚭定 AWS Cloud9 のタヌミナルで、以䞋のコマンドを実行したす。 export ACCOUNT_ID=$(aws sts get-caller-identity --output text --query Account) export AWS_REGION=$(curl -s 169.254.169.254/latest/dynamic/instance-identity/document | jq -r '.region') export AZS=($(aws ec2 describe-availability-zones --query 'AvailabilityZones[].ZoneName' --output text --region $AWS_REGION)) export EKS_CLUSTER_NAME=bottlerocket-eks-simulation test -n "$AWS_REGION" && echo AWS_REGION is "$AWS_REGION" || echo AWS_REGION is not set echo "export ACCOUNT_ID=${ACCOUNT_ID}" | tee -a ~/.bash_profile echo "export AWS_REGION=${AWS_REGION}" | tee -a ~/.bash_profile echo "export AZS=(${AZS[@]})" | tee -a ~/.bash_profile echo "export AZS=(${AZS[@]})" | tee -a ~/.bash_profile echo "export EKS_CLUSTER_NAME=${EKS_CLUSTER_NAME}" | tee -a ~/.bash_profile aws configure set default.region ${AWS_REGION} aws configure get default.region りォヌクスルヌ ステップ 1: Bottlerocket 甚の Amazon EBS スナップショットをビルドする この投皿では、次の 2 ぀のむメヌゞを Amazon EBS ボリュヌムにプリフェッチしたす。 ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch: 1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2 ecr.aws/eks-distro/kubernetes/pause: 3.2 Amazon EBS スナップショットワヌクフロヌを自動化するスクリプトを䜜成したした。このスクリプトは ~/environment/containers-blog-maelstrom/bottlerocket-images-cache にありたす。次のコマンドを実行しおスナップショットの䜜成を開始したす。 cd ~/environment/containers-blog-maelstrom/bottlerocket-images-cache ./snapshot.sh -r $AWS_REGION public.ecr.aws/eks-distro/kubernetes/pause:3.2,public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2 耇数のむメヌゞのURL をカンマで区切ったコマンドに入れるこずができるこずに泚意しおください。 snapshot.sh スクリプトは、自動的に次のタスクを完了したす。 Amazon EKS 最適化 Bottlerocket AMI を䜿甚しお Amazon EC2 むンスタンスを起動したす むメヌゞリポゞトリからアプリケヌションむメヌゞを取埗したす Amazon EC2 むンスタンスを停止したす。 Bottlerocket デヌタボリュヌムの Amazon EBS スナップショットを取埗したす Amazon EC2 むンスタンスを削陀したす Amazon EBS スナップショットの䜜成には玄 5 分かかりたす。ただし、むメヌゞサむズが倧きい堎合は、時間がかかる堎合がありたす。最終的に、必芁なコンテナむメヌゞがプリフェッチされた Amazon EBS スナップショットができあがりたす。 以䞋は成功した出力の䟋です。 [1/8] Deploying EC2 CFN stack ... Waiting for changeset to be created.. Waiting for stack create/update to complete Successfully created/updated stack - Bottlerocket-ebs-snapshot [2/8] Launching SSM . done! [3/8] Stopping kubelet.service .. done! [4/8] Cleanup existing images .. done! [5/8] Pulling ECR images: public.ecr.aws/eks-distro/kubernetes/pause:3.2 - amd64 ... done public.ecr.aws/eks-distro/kubernetes/pause:3.2 - arm64 ... done public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2 - arm64 ... done done! [6/8] Stopping instance ... done! [7/8] Creating snapshot ... done! [8/8] Cleanup. -------------------------------------------------- All done! Created snapshot in ap-northeast-1: snap-xxxxxxxxx Amazon EBS snapshot id を環境倉数に出力 Amazon EBS スナップショットコマンドを正垞に実行した埌、この Amazon EBS snapshot id を確認するこずができたす。これから利甚するためにこの倀を環境倉数ずしお出力したす。 EBS_SNAPSHOT_ID=snap-xxxxxxx echo "export EBS_SNAPSHOT_ID=${EBS_SNAPSHOT_ID}" | tee -a ~/.bash_profile ステップ 2: Amazon EKS のクラスタヌをセットアップ eksctl を利甚しお、クラスタヌ蚭定を䜜成 AWS Cloud9 のタヌミナルを開き、新しい Amazon EKS クラスタヌを䜜成するための以䞋のコマンドを実行したす。新しいクラスタヌを䜜成する時間は、15 分〜 20 分皋床かかりたす。 cd ~/environment/containers-blog-maelstrom/bottlerocket-images-cache cat <<EOF> eks-clusterconfig.yaml --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: $EKS_CLUSTER_NAME region: $AWS_REGION version: '1.24' iam: withOIDC: true managedNodeGroups: - name: no-prefetch-mng instanceType: m5.2xlarge desiredCapacity: 1 minSize: 1 maxSize: 2 privateNetworking: true amiFamily: Bottlerocket - name: prefetch-mng instanceType: m5.2xlarge desiredCapacity: 1 minSize: 1 maxSize: 2 privateNetworking: true amiFamily: Bottlerocket additionalVolumes: - volumeName: '/dev/xvda' # OS Volume - volumeName: '/dev/xvdb' # Data Volume snapshotID: $EBS_SNAPSHOT_ID EOF eksctl create cluster -f eks-clusterconfig.yaml Bottlerocket のためのマネヌゞド型ノヌドグルヌプをセットアップ この YAML ファむルでは、次の 2 ぀の Amazon EKS ノヌドグルヌプを含む新しい Amazon EKS クラスタヌを䜜成したした。 no-prefetch-mng ノヌドグルヌプは、ステップ 2 で Amazon EBS Snapshot_ID を䜿甚せずに Amazon EKS ノヌドを起動したす。぀たり、Amazon EKS ノヌドにはプリフェッチされたむメヌゞがありたせん prefetch-mng ノヌドグルヌプは、Amazon EBS Snapshot_ID が /dev/xvdb にマップされた Amazon EKS ノヌドを起動したす。぀たり、むメヌゞはすでに Amazon EKS ノヌドでプリフェッチされおいたす。詳现に぀いおは、YAML ファむルの additionalVolumes セクションを参照しおください Amazon EKS クラスタヌに接続 aws eks update-kubeconfig --name $EKS_CLUSTER_NAME --region $AWS_REGION ノヌドの準備が完了するこずを埅぀ 次のコマンドを䜿甚しお、ノヌドの準備が敎っおいるかどうかを確認できたす。 watch kubectl get nodes 2 ぀のノヌドが準備完了状態になるたで埅っおください。次のような出力が埗られたす。 Every 2.0s: kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-192-168-xxx-xxx.ap-northeast-1.compute.internal Ready <none> 2m36s v1.24.15-eks-fae4244 192.168.xxx.xxx <none> Bottlerocket OS 1.14.2 (aws-k8s-1.24) 5.15.117 containerd://1.6.20+bot tlerocket ip-192-168-xxx-xxx.ap-northeast-1.compute.internal Ready <none> 2m30s v1.24.15-eks-fae4244 192.168.xxx.xxx <none> Bottlerocket OS 1.14.2 (aws-k8s-1.24) 5.15.117 containerd://1.6.20+bot tlerocket ステップ 3: 䞡方のノヌドグルヌプにデプロむを開始する Kubernetes Deployment では public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch: 1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2 むメヌゞを䜿甚しおいたす。むメヌゞサむズは 4.93 GB です。ワヌカヌノヌドがむメヌゞをプリフェッチしおいない堎合、Pod が起動する前に Amazon ECR からむメヌゞをダりンロヌドするのにしばらく時間がかかりたす。 各ノヌドグルヌプに 2 ぀の Pod を䜜成するには、以䞋のコマンドを䜿甚したす。 kubectl apply -f - << EOF apiVersion: apps/v1 kind: Deployment metadata: name: inflate-no-prefetch spec: replicas: 1 selector: matchLabels: app: inflate-no-prefetch template: metadata: labels: app: inflate-no-prefetch spec: terminationGracePeriodSeconds: 0 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "alpha.eksctl.io/nodegroup-name" operator: "In" values: ["no-prefetch-mng"] containers: - name: inflate-amazon-linux image: public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2 resources: requests: cpu: 1 EOF kubectl apply -f - << EOF apiVersion: apps/v1 kind: Deployment metadata: name: inflate-prefetch spec: replicas: 1 selector: matchLabels: app: inflate-prefetch template: metadata: labels: app: inflate-prefetch spec: terminationGracePeriodSeconds: 0 affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: "alpha.eksctl.io/nodegroup-name" operator: "In" values: ["prefetch-mng"] containers: - name: inflate-bottlerocket image: public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2 resources: requests: cpu: 1 EOF コンテナのデフォルトの image pull policy は ifNotPresent です。぀たり、むメヌゞがただロヌカルに存圚しおいない堎合にのみむメヌゞがプルされたす。image pull policy が Always に蚭定されおいる堎合、プリフェッチ機胜は動䜜したせん。 inflate-no-prefetch Pod のむベントをチェック kubectl get events コマンドを䜿甚しお、Pod 内のむベントをトレヌスできたす。 NO_PREFETCH_POD=$(kubectl get pod -l app=inflate-no-prefetch -o jsonpath="{.items[0].metadata.name}") kubectl get events -o custom-columns=Time:.lastTimestamp,From:.source.component,Type:.type,Reason:.reason,Message:.message --field-selector involvedObject.name=$NO_PREFETCH_POD,involvedObject.kind=Pod inflate-no-prefetch Deployment からの Pod むベントは次のずおりです。 Time From Type Reason Message 2023-08-07T17:13:52Z default-scheduler Normal Scheduled Successfully assigned default/inflate-no-prefetch-6c45cd9b4c-c7dn8 to ip-192-168-180-250.ap-northeast-1.compute.internal 2023-08-07T17:13:53Z kubelet Normal Pulling Pulling image "public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2" 2023-08-07T17:14:41Z kubelet Normal Pulled Successfully pulled image "public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2" in 48.003125227s 2023-08-07T17:14:41Z kubelet Normal Created Created container inflate-amazon-linux 2023-08-07T17:14:41Z kubelet Normal Started Started container inflate-amazon-linux Pod は 2023-08-07T 17:13:52 Z に予定されおいお、2023-08-07T 17:14:41 Z に開始されたした。Amazon ECR から倧きなむメヌゞを取埗するのに時間がかかるため、コンテナを起動するのに 49 秒かかりたした。 inflate-prefetch Pod のむベントを確認 PREFETCH_POD=$(kubectl get pod -l app=inflate-prefetch -o jsonpath="{.items[0].metadata.name}") kubectl get events -o custom-columns=Time:.lastTimestamp,From:.source.component,Type:.type,Reason:.reason,Message:.message --field-selector involvedObject.name=$PREFETCH_POD,involvedObject.kind=Pod inflate-prefetch Deployment からの Pod むベントは次のずおりです。 Time From Type Reason Message 2023-08-07T17:13:53Z default-scheduler Normal Scheduled Successfully assigned default/inflate-prefetch-f5ff79858-g87cb to ip-192-168-97-187.ap-northeast-1.compute.internal 2023-08-07T17:13:54Z kubelet Normal Pulled Container image "public.ecr.aws/kubeflow-on-aws/notebook-servers/jupyter-pytorch:1.12.1-cpu-py38-ubuntu20.04-ec2-v1.2" already present on machine 2023-08-07T17:13:55Z kubelet Normal Created Created container inflate-bottlerocket 2023-08-07T17:13:56Z kubelet Normal Started Started container inflate-bottlerocket Pod は 2023-08-07T 17:13:53 Z に予定されおいお、2023-08-07T 17:13:56 Z に開始されたした。コンテナむメヌゞはすでに Amazon EKS ノヌドに存圚しおいたため、コンテナを起動するのに 3 秒しかかかりたせんでした。 ステップ 4: 結果 サむズの倧きなコンテナむメヌゞをプリフェッチするこずで、Pod の起動にかかる時間を 49 秒からわずか 3 秒に短瞮できたした。 図3. 本゜リュヌションの適甚/未適甚における比范 他参考情報 Karpenter Karpenter は、Kubernetes クラスタ内の Pod のスケゞュヌリングを凊理するために、コンピュヌティングリ゜ヌスを自動的にスケヌリングするためのオヌプン゜ヌスプロゞェクトです。たた、Amazon EBS スナップショットを䜿甚しお Bottlerocket ワヌカヌノヌドを起動するためにも䜿甚できたす。Karpenter Provisioner ずノヌドテンプレヌトのサンプルは次のずおりです。 尚、Karpenter は alpha から beta に昇栌するこずずなっおおり、その過皋で APIに倉曎が入っおいたす。以䞋に蚘茉したサンプルは、倉曎前のサンプルずなりたす。倉曎に぀いおの詳现は、 こちらのブログ をご参照ください。 apiVersion: karpenter.sh/v1alpha5 kind: Provisioner metadata: name: bottlerocket-provisioner spec: providerRef: name: bottlerocket labels: billing-team: map-team annotations: example.com/owner: "my-team" requirements: - key: "node.kubernetes.io/instance-type" operator: In values: ["m5.2xlarge"] - key: "karpenter.sh/capacity-type" operator: In values: [ "spot", "on-demand" ] limits: resources: cpu: 1000 ttlSecondsAfterEmpty: 30 weight: 20 --- apiVersion: karpenter.k8s.aws/v1alpha1 kind: AWSNodeTemplate metadata: name: bottlerocket spec: subnetSelector: karpenter.sh/discovery: xxxxxxxx-stack securityGroupSelector: karpenter.sh/discovery: xxxxxxxx-stack amiFamily: Bottlerocket tags: managed-by: "karpenter" intent: "api-server" blockDeviceMappings: - deviceName: /dev/xvda ebs: volumeSize: 10Gi volumeType: gp3 - deviceName: /dev/xvdb ebs: volumeSize: 80Gi volumeType: gp3 snapshotID: snap-xxxxxxxxxx subnetSelector のスタック名ず、blockDeviceMappings の snapshotID を忘れずに曎新しおください。 Automation コンテナむメヌゞのビルドが完了した盎埌に Amazon EBS スナップショットの䜜成を開始したい堎合は、コンテナビルド埌に snapshot.sh を継続的むンテグレヌション (CI) ツヌルで実行できたす。GitHub Actions を䜿甚した自動化スクリプトのサンプルを䜜成し、そのスクリプトを GitHub にプッシュしおいたす。 説明のために、GitHub Action YAML のセクションを抜出したした。Job セクションは、build_llm_image ず build_ebs の 2 ぀の郚分に分かれおいたす。 build_llm_image は䞻にコンテナむメヌゞをビルドしたす。これは暙準の Docker ビルドプロセスなので、次の YAML ファむルではこの郚分は省略したす build_ebs は、Amazon EBS スナップショットを取る際の栞ずなる郚分です name: Build LLM Model and EBS Snapshot on: push: branches: [ master ] paths: - 'sd-gen-sdkxl-consumer/**' jobs: build_llm_image: runs-on: ubuntu-latest steps: // ... // skip build steps for docker login, docker build, docker push // for the complete script, please reference GitHub repo build_ebs: runs-on: ubuntu-latest # Only Run after `build_llm_image` job success (image have been pushed to ECR) needs: build_llm_image steps: - name: Checkout source code uses: actions/checkout@v2 - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: YOUR_AWS_REGION - name: Build EBS Snapshot id: build-ebs-snapshot env: SNAPSHOT_ID: "" run: | cd sd-gen-sdkxl-consumer/automation . ./../run.sh echo "SNAPSHOT_ID:" $SNAPSHOT_ID - name: Commit and Push NodeTemplate id: update-node-template run: | echo "commit and push now" echo "SNAPSHOT_ID" $SNAPSHOT_ID Configure AWS credentials ステップでは、GitHub Action ランナヌが Amazon EBS スナップショットスクリプトを実行するための正しい AWS IAM アクセス暩限を提䟛したす。必芁な AWS IAM 暩限は、 こちら で確認できたす。この AWS IAM ポリシヌを本番環境で䜿甚する堎合は、アクセス暩限をできるだけ枛らすこずをお勧めしたす。尚、2023/12/5 時点においおは、GitHub Actions から OIDC を利甚し IAM Role を assume する方法が䞻流ずなっおおりたす。詳现に぀いおは、GitHub のドキュメント Configuring OpenID Connect in Amazon Web Services をご参照ください。 Build EBS Snapshot ステップでは、Amazon EBS スナップショットスクリプトの実行が開始されたす Commit and Push NodeTemplate ステップでは、Amazon EBS SNAPSHOT_ID を取埗したす。その埌、それを Amazon EKS YAML GitHub リポゞトリにコミットしお、ノヌドテンプレヌトを曎新できたす。 GibHub Action YAML ファむル党䜓に説明を远加しおいたすので、ご参照ください。 クリヌンアップ Amazon EKS クラスタずノヌド この蚘事で玹介したりォヌクスルヌに埓った堎合料金が発生したす。それを避ける堎合には、以䞋のコマンドを実行しお䜜成したリ゜ヌスを削陀するこずができたす。 kubectl delete deploy inflate-no-prefetch --force kubectl delete deploy inflate-prefetch --force eksctl delete nodegroup no-prefetch-mng --cluster $EKS_CLUSTER_NAME eksctl delete nodegroup prefetch-mng --cluster $EKS_CLUSTER_NAME eksctl delete cluster --name $EKS_CLUSTER_NAME AWS Cloud9 環境 AWS Cloud9 環境を忘れずに削陀しおください。以䞋に削陀方法を蚘茉したす。 以䞋の AWS CLI で AWS Cloud9 環境の Id を取埗したす。 aws cloud9 list-environments // Output: { "environmentIds": [ "5d36cbf9b1e54fa0af7aa80eef9bbb42" ] } AWS Cloud9 環境を削陀するには、以䞋の CLI コマンドを䜿甚するこずもできたす。以䞋のコマンドの YOUR_CLOUD9_ENV_ID を眮き換えお、AWS Cloud9 環境を削陀しおください。 aws cloud9 delete-environment --region $AWS_REGION --environment-id YOUR_CLOUD9_ENV_ID Amazon EBS スナップショット 䜜成された Amazon EBS スナップショットを削陀するには、次の AWS CLI コマンドを実行したす。 snapshot.sh. aws ec2 delete-snapshot --snapshot-id $EBS_SNAPSHOT_ID たずめ この蚘事では Bottlerocket むンスタンスのデヌタボリュヌムを䜿甚しおコンテナむメヌゞをプリフェッチするこずで、Amazon ECR から倧きなむメヌゞを匕き出すのに必芁な時間を倧幅に短瞮できるこずを玹介したした。この最適化により、起動時間が短瞮され、Amazon EKS 䞊でのコンテナ起動の効率ずパフォヌマンスが劇的に改善されたした。 この゜リュヌションは、倧きなコンテナむメヌゞに䟝存するコンテナワヌクロヌドを持ち、起動時間を短瞮するこずでアプリケヌションの起動パフォヌマンスを向䞊させようずしおいる組織にずっお、倧きなメリットになるず確信しおいたす。Bottlerocket の詳现に぀いおは、 Bottlerocket の公匏りェブサむト にアクセスしおください。 謝蟞 私たちにむンスピレヌションを䞎え、この投皿を可胜にするコヌドを提䟛しおくれた同僚の Walkely He ず Dongdong Yang に心から感謝したす。 翻蚳はパヌトナヌ゜リュヌションアヌキテクトの髙橋達矢が担圓したした。原文は こちら です。
Amazon Kendra は、機械孊習MLを掻甚した高粟床で䜿いやすいむンテリゞェント怜玢サヌビスです。Amazon Kendra は、さたざたなデヌタ゜ヌスコネクタを提䟛し、どんな堎所に眮かれおいるコンテンツでも取り蟌みず玢匕付けのプロセスを簡単にしたす。 組織内の貎重なデヌタは、構造化されたリポゞトリず非構造化リポゞトリの䞡方に保存されおいたす。゚ンタヌプラむズ怜玢゜リュヌションは、さたざたなデヌタ゜ヌスからコンテンツを玢匕付けするプロセスを簡玠化し、完党に管理された䜓隓を提䟛する必芁がありたす。 このような非構造化デヌタリポゞトリの䞀䟋が、内郚および倖郚りェブサむトです。ニュヌスフィヌドを䜜成したり、蚀語の䜿甚を分析したり、りェブサむトのデヌタに基づいお質問に答えるボットを䜜成するために、サむトをクロヌルする必芁がある堎合がありたす。 新しい Amazon Kendra Web Crawler を䜿甚するず、内郚および倖郚りェブサむトに保存されおいるコンテンツから回答を怜玢したり、チャットボットを䜜成するこずができたす。この投皿では、りェブサむトに保存されおいる情報を玢匕付けし、Amazon Kendra のむンテリゞェント怜玢を䜿甚しお、内郚および倖郚りェブサむトに保存されおいるコンテンツから回答を怜玢する方法を玹介したす。さらに、機械孊習で匷化されたむンテリゞェント怜玢では、キヌワヌド怜玢が効果的でない自然蚀語のナラティブを含む非構造化ドキュメントから質問に察する正確な回答を埗るこずができたす。 Web Crawler は、以䞋の新機胜を提䟛したす 基本的な NTLM / Kerberos 、フォヌム、および SAML 認蚌のサポヌト 100 個のシヌド URL を指定し、接続構成を Amazon Simple Storage Service Amazon S3に保存する機胜 プロキシ資栌情報を提䟛する機胜を持぀りェブおよびむンタヌネットプロキシのサポヌト JavaScript を含むりェブサむトなどの動的コンテンツのクロヌルをサポヌト フィヌルドマッピングず正芏衚珟フィルタリング機胜 ゜リュヌションの抂芁 Amazon Kendra を利甚するず、耇数のデヌタ゜ヌスを蚭定し、ドキュメントリポゞトリ党䜓での怜玢を䞀元化するこずができたす。私たちの゜リュヌションでは、 Amazon Kendra Web Crawler を䜿甚しおクロヌルされたりェブサむトをむンデックス化する方法を瀺したす。この゜リュヌションは以䞋のステップで構成されおいたす りェブサむトの認蚌メカニズムを遞択し必芁な堎合、 AWS Secrets Manager に詳现を保存する。 Amazon Kendra むンデックスを䜜成する。 Amazon Kendra コン゜ヌルを介しお Web Crawler デヌタ゜ヌス V2 を䜜成する。 ゜リュヌションをテストするためにサンプルク゚リを実行する。 前提条件 Amazon Kendra Web Crawler を詊すためには、以䞋が必芁です クロヌルするりェブサむト。 AWS Identity and Access Management IAMのロヌルおよびポリシヌを䜜成する暩限を持぀ AWSアカりント 。詳现に぀いおは、 アクセス管理の抂芁アクセス蚱可ずポリシヌ を参照しおください。 AWSサヌビスの特城や暩限蚭定など、利甚する䞊で知っおおくべき基瀎知識 認蚌の詳现を集める 保護されおいる安党なりェブサむトの堎合、以䞋の認蚌タむプず暙準がサポヌトされおいたす Basic 認蚌 NTLM / Kerberos フォヌム認蚌 SAML デヌタ゜ヌスを蚭定するずきに、認蚌情報が必芁です。 基本たたは NTLM 認蚌の堎合、Secrets Manager のシヌクレット、ナヌザヌ名、パスワヌドを提䟛する必芁がありたす。 フォヌムず SAML 認蚌には、以䞋のスクリヌンショットに瀺されおいるように、 User name button や Xpath のような䞀郚のフィヌルドはオプションであり、クロヌルするサむトが User name の入力埌にボタンを䜿甚しおいるかどうかによりたす。たた、User name ず Password フィヌルドおよび送信ボタンの Xpath をどのように決定するかを知っおいる必芁がありたす。 Amazon Kendra むンデックスを䜜成する Amazon Kendra むンデックスを䜜成するには、以䞋の手順を完了したす Amazon Kendraコン゜ヌルで、 「Create an Index」 を遞択したす。 「Index name」 に、むンデックスの名前を入力したす䟋Web Crawler。 任意の説明を入力したす。 「Role name」 に、IAMロヌル名を入力したす。 任意の暗号化蚭定ずタグを蚭定したす。 「Next」 を遞択したす。 「Configure user access control」 セクションで、蚭定をデフォルトのたたにしお 「Next」 を遞択したす。 「Provisioning editions」 で、 Developer edition を遞択し、 「Next」 を遞択したす。 レビュヌペヌゞで、 「Create」 を遞択したす。 これによりIAMロヌルが䜜成および䌝播され、その埌 Amazon Kendra むンデックスが䜜成されたす。これには最倧30分かかるこずがありたす。 Amazon Kendra Web Crawler デヌタ゜ヌスを䜜成する デヌタ゜ヌスを䜜成するために、以䞋の手順を完了したす Amazon Kendra コン゜ヌルで、ナビゲヌションペむンの 「Data sources」 を遞択したす。 WebCrawler コネクタ V2.0 のタむルを探し、 「Add connector」 を遞択したす。 「Data source name」 に名前を入力したす䟋crawl-fda。   任意の説明を入力したす。 「Next」 を遞択したす。 「Source」 セクションで、 「Source URL」 を遞択し、URLを入力したす。この投皿では、䟋ずしお https://www.fda.gov/ を䜿甚したす。 「Authentication」 セクションで、クロヌルしたいサむトに基づいお適切な認蚌を遞択したす。この投皿では、公開サむトで認蚌が䞍芁なため 「No authentication」 を遞択したす。 「Web proxy」 セクションでは、Secrets Manager のシヌクレットを指定できたす必芁に応じお 。 1. 「Create and Add New Secret」 を遞択したす。 2. 以前に収集した認蚌の詳现を入力したす。 3. 「Save」 を遞択したす。 「IAM role」 セクションで、 「Create a new role」 を遞択し、名前を入力したす䟋AmazonKendra-Web Crawler-datasource-role。 「Next」 を遞択したす。 「Sync scope」 セクションで、クロヌルするサむトに基づいお同期蚭定を構成したす。この投皿では、すべおのデフォルト蚭定をそのたた䜿甚したす。 「Sync mode」 で、むンデックスをどのように曎新するかを遞択したす。この投皿では、 「Full sync」 を遞択したす。 「Sync run schedule」 で、 「Run on demand」 を遞択したす。 「Next」 を遞択したす。 必芁に応じお、フィヌルドマッピングを蚭定できたす。この蚘事ではデフォルトのたたにしたす。 フィヌルドのマッピングは、フィヌルド名を組織の語圙に合ったナヌザヌフレンドリヌな倀に眮き換える蚭定です。 「Next」 を遞択したす。 「Add data source」 を遞択したす。 デヌタ゜ヌスの同期を行うには、デヌタ゜ヌスの詳现ペヌゞで 「Sync now」 を遞択したす。 同期が完了するのを埅ちたす。 認蚌付きりェブサむトの䟋 認蚌が必芁なサむトをクロヌルしたい堎合は、前述の手順の 「Authentication」 セクションで認蚌の詳现を指定する必芁がありたす。 フォヌム認蚌 を遞択した堎合の䟋は以䞋の通りです。 「Source」 セクションで、 「Source URL」 を遞択し、URLを入力したす。この䟋では、 https://accounts.autodesk.com を䜿甚したす。 「Authentication」 セクションで、 「Form authentication」 を遞択したす。 「Web proxy」 セクションで、Secrets Manager のシヌクレットを指定したす。これは、 「No authentication」 以倖のオプションに必芁です。 「Create and Add New Secret」 を遞択したす。 以前に収集した認蚌の詳现を入力したす。 「Save」 を遞択したす。 ゜リュヌションをテストする サむトからのコンテンツを Amazon Kendra むンデックスに取り蟌んだので、いく぀かのク゚リをテストできたす。 あなたのむンデックスに移動し、 「Search indexed content」 を遞択したす。 サンプル怜玢ク゚リを入力し、怜玢結果をテストしたすク゚リは、クロヌルしたサむトのコンテンツず入力したク゚リに基づいお異なりたす。 おめでずうございたす Amazon Kendra を䜿甚しお、クロヌルしたサむトのむンデックス化されたコンテンツに基づいお回答ず掞察を埗るこずに成功したした。 クリヌンアップ 今埌のコストを発生させないように、この゜リュヌションの䞀環ずしお䜜成したリ゜ヌスをクリヌンアップしおください。この゜リュヌションをテストするために新しい Amazon Kendra むンデックスを䜜成した堎合は、それを削陀しおください。 Amazon Kendra Web Crawler V2 を䜿甚しお新しいデヌタ゜ヌスのみを远加した堎合は、そのデヌタ゜ヌスを削陀しおください。 結論 新しい Amazon Kendra Web Crawler V2 を䜿甚するこずで、組織は公開サむトたたは認蚌が必芁なサむトをクロヌルし、Amazon Kendraによるむンテリゞェントな怜玢のために䜿甚するこずができたす。 これらの可胜性やその他の詳现に぀いおは、 Amazon Kendra 開発者ガむド を参照しおください。デヌタの取り蟌み時にメタデヌタずコンテンツを䜜成、倉曎、削陀する方法の詳现に぀いおは、「 取り蟌み䞭にドキュメントを充実させる 」および「 コンテンツずメタデヌタを匷化しお、Amazon Kendra のカスタムドキュメント匷化で怜玢䜓隓を向䞊させる 」を参照しおください。 翻蚳は゜リュヌションアヌキテクトの西田 光圊が担圓したした。原文は こちら です。 著者に぀いお Jiten Dedhia は、゜フトりェア業界で20幎以䞊の経隓を持぀シニア゜リュヌションアヌキテクトです。圌はグロヌバルなファむナンスサヌビスのクラむアントず協力しお、AWS が提䟛するサヌビスを利甚しお最新化するためのアドバむスを提䟛しおきたした。 Gunwant Walbe は、アマゟンりェブサヌビスの゜フトりェア開発゚ンゞニアです。圌は熱心な孊習者であり、新しいテクノロゞヌの採甚に熱心です。圌は耇雑なビゞネスアプリケヌションを開発しおおり、䞻な蚀語は Java です。
補品の戊略は、消費者の需芁、技術、競争の組み合わせによっお圢成されたす。業界では、倉化のたびに新補品が登堎したす。倚くの堎合、最新のテクノロゞヌを掻甚した新機胜が远加され、ナヌザヌ゚クスペリ゚ンスが向䞊したす。 これにより、以前のバヌゞョンの補品の段階的な廃止も開始されたす。 その代衚的な䟋が、スマヌトフォンの新しいモデルの導入ず前モデルの段階的な廃止を特城ずする幎間リリヌスサむクルです。 新補品には需芁の実瞟がないため、組織や需芁蚈画担圓者にずっお運甚䞊の重倧な課題ずなりたす。新補品の導入にあたっお、新補品の需芁に察応し、叀い補品や埓来補品の予枬をスムヌズに枛らすために、粟床の高い予枬が必芁です。需芁の実瞟がないため、需芁蚈画担圓者は新補品ず埓来補品の類䌌点を導き出すのに勘・コツに頌りがちです。このような手動の予枬調敎は最適ではなく、非効率的で、予枬の粟床向䞊の難しさによっお耇雑になりたす。組織は、より迅速か぀効率的な需芁蚈画のための自動化された゜リュヌションを求めおいたす。 このブログ蚘事では、過去の売䞊デヌタがない新補品の導入に䌎う課題に察凊するために AWS Supply Chain Demand Planning が提䟛する゜リュヌションに぀いお詳しく説明したす。補品系統ず補品ラむフサむクルの䞡方の機胜を怜蚎し、デヌタず蚭定を行うための重芁な手順をご案内したす。 ラむフサむクルにおける段階の管理 正確性を確保するために、補品の予枬は、補品の実際に提䟛販売されおいる期間にのみ適甚させる必芁がありたす。このアプロヌチを芋萜ずすず、過剰圚庫など圚庫に関する重倧な問題が発生する可胜性がありたす。AWS Supply Chain Demand Planning を䜿甚するず、補品ラむフサむクルを定矩できるため、補品のアクティブなラむフサむクルに぀いおのみ予枬を䜜成できたす。補品の導入ず廃止のための予枬パラメヌタを蚭定するこずで、新補品の䞍足ず廃止補品の過剰圚庫のリスクを最小限に抑えるこずができたす。 段階的な販売プロファむルを持぀補品のラむフサむクルの境界を定矩するには、補品マスタヌデヌタファむルに 発売日 ( product_available_day 列), 販売終了日 ( discontinue_day 列) の日付を取り蟌むこずができたす。以䞋のスクリヌンショットは、補品マスタヌのサンプルデヌタの蚭定䟋で、フィヌルドが匷調衚瀺されおいたす。 デヌタ蚭定の詳现に぀いおは、 補品ラむフサむクル ナヌザヌガむドを参照しおください。さたざたなレガシヌシステムからデヌタを倉換およびアップロヌドする手順ず前提条件に぀いおは、以前の ブログ をご芧ください。 柔軟性を高める远加の蚭定 次に、以前の ブログ で取り䞊げた蚭定に基づいお、 発売日 ず 販売終了日 の倀を倉曎しお、特定のビゞネス芁件に合わせお調敎できたす。これは、特に戊略的な圚庫管理の目的で、暙準的な発売日や販売終了日を超えおさらなる柔軟性を求める堎合に重芁になりたす。次のスクリヌンショットに蚭定画面が瀺されおいたす。ここで、補品ラむフサむクルに合わせお、予枬開始日ず終了日を蚭定できたす。 正確な予枬のためのデヌタ収集 効果的な需芁蚈画には、蚈画担圓者が以前のモデルや代替補品の販売履歎を含めお、正確な予枬を䜜成する必芁がありたす。 補品系統 を䜿甚するず、補品ずその前のバヌゞョンや代替補品ずの間にリンクを確立できるようになりたした。このリンクには、予枬のために䜿甚する履歎の範囲を定矩するルヌルが組み蟌たれ、補品の補品履歎の代替デヌタが䜜成されたす。 以䞋の手順で 履歎がほずんどない、たたは党くない補品に察しお product_alternate ゚ンティティを利甚しお、デヌタを取り蟌むこずができたす。 alternative_product_id 列で、予枬パタヌンをコピヌする元ずなる補品を定矩できたす。予枬パタヌンのコピヌ元補品は、 product_id 列で指定されたタヌゲット補品にコピヌされたす。 alternate_product_qty は、代替補品の過去の販売実瞟に割り圓おられた重みを瀺しおいたす。有効期間は、考慮する代替補品の過去の販売実瞟の期間を瀺しおいたす。 product_alternate ゚ンティティを蚭定したサンプルデヌタを次のスクリヌンショットに瀺したす。匷調衚瀺されたフィヌルドは、代替補品ずタヌゲット補品に぀いお耇補できる履歎の範囲を瀺しおいたす。 デヌタセットアップの詳现に぀いおは、 補品系統 のナヌザヌガむドを参照しおください。 需芁蚈画を実行に移す デヌタを取り蟌み、予枬開始ず終了の蚭定を行った埌、アプリケヌションは需芁蚈画を生成したす。画面䞊では、補品ラむフサむクルフェヌズ NPI ( New Product Introduction新補品の導入 ) たたは EOL ( End of Life廃止 ) が状況確認のために衚瀺されたす。予枬に補品系統の履歎が組み蟌たれおいる堎合は、透明性のために、その旚が泚釈ずしお远蚘衚瀺されたす。 たずめ 補品系統ず補品ラむフサむクルの機胜は、重芁なプロセスを自動化し、予枬の粟床を向䞊させ、手動による調敎の必芁性を䜎枛させたす。この掗緎されたアプロヌチは、業務効率を向䞊させ、新補品の先進的なサプラむチェヌン管理を容易にしたす。 AWS Supply Chain は、前払いのラむセンス料や長期契玄なしで利甚できたす。ニヌズに合わせお拡匵できる゜リュヌションを提䟛したす。そしお、AWS Supply Chain Demand Planning はすべおのお客様が利甚できたす。詳现ず開始の仕方に぀いおは、 AWS Supply Chain &nbsp;をご芧ください。たた、むンスタンスの䜜成、デヌタの取り蟌み、ナヌザヌむンタヌフェヌスの操䜜、むンサむトの䜜成、需芁蚈画の生成に関する技術的な抂芁を自分のペヌスで確認できる AWS Workshop Studio &nbsp;もご芧ください。 本ブログは゜リュヌションアヌキテクトの氎野 貎博が翻蚳したした。原文は こちら 。 著者に぀いお Vikram Balasubramanian は、サプラむチェヌンのシニア・゜リュヌション・アヌキテクトです。Vikram は、サプラむチェヌンの経営幹郚ず緊密に連携しお、圌らの目暙や問題点を理解し、解決策の芳点からベストプラクティスず連携させおいたす。Vikram は17幎以䞊にわたり、サプラむチェヌン分野のさたざたな業皮のフォヌチュン500䌁業で働いおきたした。Vikram は、パデュヌ倧孊でむンダストリアル゚ンゞニアリングの修士号を取埗しおいたす。ノィクラムはノヌスダラス地域を拠点ずしおいたす。 Harini Kidambi は AWS Supply Chain Demand Planning のプロダクトマネヌゞャヌです。 BlueYonderずアマゟンりェブサヌビス (AWS) の䞡方でサプラむチェヌンず分析の分野で5幎以䞊の経隓がありたす。 圌女は AWS Supply Chain のお客様ず協力しお、お客様のビゞネスニヌズを理解し、技術゜リュヌションずナヌザヌ゚クスペリ゚ンスを調敎し、最倧のビゞネス䟡倀を実珟できるよう支揎しおいたす。 <!-- '"` -->
チヌムを線成しお優れた゜フトりェア補品を提䟛するには、さたざたな方法がありたす。 Amazon の Two-Pizza チヌム のように、補品に関する゚ンドツヌ゚ンドの責任を単䞀のチヌムに割り圓おおいる䌁業もあれば、耇数のチヌムがむンフラストラクチャ (たたはプラットフォヌム) チヌムずアプリケヌション開発チヌムの間で責任を分担しおいる䌁業もありたす。この蚘事では、 AWS Cloud Development Kit (CDK) を掻甚しお Split-Team アプロヌチの堎合に、コラボレヌションの効率をどのように改善できるかに぀いおのガむダンスを提䟛したす。 AWS CDK は、クラりドアプリケヌションリ゜ヌスを定矩するためのオヌプン゜ヌスの゜フトりェア開発フレヌムワヌクです。そのためには、TypeScript、Python、Java、C#、Go などの䜿い慣れたプログラミング蚀語を䜿甚したす。これにより、埓来のむンフラストラクチャでは AWS CloudFormation や HashiCorp Terraform などの IaC ツヌルで衚珟されおきたむンフラストラクチャを定矩するコヌドず、アプリケヌションをバンドル、コンパむル、パッケヌゞングするコヌドを組み合わせるこずができたす。 これは、補品に関連するすべおのコヌドを 1 か所ず 1 ぀のプログラミング蚀語にたずめるこずができるため、゚ンドツヌ゚ンドの責任を持぀自埋的なチヌムに最適です。1 ぀のチヌムでむンフラストラクチャコヌドずアプリケヌションコヌドを別のリポゞトリに分ける必芁はありたせんが、チヌムが分割されるモデルに぀いおはどうでしょうか。 倧䌁業は通垞、むンフラストラクチャ (たたはプラットフォヌム) チヌムずアプリケヌション開発チヌムの間で責任を分担したす。この蚘事では耇数のチヌムが関䞎しおいる堎合でも、AWS CDK を䜿甚しおチヌムの独立性ず俊敏性を確保する方法を芋おいきたす。チヌムごずに異なる責任ず各チヌムが䜜成した成果物を芋おいきたす。たた、チヌムがスムヌズに連携する方法に぀いおも説明したす。 このブログ蚘事は、AWS CDK ずその抂念に関する基本的な知識があるこずを前提ずしおいたす。さらに、むベント駆動型アヌキテクチャに関する非垞に高いレベルの理解も必芁です。 チヌムトポロゞ たず、さたざたなチヌムトポロゞず各チヌムの責任に぀いお簡単に芋おみたしょう。 One-Team アプロヌチ このブログ蚘事では、以降で説明する Split-Team アプロヌチに焊点を圓おたす。ただし、「1 ぀のチヌムがアプリケヌションを゚ンドツヌ゚ンドで所有する」ずいう “One-Team” アプロヌチが䜕を意味するのかを理解しおおくず圹に立ちたす。この郚門の枠を超えたチヌムは、次に実装する機胜、䜿甚するテクノロゞヌ、そしおその結果埗られるむンフラストラクチャずアプリケヌションコヌドの構築方法ずデプロむ方法を独自に決定したす。チヌムの責任は、むンフラストラクチャ、アプリケヌションコヌド、デプロむメント、開発したサヌビスの運甚です。 このような環境で AWS CDK アプリケヌションを構築する方法に興味がある堎合は、Alex Pulver のブログ蚘事 “ Recommended AWS CDK project structure for Python applications ” を参照しおください。 Split-Teamアプロヌチ 実際には、アプリケヌション開発ずむンフラストラクチャの開発ず展開を別々のチヌムに分けるお客様が倚く居たす。 むンフラストラクチャチヌム ここで蚀及するむンフラストラクチャチヌムは、プラットフォヌムチヌムたたは運甚チヌムずも呌ばれたす。むンフラストラクチャチヌムは、他のチヌムがアプリケヌションを実行するために䜿甚する共有のむンフラストラクチャを蚭定、デプロむ、運甚したす。これには、 Amazon SQS キュヌ、 Amazon Elastic Container Service (Amazon ECS) クラスタヌ、新しいバヌゞョンのアプリケヌションを本番環境に導入するために䜿甚される CI/CD パむプラむンなどがありたす。 アプリケヌションチヌムが開発したアプリケヌションパッケヌゞを AWS にデプロむしお実行させるこず、およびアプリケヌションの運甚サポヌトを提䟛する事がむンフラストラクチャチヌムの責任です。 アプリケヌションチヌム 埓来、アプリケヌションチヌムはアプリケヌションのパッケヌゞ (JAR ファむルや npm パッケヌゞなど) を提䟛するだけで、AWS でのデプロむ、蚭定、実行の方法を考えるのはむンフラストラクチャチヌムの責任でした。しかしながら、むンフラストラクチャチヌムは耇数のチヌムが開発したさたざたなアプリケヌションをサポヌトしなければならないため、このような埓来の手法ではボトルネックになるこずがよくありたす。さらに、むンフラストラクチャチヌムは倚くの堎合、それらのアプリケヌションの内郚構造に぀いおほずんど知識がありたせん。これはしばしば、サヌビスのために最適化された遞択肢を提䟛できないこずに぀ながりたす。むンフラストラクチャチヌムが提䟛するサヌビス実行のための遞択肢が十分でない堎合、アプリケヌションチヌムはワヌクロヌドに最適化されたオプションを䜿甚できたせん。 そのため、このブログ蚘事では、アプリケヌションチヌムの埓来の責任を拡匵しおいたす。チヌムはアプリケヌションを提䟛し、さらにアプリケヌションの実行に必芁なむンフラストラクチャの説明も提䟛したす。「必芁なむンフラストラクチャ」ずは、アプリケヌションの実行に䜿甚される AWS サヌビスのこずです。このむンフラストラクチャの説明は、むンフラストラクチャチヌムが理解できる圢匏で蚘述する必芁がありたす。 このような責任範囲の倉化によっおアプリケヌションチヌムに远加のタスクが远加されるこずは理解しおいたすが、長期的には努力する䟡倀があるず考えおいたす。これが DevOps の抂念を組織に導入する出発点になり埗たす。ただし、このブログ蚘事で説明されおいる抂念は、アプリケヌションチヌムにこの責任を課したくない堎合にも、ただ有効です。誰が䜕を提䟛するのかずいう境界線が、むンフラストラクチャチヌムの方ぞ曎に移るだけです。 このアプロヌチを成功させるには、アプリケヌションの匕き枡し方、むンフラストラクチャの定矩、本番環境ぞの導入方法に぀いお、2 ぀のチヌムが共通の圢匏に぀いお合意する必芁がありたす。Construct ずいうコンセプトを備えた AWS CDK は、そのための圹立぀手段を提䟛したす。 入門: AWS CDK Construct このセクションでは、コヌドを構築するために AWS CDK が提䟛する抂念ず、これらの抂念を䜿甚しお CDK プロゞェクトをチヌムトポロゞにフィットさせる方法を芋おいきたす。 Constructs Construct は AWS CDK アプリケヌションの基本的な構成芁玠です。AWS CDK アプリケヌションは耇数の Construct で構成されおおり、最終的には AWS CloudFormation によっおデプロむされる方法ず内容が定矩されたす。 AWS CDK には、AWS サヌビスをデプロむするための Construct が付属しおいたす。ただし、䜿甚できるのは AWS CDK によっお提䟛される Construct だけに限定されないこずを理解しおおくこずが重芁です。AWS CDK の真の利点は、デフォルトの Construct の䞊に独自の抜象化を䜜成しお、特定の芁件を満たす゜リュヌションを䜜成できるこずです。これを実珟するには、独自のカスタム Construct を䜜成、公開、䜿甚する必芁がありたす。特定の芁件をコヌド化し、抜象化レベルを高め、他のチヌムがその Construct を利甚したり䜿甚したりできるようにしたす。 以降ではカスタム Construct を䜿甚しお、アプリケヌションずむンフラストラクチャチヌムの責任を分担したす。アプリケヌションチヌムは、アプリケヌションコヌドの実行に必芁なむンフラストラクチャずその 蚭定を蚘述した Construct をリリヌスしたす。むンフラストラクチャチヌムはこの Construct を䜿甚しお AWS にワヌクロヌドをデプロむしお運甚したす。 Split-Team で AWS CDK を䜿甚する方法 次は、AWS CDK を䜿甚しおアプリケヌションチヌムずむンフラストラクチャチヌムの間で責任を分担する方法を芋おみたしょう。サンプルシナリオを玹介し、このシナリオにおける各チヌムの責任を説明したす。 シナリオ 架空のアプリケヌション開発チヌムが AWS Lambda 関数を䜜成し、AWS にデプロむしたす。 Amazon SQS キュヌ内のメッセヌゞがこの関数を呌び出したす。関数が泚文を凊理し (この䟋では詳现な意味は関係ありたせん)、各泚文はキュヌ内のメッセヌゞによっお衚されるずしたす。 アプリケヌション開発チヌムは AWS Lambda 関数を柔軟に䜜成できたす。どのランタむムを䜿甚するか、どのくらいのメモリを蚭定するかを決定できたす。関数が凊理する SQS キュヌは、むンフラストラクチャチヌムによっお䜜成されたす。アプリケヌションチヌムは、メッセヌゞがどのようにキュヌに入るのかを知る必芁はありたせん。 これで、チヌムごずに実装䟋を芋おいきたしょう。 アプリケヌションチヌム アプリケヌションチヌムは、アプリケヌションコヌド (JAR ファむルや npm モゞュヌルなど) ず、アプリケヌションの実行に必芁なむンフラストラクチャ (AWS Lambda 関数ずその蚭定) を AWS にデプロむするための AWS CDK Construct ずいう 2 ぀の異なる成果物を担圓したす。 これらの成果物のラむフサむクルは異なりたす。アプリケヌションコヌドは、実行されるむンフラストラクチャよりも頻繁に倉曎されたす。だからこそ、成果物は別々にしおおきたいのです。これにより、それぞれの成果物は、倉曎された堎合のみ独自のペヌスでリリヌスできたす。 このような個別のラむフサむクルを実珟するためには、アプリケヌションのリリヌスは CDK Construct のリリヌスから完党に独立しおいる必芁があるこずに泚意するこずが重芁です。これは、CDK Construct 内でアプリケヌションコヌドをビルドしおパッケヌゞ化する暙準的な CDK の方法ず比范しお、チヌムを分けるずいう私たちのアプロヌチに合っおいたす。 しかし、このサンプル゜リュヌションではどのように実珟するのでしょうかチヌムは CDK に関係のないアプリケヌションを構築しお公開したす。 この Construct を含む CDK スタックを合成するず、指定されたバヌゞョン番号のビルド枈みアヌティファクトを AWS CodeArtifact からダりンロヌドし、それを䜿甚しお Lambda 関数のための zip ファむルを䜜成したす。CDK の合成の間は、アプリケヌションパッケヌゞのビルドは行われたせん。 Constructずアプリケヌションコヌドを分離したので、CodeArtifact から取埗するアプリケヌションコヌドの特定のバヌゞョンを CDK Construct に䌝える方法を芋぀ける必芁がありたす。この情報をコンストラクタヌのプロパティを介しおConstructに枡したす。 アプリケヌションチヌムの責任範囲倖のむンフラストラクチャぞの䟝存関係に぀いおは、䟝存性泚入のパタヌンに埓いたす。共有 VPC や Amazon SQS キュヌなどの䟝存関係は、むンフラストラクチャチヌムから Construct に枡されたす。 䟋を芋おみたしょう。SQS キュヌぞの倖郚䟝存関係を、目的の appPackageVersion ずその CodeArtifact の詳现ずずもに枡したす。 export interface OrderProcessingAppConstructProps { queue: aws_sqs.Queue, appPackageVersion: string, codeArtifactDetails: { account: string, repository: string, domain: string } } export class OrderProcessingAppConstruct extends Construct { constructor(scope: Construct, id: string, props: OrderProcessingAppConstructProps) { super(scope, id); const lambdaFunction = new lambda.Function(this, 'OrderProcessingLambda', { code: lambda.Code.fromDockerBuild(path.join(__dirname, '..', 'bundling'), { buildArgs: { 'PACKAGE_VERSION' : props.appPackageVersion, 'CODE_ARTIFACT_ACCOUNT' : props.codeArtifactDetails.account, 'CODE_ARTIFACT_REPOSITORY' : props.codeArtifactDetails.repository, 'CODE_ARTIFACT_DOMAIN' : props.codeArtifactDetails.domain } }), runtime: lambda.Runtime.NODEJS_16_X, handler: 'node_modules/order-processing-app/dist/index.lambdaHandler' }); const eventSource = new SqsEventSource(props.queue); lambdaFunction.addEventSource(eventSource); } } lambda.Code.fromDockerBuild(...) ずいうコヌドに泚意しおください。ここでは AWS CDK の機胜を䜿甚しお、Docker ビルドを介しお Lambda 関数のコヌドをバンドルしおいたす。提䟛された Dockerfile 内で発生する凊理は以䞋のものだけです。 事前ビルド枈みのアプリケヌションコヌドのパッケヌゞが栌玍されおいる AWS CodeArtifact リポゞトリぞのログむン アプリケヌションコヌドのアヌティファクトを AWS CodeArtifact (この堎合は npm 経由) からダりンロヌドしおむンストヌルするこず AWS CDK アセットをビルド、バンドル、デプロむする方法に぀いお詳しく知りたい堎合は、 Cory Hall による蚘事 “ Building, bundling, and deploying applications with the AWS CDK ” を匷くお勧めしたす。ここで説明しおいる内容よりもずっず詳现に説明されおいたす。 Dockerfile の䟋を芋るず、䞊蚘の 2 ぀のステップが分かりたす。 FROM public.ecr.aws/sam/build-nodejs16.x:latest ARG PACKAGE_VERSION ARG CODE_ARTIFACT_AWS_REGION ARG CODE_ARTIFACT_ACCOUNT ARG CODE_ARTIFACT_REPOSITORY RUN aws codeartifact login --tool npm --repository $CODE_ARTIFACT_REPOSITORY --domain $CODE_ARTIFACT_DOMAIN --domain-owner $CODE_ARTIFACT_ACCOUNT --region $CODE_ARTIFACT_AWS_REGION RUN npm install order-processing-app@$PACKAGE_VERSION --prefix /asset 以䞋の点にご泚意ください。 npm のむンストヌルコマンドで --prefix /asset を䜿甚したす。これにより、CDK がコンテナヌにマりントするフォルダヌに䟝存関係をむンストヌルするよう npm に指瀺したす。Docker build の出力に含たれるはずのすべおのファむルをここに配眮する必芁がありたす。 aws codeartifact login を続行するには、適切な暩限を持぀認蚌情報が必芁です。これを AWS CodeBuild や CDK Pipelines 内で実行する堎合は、䜿甚するロヌルに適切なポリシヌがアタッチされおいるこずを確認する必芁がありたす。 むンフラストラクチャチヌム むンフラストラクチャチヌムは、アプリケヌションチヌムが公開した AWS CDK Constructを䜿甚したす。圌らはアプリケヌション党䜓を構成する AWS CDK スタックを所有しおいたす。おそらく、これはむンフラストラクチャチヌムが所有する耇数のスタックのうちの 1 ぀に過ぎないでしょう。他のスタックは、共有むンフラストラクチャ (VPC、ネットワヌクなど) や他のアプリケヌションを䜜成する可胜性がありたす。 アプリケヌションのスタック内では、むンフラストラクチャチヌムがアプリケヌションチヌムの Construct を利甚しおむンスタンス化し、䟝存関係を解決しおから、適切ず思われる手段 (AWS CodePipelines、GitHub Actions、たたはその他の CI/CD ツヌル) でスタックをデプロむしたす。 アプリケヌションチヌムの Construct ぞの䟝存関係は、むンフラストラクチャチヌムの CDK アプリの package.json に衚れおいたす。 { "name": "order-processing-infra-app", ... "dependencies": { ... "order-app-construct" : "1.1.0", ... } ... } 䜜成された CDK スタックには、アプリケヌションパッケヌゞの䟝存バヌゞョンず、むンフラストラクチャチヌムが远加情報䜿甚するキュヌなどを枡す方法が衚瀺されたす。 export class OrderProcessingInfraStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); const orderProcessingQueue = new Queue(this, 'order-processing-queue'); new OrderProcessingAppConstruct(this, 'order-processing-app', { appPackageVersion: "2.0.36", queue: orderProcessingQueue, codeArtifactDetails: { ... } }); } } 新しいリリヌスの普及 これで、各チヌムが所有するアヌティファクトずずもに、各チヌムの責任を敎理できるようになりたした。しかし、アプリケヌションチヌムが行った倉曎を本番環境に反映するにはどうすればよいでしょうか。あるいは、アプリケヌションチヌムの最新バヌゞョンのアヌティファクトを䜿甚しお、むンフラストラクチャチヌムの CI/CD パむプラむンを呌び出すにはどうすればよいでしょうか。 アプリケヌションたたは AWS CDK Construct のいずれかの新しいバヌゞョンが公開されるたびに、むンフラストラクチャチヌムのアプリケヌションチヌムのアヌティファクトぞの䟝存関係を曎新する必芁がありたす。䟝存関係が曎新されたら、リリヌスパむプラむンを開始できたす。 1 ぀のアプロヌチは、 Amazon EventBridge 経由で AWS CodeArtifact によっお発行されたむベントを受け取るこずです。リリヌスごずに、AWS CodeArtifact は Amazon EventBridge にむベントを発行したす。そのむベントのペむロヌドから新しいリリヌスのバヌゞョン番号を抜出し、CDK Construct ぞの䟝存関係 (䟋えば CDK アプリケヌションの package.json) を曎新するワヌクフロヌを開始するか、むンフラストラクチャチヌムが利甚する Construct に枡す appPackageVersion を曎新するワヌクフロヌを開始できたす。 新しいアプリケヌションのリリヌスがシステム内を流れる仕組みは次のずおりです。 図 1 — アプリケヌションパッケヌゞがリリヌスされるず、むンフラストラクチャチヌムの CDK スタックが倉曎され、デプロむされる アプリケヌションチヌムは新しいアプリケヌションバヌゞョンを AWS CodeArtifact に公開したす。 CodeArtifact は Amazon EventBridge でむベントをトリガヌしたす。 むンフラストラクチャチヌムが発行されたむベントを受け取りたす。 むンフラストラクチャチヌムは、最新の appPackageVersion が含たれるように CDK スタックを曎新したす。 むンフラストラクチャチヌムの CDK スタックがデプロむされたす。 図 2 – アプリケヌションチヌムのCDK Constructの倉曎をトリガヌにむンフラストラクチャチヌムのCDK スタックが倉曎され、デプロむされる。 そしお、CDK Constructの新しいバヌゞョンのリリヌスも非垞によく䌌おいたす。 アプリケヌションチヌムは新しい CDK Construct を AWS CodeArtifact に公開したす。 CodeArtifact は Amazon EventBridge でむベントをトリガヌしたす。 むンフラストラクチャチヌムが発行されたむベントを受け取りたす。 むンフラストラクチャチヌムは䟝存関係を最新の CDK Construct に曎新したす。 むンフラストラクチャチヌムの CDK スタックがデプロむされたす。 このようなワヌクフロヌがどのようになるかに぀いおは詳しく説明したせん。なぜなら、各チヌム向けに高床にカスタマむズされおいる可胜性が高いからです (コヌドリポゞトリや CI/CD に䜿甚されるさたざたなツヌルを考えおみおください)。ただし、これをどのように実珟できるかに぀いおのアむデアをいく぀か玹介したす。 CDK Construct 䟝存関係の曎新 CDK Construct の䟝存関係バヌゞョンを曎新するには、むンフラストラクチャチヌムの package.json (たたは pom.xml のような䟝存関係の远跡に䜿甚される他のファむル) を曎新する必芁がありたす。゜ヌスコヌドをチェックアりトしお npm install sample-app-construct@NEW_VERSION (NEW_VERSION は EventBridge むベントペむロヌドから読み取られた倀) のようなコマンドを発行するオヌトメヌションを構築できたす。次に、この倉曎をメむンブランチに組み蟌むためのプルリク゚ストを自動的に䜜成したす。これがどのようなものかに぀いおのサンプルは、ブログ蚘事 “ Keeping up with your dependencies: building a feedback loop for shared librares ” を参照しおください。 appPackageVersion の曎新 むンフラストラクチャチヌムの CDK スタック内で䜿甚されおいる appPackageVersion を曎新するには、䞊蚘ず同じ方法に埓うか、CDK の機胜を䜿甚しお AWS Systems Manager (SSM) Parameter Store から読み取るこずができたす。そうすれば、 appPackageVersion の倀を゜ヌス管理に入力するのではなく、SSM パラメヌタストアから倀を読み取るこずになりたす。その方法に぀いおは、AWS CDK のドキュメントに Systems Manager Parameter Store から倀を取埗する ずいうものがありたす。次に、 パラメヌタが倉曎されたむベント に基づいおむンフラストラクチャチヌムのパむプラむンを開始したす。 垞に䜕がデプロむされおいるかを明確に把握し、CloudFormation で䜿甚されおいるパラメヌタヌ倀を確認するために、 合成時の Systems Manager の倀を読み取り で説明されおいるオプションを䜿甚するこずをおすすめしたす。 結論 耇数のチヌム (この堎合はアプリケヌション開発チヌムずむンフラストラクチャチヌム) が協力しおアプリケヌションの新しいバヌゞョンを本番環境に導入する堎合でも、AWS Cloud Development Kit ずその Construct のコンセプトがチヌムの独立性ず俊敏性を確保するのにどのように圹立぀かを芋おきたした。そのために、アプリケヌションチヌムにアプリケヌションコヌドだけでなく、アプリケヌションを実行するために䜿甚するむンフラストラクチャの郚分の管理も任せたした。すべおの共有むンフラストラクチャず最終的なデプロむメントはむンフラストラクチャチヌムが管理し、アプリケヌションチヌムの Construct はこの䞭で利甚されるため、ここたで芋おきた Split-Team アプロヌチず合臎しおいたす。 著者 ゜リュヌションアヌキテクトずしお、Jörg はドむツの補造業のお客様ず協力しおいたす。2019 幎に AWS に加入する前は、開発者、DevOps ゚ンゞニア、SRE など、さたざたな圹割を担圓しおいたした。そのため、Jörg はビルドず自動化のこずが倧奜きです。AWS Cloud Development Kit に恋をしたのです。 Mo は2020幎にテクニカルアカりントマネヌゞャヌずしお AWS に加入し、7幎間の AWS DevOps の実践経隓ず6幎間のシステム運甚管理者ずしおの経隓を持っおいたす。 AWS 内の2぀のコミュニティ(クラりド運甚ずビルダヌ゚クスペリ゚ンス)のメンバヌであり、CI/CD パむプラむンず AI for DevOps を䜿っお、ビゞネスニヌズに合った適切な゜リュヌションを持っおいるこずを確認するために、お客様をサポヌトするこずに焊点を圓おおいたす。 本蚘事は、 Joerg Woehrle ず Mohamed Othman による “Improve collaboration between teams by using AWS CDK constructs” を翻蚳したものです。翻蚳は゜リュヌションアヌキテクトの平川 倧暹が担圓したした。
11月26日、 Amazon Detective は、時間の節玄ずセキュリティ運甚の匷化に圹立぀ 4 ぀の新機胜を远加したした。 1 ぀目は、 IAM の Detective 調査 です。これは、セキュリティアナリストが、ナヌザヌやロヌルなどの AWS Identity and Access Management (IAM) オブゞェクトを調査しお 䟵害の痕跡 (IOC) がないかを確認し、 MITRE ATT&amp;CK フレヌムワヌク に含たれる既知の戊術に関係しおいる可胜性があるかどうかを刀断するのに圹立ちたす。これらの自動調査は、 AWS マネゞメントコン゜ヌル の [Detective] セクションで利甚でき、新しい API を通じお分析やむンシデント察応を自動化したり、 AWS Security Hub や SIEM などの他のシステムに怜出結果を送信できたす。 2 ぀目は、 Detective 怜出結果グルヌプの芁玄 です。これは、生成系人工知胜 (AI) を䜿甚しお調査を゚ンリッチ化したす。怜出結果グルヌプを自動的に分析し、自然蚀語でむンサむトを提䟛するこずで、セキュリティ調査を加速したす。むベントを開始したアクティビティずその圱響 (存圚する堎合) の説明など、関連する芁玄されたむンサむトを含む怜出結果グルヌプの分析に基づいお、平易な蚀葉でタむトルを提䟛したす。怜出結果グルヌプの芁玄は、耇数の AWS デヌタ゜ヌスにわたっお構築された怜出結果グルヌプの分析ずいう面倒な䜜業を凊理するため、異垞なアクティビティや疑わしいアクティビティをより簡単か぀迅速に調査できたす。 この蚘事で説明するこれらの 2 ぀の新機胜に加えお、Detective は、ここでは取り䞊げおいない別の 2 ぀の機胜を远加しおいたす。 Detective は、 Amazon GuardDuty ECS Runtime Monitoring によっお怜出される脅嚁に぀いおのセキュリティ調査をサポヌトするようになりたした。 Detective は Amazon Security Lake ず統合し、セキュリティアナリストは Security Lake に保存されおいるログをク゚リおよび取埗できるようになりたした。 Amazon Detective を利甚するず、セキュリティに関する怜出結果や疑わしいアクティビティの根本原因の分析、調査、および迅速な特定がより容易になりたす。Detective は、機械孊習 (ML)、統蚈分析、グラフ理論を掻甚しお、セキュリティ調査を芖芚化し、より迅速か぀効率的に実斜できるようサポヌトしたす。Detective は、 AWS CloudTrail ログ、 Amazon Virtual Private Cloud (Amazon VPC) フロヌログ 、 Amazon GuardDuty 怜出結果、 Amazon Elastic Kubernetes Service (Amazon EKS) 監査ログ、AWS セキュリティ怜出結果などの゜ヌスからログデヌタずむベントを自動的に収集したす。Detective は、分析ず調査のために最倧 1 幎分の集蚈デヌタを保持したす。 クラりドセキュリティの専門家は、脅嚁ハンティングずむンシデント調査に、倧量のリ゜ヌスず長い時間を芁するず感じるこずがよくありたす。さたざたな゜ヌスからデヌタを手動で収集しお分析し、朜圚的な IAM 関連の脅嚁を特定する必芁がありたす。IAM の調査は、クラりド蚱可ず認蚌情報が動的であるこずにより、特に困難です。アナリストは、分散しおいる可胜性のある監査ログ、゚ンタむトルメントレポヌト、CloudTrail むベントなど、さたざたなシステムから埗られたデヌタをたずめる必芁がありたす。クラりドの蚱可は、倚くの堎合、オンデマンドで、たたはオヌトメヌションスクリプトを通じお付䞎されるため、認可の倉曎を远跡するのが困難です。アクティビティのタむムラむンを再構築し、䞍芏則な゚ンタむトルメントを特定するには、その耇雑さに応じお、数時間から数日かかる堎合がありたす。レガシヌシステムに぀いおの可芖性が限られ、ログが䞍完党である堎合には、IAM の調査がさらに耇雑になり、䞍正アクセスを明確に把握するこずが困難になりたす。 IAM の Detective 調査は怜出結果に優先順䜍を付けお、極めお重倧で疑わしい問題のみを明らかにするため、セキュリティアナリストは高床な調査に集䞭できたす。機械孊習ず脅嚁むンテリゞェンスを䜿甚しお、AWS 環境内のリ゜ヌスを自動的に分析し、朜圚的な䟵害の痕跡や疑わしいアクティビティを特定したす。これにより、アナリストはパタヌンを特定し、どのリ゜ヌスがセキュリティむベントの圱響を受けるかを把握できるため、脅嚁の特定ず緩和に察するプロアクティブなアプロヌチを採るこずができたす。 調査はコン゜ヌルで利甚できるだけではありたせん。新しい StartInvestigation API を䜿甚しお、修埩ワヌクフロヌを自動化したり、関係するすべおの IP や䟵害された AWS リ゜ヌスに関する情報を収集したりできたす。たた、API を䜿甚しおデヌタを他のシステムにフィヌドし、セキュリティ䜓制の統合ビュヌを構築するこずもできたす。 怜出結果グルヌプの芁玄は、環境党䜓のセキュリティむベント間の関係を評䟡し、関連する脅嚁、䟵害されたリ゜ヌス、悪意のある攻撃者の行動を結び぀けるむンサむトを自然蚀語で提䟛したす。この説明は、個々のサヌビスレポヌトにずどたらないセキュリティむンシデントの包括的な抂芁をセキュリティアナリストに提䟛したす。耇数の゜ヌスから埗られたデヌタをグルヌプ化およびコンテキスト化するこずにより、怜出結果グルヌプの芁玄は、むンサむトが分離されおいる堎合には気付かれない可胜性のある脅嚁を特定したす。このアプロヌチにより、調査ず察応の速床ず効率が向䞊したす。セキュリティアナリストは、怜出結果グルヌプの芁玄を利甚しお、セキュリティむベントずその盞互関係を総合的に理解できたす。これは、封じ蟌めず修埩に関しお、十分な情報に基づいた意思決定を䞋すのに圹立ちたす。 これらの 2 ぀の機胜がどのように動䜜するのかを芋おみたしょう このデモでは、 コン゜ヌルの [Detective] セクション にある IAM の Detective 調査から始めたす。Detective ダッシュボヌドには、実行された調査の数ず、疑わしいアクティビティに関䞎した IAM ロヌルおよびナヌザヌの数が衚瀺されたす。 そこから、調査のリストを詳しく確認したす。 そしお、特定の調査を 1 ぀遞択しお詳现を把握したす。最初に芁玄がありたす。 ペヌゞを䞋方向にスクロヌルしお、どの IP アドレスが関䞎しおいるか、およびどのような皮類のアクティビティに関䞎しおいるかを確認したす。この䟋は、物理的な䞍可胜性を瀺しおいたす。短時間で、オヌストラリアず日本ずいう 2 ぀の異なる堎所から同じ IP が䜿甚されたした。 私の意芋では、このペヌゞで最も興味深いのは、 戊術、技術、手順 (TTP) に察するマッピングです。すべおの TTP は重倧床に埓っお分類されたす。コン゜ヌルには、䜿甚された技術ずアクションが衚瀺されたす。特定の TTP を遞択するず、右偎のペむンに詳现が衚瀺されたす。この䟋では、IAM ロヌルの信頌できるポリシヌを倉曎しようずしお倱敗した 2,000 回を超える詊行に、疑わしい IP アドレスが関䞎しおいたす。 最埌に、 [指暙] タブに移動しお指暙のリストを確認したす。 たた、怜出結果グルヌプの芁玄は、 [怜出結果グルヌプ] で確認できたす。怜出結果グルヌプを遞択しお、怜出結果ず関連するリスクに぀いおの自然蚀語での説明を確認したす。 料金ず利甚可胜なリヌゞョン これらの 2 ぀の新機胜は珟圚、すべおの AWS のお客様にご利甚いただけたす。 IAM の Detective 調査は、 Detective が利甚可胜な すべおの AWS リヌゞョンでご利甚いただけたす。怜出結果グルヌプの芁玄は、米囜東郚 (バヌゞニア北郚)、米囜西郚 (オレゎン)、アゞアパシフィック (シンガポヌル、東京)、欧州 (フランクフルト) の 5 ぀の AWS リヌゞョンでご利甚いただけたす。 Amazon Detective に関するすべおの詳现を確認し、今すぐ䜿甚を開始したしょう 。 — seb 原文は こちら です。
むントロダクション Karpenter は AWS によっお開発された Kubernetes のノヌドラむフサむクルマネヌゞャヌで、クラスタヌのノヌドの蚭定を最小化するこずを目的ずしお、2021 幎にリリヌスされたした。この 1 幎で、GitHub の Star 数は 4900 を超え、200 人以䞊のコントリビュヌタヌによるコヌドがマヌゞされるなど、玠晎らしい成長を遂げおいたす。珟圚、Kubernetes Autoscaling Special Interest Group の䞀郚ずしお、Cloud Native Computing Foundation (CNCF) に寄莈されるプロセスにありたす。 このような成長の䞀貫ずしお、alpha 版で行われた数々の砎壊的な倉曎に察凊したくないずいうナヌザヌに察しお、より厳栌な安定性を保蚌する Kubernetes API の成熟の需芁が高たっおいたす。これは、プロゞェクトの進化においお重芁なマむルストヌンになりたす。この移行によっお顧客は、beta 版が提䟛する API の安定性ず成熟床の向䞊による恩恵を受けたす。たたこれは、埌方互換性を優先するずいう我々からのコミットメントを瀺しおいたす。顧客は将来的な砎壊的な倉曎に悩たされる必芁なく、新しい機胜や機胜の拡匵を自信を持っお採甚できたす。このリリヌスは、以前のリリヌスず同様に、オヌプン゜ヌスコミュニティからのフィヌドバックを取り入れおいたす。 API の倉曎は、Karpenter のバヌゞョン 0.32.0 リリヌスの䞀郚ずしお展開されたす。既存の Deployment をこのバヌゞョンにアップグレヌドする必芁がありたす。この蚘事で移行パスの抂略に぀いお説明しおおり、Karpenter アップグレヌドガむド でさらに詳しく説明されおいたす。 既存の alpha API は非掚奚ずなり、この単䞀のバヌゞョンでのみ利甚可胜です。 v0.33.0 のリリヌスから、Karpenter は v1beta1 API のみをサポヌトしたす。 Karpenter の API は alpha → beta → stable ずいう成熟の過皋をたどりたす。 alpha 版から beta 版ぞの昇栌には、この蚘事で匷調しおいる API の重倧な倉曎を必芁ずしたした。beta 版から stable 版ぞの昇栌には、同じレベルの倉曎は必芁ないず予枬しおいたす。 Kubernetes API の昇栌プロセスに぀いお興味がある方は、 こちらの蚘事 をご芧ください。 倉曎点に぀いお stable v1 に到達するたでの過皋においお、alpha 版から beta 版ぞの移行に際しお API に重芁な倉曎を加えたした。ナヌザヌにずっおよく問題ずなる API の領域を削陀するこずによっお、䜿いやすさを向䞊させるためです。これらの領域のひず぀がネヌミングでした。provisioner ずいう蚀葉の䜿甚に際しお混乱が生じおいお (ストレヌゞの領域では、倚重定矩された甚語)、ナヌザヌが考える必芁がある抂念の数を枛らしたいず考えおいたした。 今回のリリヌスで、Karpenter は Provisioner・AWSNodeTemplate・Machine API を廃止し、NodePool・EC2NodeClass・NodeClaim を導入したした。党䜓的な芖点を捉え、Node ずいう単䞀の抂念を䞭心に API を合理化したした。 りォヌクスルヌ API グルヌプ ず kind のネヌミング v1beta1 バヌゞョンでは、以䞋の新しい API が導入されおいる䞀方で、既存の API は廃止されおいたす。 karpenter.sh/Provisioner は karpenter.sh/NodePool になる karpenter.sh/Machine は karpenter.sh/NodeClaim になる karpenter.k8s.aws/AWSNodeTemplate は karpenter.k8s.aws/EC2NodeClass になる これらのネヌミングの倉曎にはそれぞれ、Karpenter の最新バヌゞョンに曎新する際に考慮する必芁があるスキヌマの倉曎が含たれたす。各々の倉曎点ず、新しい API 定矩がどのようなものかを芋おみたしょう。 v1alpha5/Provisioner → v1beta1/NodePool NodePool は Provisioner の埌継ずしお機胜し、スケゞュヌリング䞭に Node ず Pod 間の互換性に圱響を䞎える、蚭定ベヌスのパラメヌタ (芁件、Taint、Label など)を公開したす。たた Karpenter のスケゞュヌリングやデプロビゞョニングの意思決定を埮調敎するための、振る舞いベヌスの蚭定も含たれおいたす。 NodePool はむンスタンスタむプずサむズの組み合わせを解決する䞀方で、ワヌクロヌドがリ゜ヌスをリク゚ストする方法には制限を課したす。これは、プロビゞョニングずデプロビゞョニングの動䜜のグルヌピングを促進したす。重芁なのは、ポヌタブルな蚭定を維持するためには、プヌルにクラりド固有の蚭定を持぀べきではないずいうこずです。 Karpenter の v1beta1 では、党おの振る舞いに関わらないフィヌルドは NodePool テンプレヌトのフィヌルド内郚でカプセル化されたす。Karpenter の堎合、NodePool が NodeClaims をテンプレヌト化し、それらは Karpenter コントロヌラヌによっおオヌケストレヌトされたす。これは Deployment コントロヌラヌによっお Pod がテンプレヌト化されオヌケストレヌションされる、Deployment のコンセプトを反映しおいたす。 NodePool の詳现に぀いおは、ドキュメントをご芧ください。 NodePool の䟋は以䞋のずおりです。 apiVersion: karpenter.sh/v1beta1 kind: NodePool ... spec: template: metadata: annotations: custom-annotation: custom-value labels: team: team-a custom-label: custom-value spec: nodeClassRef: name: default requirements: - key: karpenter.k8s.aws/instance-category operator: In values: [ "c", "m", "r" ] ... kubelet: systemReserved: cpu: 100m memory: 100Mi ephemeral-storage: 1Gi maxPods: 20 disruption: expireAfter: 360h consolidationPolicy: WhenUnderutilized Apache Configuration spec の䟋を芋るず、disruption ずいう新しいセクションがあるこずに気が぀くでしょう。これにより、Consolidation、Expiration、空のノヌドに関する以前の蚭定 ( ttlSecondsAfterEmpty 、 ttlSecondsUntilExipred 、 consolidation.enabled ) がグルヌプ化されたす。 NodePool マニフェストが適甚される時に明瀺的に指定されおいない堎合、Karpenter は disruption をデフォルトで蚭定したす。デフォルト倀は以䞋で匷調されおいたす。こららのフィヌルドの振る舞いの詳现に぀いおは、 ドキュメント をご芧ください。 Field Default spec.disruption.consolidationPolicy WhenUnderutilized spec.disruption.expireAfter 720h v1alpha1/AWSNodeTemplate → v1beta1/EC2NodeClass EC2NodeClass は AWSNodeTemplate の埌継ずしお機胜し、Node の起動やブヌトストラッププロセスに圱響するクラりドプロバむダヌ固有のフィヌルドを公開したす。これには、䜿甚したい Amazon Machine Image (AMI)、セキュリティグルヌプ、サブネットの蚭定、曎にはブロックストレヌゞ、ナヌザヌデヌタ、むンタンスメタデヌタの蚭定に関する詳现が含たれたす。 Karpenter の spec.instanceProfile フィヌルドは EC2NodeClass から削陀され、 spec.role フィヌルドが遞択されたした。(蚳泚 spec.instanceProfile フィヌルドは v0.32.2 で远加されおいたす。珟圚指定可胜なフィヌルドに぀いおは、公匏ドキュメントを参照しおください。) Karpenter は、ナヌザヌが指定したロヌルが定矩された EC2NodeClass に基づいお、むンスタンスプロファむルを自動生成するようになりたした。 既に非掚奚ずなっおいた管理察象倖の起動テンプレヌトを参照するための spec.launchTemplateName フィヌルドが削陀されたした。そのため、このフィヌルドを䜿甚しおいる堎合は、EC2NodeClass に移行する際に、管理察象倖の起動テンプレヌトから、Karpenter が管理する起動テンプレヌトに移行する必芁がありたす。 NodeClass の詳现に぀いおは、 ドキュメント をご芧ください。EC2NodeClass の䟋は以䞋のずおりです。 apiVersion: karpenter.k8s.aws/v1beta1 kind: EC2NodeClass metadata: name: default spec: amiFamily: Bottlerocket role: KarpenterNodeRole-karpenter-demo subnetSelectorTerms: - tags: karpenter.sh/discovery: karpenter-demo securityGroupSelectorTerms: - tags: karpenter.sh/discovery: karpenter-demo tags: test-tag: test-value Apache Configuration v1alpha5/Machine→ v1beta1/NodeClaim Karpenter v0.28.0 では、Machine ず呌ばれる新しいリ゜ヌスタむプが远加されたした。これにより、耇数のノヌドのプロビゞョニングが改善され、ネむティブの Kubernetes コントロヌラヌがノヌドをクラスタヌに参加させながら、Karpenter がノヌドを管理および远跡できるようになりたした。v0.28.0 以前の Karpenter のバヌゞョンを䜿甚しおいる堎合、このリ゜ヌスタむプを䜿甚するこずはできたせん。 v0.32.0 のリリヌスで、NodeClaim に倉曎されたした。NodeClaim はクラスタヌ管理者によっお䜜成されるこずを意図したものではなく、かわりに Karpenter によっお䜜成および削陀されたす。NodeClaim が機胜するために䜕も倉曎する必芁はないはずです。クラスタヌ内のノヌドをトラブルシュヌティングする際に、Karpenter が管理しおいるノヌドのラむフサむクルず状態を確認できたす。 ラベルの倉曎 Karpenter の v1beta1 では、 karpenter.sh/do-not-evict ず karpenter.sh/do-not-consolidate の共通ラベルに倉曎が加えられたした。これらは廃止され、 karpenter.sh/do-not-disrupt ずいう単䞀のラベルに統䞀されたした。これらは Pod ず Node の䞡方に適甚でき、Karpenter がノヌドの䞭断や Pod の退避を実行するこずを防ぎたす。 NodeClass の AMI、サブネット、セキュリティグルヌプのためのより柔軟なセレクタヌ 珟圚のセレクタヌの蚭定では、プロビゞョニングされるノヌドに察しお異なる蚭定を識別し䜿甚する胜力が、いくらか制限されおいたした。既存の動䜜では AND ロゞックが適甚されるため、様々なクラスタヌやリヌゞョンで蚭定を䞀臎させるこずが困難でした。これに察凊するためにセレクタヌを拡匵し、耇数の条件を指定できるようにしたした。これらの条件は OR ロゞックを䜿っお組み合わさるようになり、䞀臎するものが特定されるたで、たずめお評䟡されるこずを意味したす。 名前が my-name1 あるいは my-name-2 で、所有者が 123456789 たたは amazon の AMI を照合する堎合の䟋は、以䞋のずおりです。 amiSelectorTerms: - name: my-name1 owner: 123456789 - name: my-name2 owner: 123456789 - name: my-name1 owner: amazon - name: my-name2 owner: amazon Apache Configuration subnetSelectorTerms ず securityGroupSelectorTerms に぀いおも同様の蚭定を行うこずができたす。詳现に぀いおは Karpenter の ドキュメント をご芧ください。 securityGroupSelectorTerms: - id: abc-123 name: default-security-group # Not the same as the name tag tags: key: value # Selector Terms are ORed - id: abc-123 name: custom-security-group # Not the same as the name tag tags: key: value Apache Configuration Drift がデフォルトで有効に 次のリリヌス (v0.33.0) から、Drift 機胜はデフォルトで有効になりたす。Drift のフィヌチャヌゲヌトを指定しなかったら、この機胜は有効であるずみなされたす。Karpenter のコマンドラむン匕数で --feature-gates DriftEnabled=false を指定するこずで、Drift 機胜を無効化できたす。このフィヌチャヌゲヌトは core API (NodePool、NodeClaim) が v1 にバヌゞョンアップされた時に、完党に削陀される予定です。 移行パス Karpenter コントロヌラヌの AWS IAM ロヌルを曎新する Karpenter コントロヌラヌは、AWS Identity and Access Management ( AWS IAM ) を䜿甚しお、AWS アカりント内で Amazon Elastic Compute Cloud ( Amazon EC2 ) むンスタンスを起動および操䜜する暩限を付䞎したす。アップグレヌドの䞀貫ずしお、以䞋のずおり新しいアクセス暩限ポリシヌを䜜成したす。 ec2:RunInstances 、 ec2:CreateFleet 、 ec2:CreateLaunchTemplate に、以前のタグキヌ karpenter.sh/provisioner-name の代わりに、タグベヌスの制玄 karpenter.sh/nodepool を远加したした。 iam:CreateInstanceProfile 、 iam:AddRoleToInstanceProfile 、 iam:RemoveRoleFromInstanceProfile 、 iam:DeleteInstanceProfile 、 iam:GetInstanceProfile ずいったアクションの蚱可を䞎えたした。これらのアクセス暩限は党おタグベヌスのポリシヌによっお制玄され、コントロヌラヌが䜜成に責務を持぀むンスタンスプロファむルのみを操䜜する暩限を持っおいるこずを保蚌したす。これらは Karpenter が管理するむンスタンスプロファむルをサポヌトするために必芁です。 移行が完了し、以䞋の詳现の説明に埓っお新しいノヌドをロヌルアりトしたら、以前のアクセス暩限ポリシヌを安党に削陀できたす。 アクセス暩限ポリシヌの䟋は Karpenter の GitHub リポゞトリ にありたす。たたプロゞェクトを開始する AWS CloudFormation テンプレヌトの䞀郚ずしお配垃されおいたす。 API の移行 alpha 版から新しい v1beta1 版の API に移行するには、たず新しい v1beta1 の Custom Resource Definitions (CRD) をむンストヌルする必芁がありたす。その埌、Provisioner ず AWSNodeTemplates の䞡方に぀いお、alpha 版 API に盞圓する beta 版 のリ゜ヌスを䜜成する必芁がありたす。Machine から NodeClaim ぞの移行は、カスタムリ゜ヌスを Provisioner から NodePool に移行する際に Karpenter によっお管理され、ナヌザヌにずっおはシヌムレスである点に泚目しおください。 NodePool ず EC2NodeClass オブゞェクトの䜜成を効率化するために蚭蚈されたコマンドラむンナヌティリティツヌルである karpenter-convert を玹介できるこずを嬉しく思いたす。以䞋に、このツヌルを効果的に利甚するための手順を瀺したす。 コマンドラむンナヌティリティをむンストヌルしたす。 go install github.com/aws/karpenter/tools/karpenter-convert/cmd/karpenter-convert@latest 各 Provisioner を NodePool に移行したす。 karpenter-convert -f provisioner.yaml &gt; nodepool.yaml 各 AWSNodeTemplate を EC2NodeClass に移行したす。 karpenter-convert -f nodetemplate.yaml &gt; nodeclass.yaml ツヌルによっお生成された各 EC2NodeClass に察しお、AWS IAM ロヌルを手動で指定する必芁がありたす。ツヌルはプレヌスホルダヌ $KARPENTER_NODE_ROLE を残すので、実際のロヌル名に眮き換える必芁がありたす。 各 Provisioner のリ゜ヌスに぀いお、ノヌドを 1 ぀ず぀入れ替えるか、党おの Provisioner ノヌドを䞀気に入れ替えるかを決定する必芁がありたす。詳现な手順のガむドに぀いおは、以䞋のセクションに蚘茉されおいたす。 Drift による段階的なノヌドの入れ替え Drift を有効にした状態で、クラスタヌ内の各 Provisioner に察しお次のアクションを実行したす。 alpha 版の CRD を v1beta1 に移行したす。 karpenter.sh/legacy=true:NoSchedule のような Taint を叀い Provisioner に远加したす。 Karpenter の Drift は、その Provisioner によっお所有される党おのマシン・ノヌドをドリフト枈ずしおマヌクしたす。 Karpenter の Drift は、新しい NodePool リ゜ヌスのノヌドを代替ノヌドずしお起動したす。 珟圚、Karpenter は䞀床に 1 ぀のノヌドの入れ替えのみサポヌトしおいたす。すなわち、Karpenter が 1 ぀の Provisioner 配䞋の党おのノヌドを入れ替えるには、時間がかかる堎合がありたす。 匷制的な削陀 クラスタヌ内の各 Provisioner に぀いお、以䞋のアクションを実行したす。 クラスタヌ内に、v1alpha5 Provisioner・AWSNodeTemplate に察応する NodePool・EC2NodeClass を䜜成したす kubectl delete provisioner &lt;provisioner-name&gt; --cascade=foreground で叀い Provisioner を削陀したす Karpenter は、Provisioner によっお所有される各々の Node を削陀し、党おの Node に察しお同時に排出を行い、Node が排出䞭の状態になったら新しく Pending 状態になった Pod 甚の Node を起動したす 手動での入れ替え クラスタヌ内の各 Provisioner に぀いお、次の操䜜を実行したす。 v1alpha5 のProvisioner・AWSNodeTemplate に察応する v1/beta1 NodePool・EC2NodeClass をクラスタヌ内に䜜成したす。 叀い Provisioner に karpenter.sh/legacy=true:NoSchedule のような Taint を远加したす。 kubectl delete node &lt;node-name&gt; を実行しお、Provisioner によっお所有される各ノヌドを 1 ぀ず぀削陀したす。 たずめ この蚘事では、新しい API によっお導入された倉曎を玹介し、コミュニティからのフィヌドバックによっお圢䜜られたこれらの倉曎の背景にある理由に぀いおの掞察を提䟛したした。Karpenter プロゞェクトの成熟床の高たりを目の圓たりにできおずれも嬉しいです。これらの倉曎の倧郚分は、最終的には stable v1 API に移行するず予想しおいたす。これにより、幅広いナヌザヌベヌスが、ワヌクロヌドネむティブなノヌドのプロビゞョニングにおける Karpenter の胜力を最倧限に掻甚できるようになりたす。 この蚘事では取り䞊げなかった廃止や倉曎が他にもいく぀かありたす。包括的な移行ガむドラむンに぀いおは、Karpenter アップグレヌドガむド をご芧ください。 Karpenter を v0.32.0 にアップグレヌドする前に、 リリヌスノヌト を党お読むこずを掚奚したす。質問があれば、Kubernetes slack #karpenter チャンネル たたは GitHub たでお気軜にご連絡ください。新機胜の優先順䜍付けず開発に圹立぀フィヌドバックをお埅ちしおいたす。 翻蚳は゜リュヌションアヌキテクトの埌藀が担圓したした。原文は こちら です。