Amazon Web Services ブログ

Category: Python

Amazon CodeGuru Reviewer の新機能 — ログインジェクションの脆弱性を検出する Detector Library および Security Detectors

Amazon CodeGuru Reviewer は、コード内のセキュリティ脆弱性を検出し、コードの品質を向上させるためのインテリジェントな推奨事項を提供するデベロッパーツールです。例えば、CodeGuru Reviewer は、Open Web Application Security Project (OWASP) の上位 10 個のカテゴリからセキュリティリスクを特定し、AWS API および共通暗号ライブラリのセキュリティのベストプラクティスに従う、Java および Python コード用の Security Detectors を導入しました。re: Invent で、CodeGuru Reviewer はハードコードされたシークレットを識別する Secrets Detector を紹介し、AWS Secrets Manager でシークレットをセキュア化するための修復手順を提案しました。これらの機能は、デプロイする前にセキュリティ上の問題を見つけて修復するのに役立ちます。 2022 年 2 月 15 日(米国時間)、CodeGuru Reviewer の 2 つの新機能をご紹介したいと思います。

Read More

AWS Health Aware — 組織および個人の AWS アカウントの AWS Health アラートのカスタマイズ

AWS は高い可用性でサービス提供できるよう努力しており、ほとんどのサービスで 99.9% の稼働率を達成しています。そうは言っても、お客様は稀に発生するインシデントに対応できるよう準備する必要があります。AWS Health は、サービス品質の低下、スケジュールされた変更、リソースに影響を与える問題に関する情報を取得するための主要なチャネルです。ミッションクリティカルなアプリケーションを実行しているお客様がインシデントからの復旧プロセス全体を改善し、優れた運用を維持するためにはプロアクティブかつリアルタイムにアラートを受け取れなければなりません。Health イベントのモニタリングと AWS で実行されるお客様のアプリケーションの信頼性と可用性の維持には、スピードと俊敏性が非常に重要です。

Read More

あらゆる言語でのCDKアプリケーションのテスト

AWS Cloud Development Kit (AWS CDK)は、使い慣れたプログラミング言語でクラウドアプリケーションのリソースを定義するためのオープンソースソフトウェア開発フレームワークです。AWS CDKはインフラストラクチャをプログラミング言語で定義できるため、アプリケーションのコードと同様に、インフラストラクチャのコードに対しても自動化されたユニットテストを記述することができます。テストは効果的なDevOpsの実践のために重要な要素であり、インフラストラクチャのコードをテストすることで、AWSクラウドで期待通りのリソースを確実に作成することができ、リグレッションが発生するのを防ぐことができるなどのメリットがあります。 今日、私はAWS CDK用のassertions モジュールを発表できることを嬉しく思います。これはCloudFormationテンプレートを中心に、CDKアプリケーションに対してユニットテストを書くのに役立つように設計されたAPIのセットです。 すべての言語をサポート 以前のAWS Blogの記事では、JavaScriptとTypeScriptでのみ利用可能なassertモジュールを使ってテストを書く方法を説明しました。assertモジュールと同様に、新しいCDK assertionsモジュールは、CDKアプリによって生成(synthesize)されたCloudFormationテンプレートを正確に検証するためのAPIセットを提供します。さらに、新しいassertionsモジュールは、CDKがサポートするすべての言語に対応しています。

Read More

Coursera の新しい Modern Application Development 専門講座を発表

この記事は、2021年7月28日に Anand Tripathi によって投稿された Announcing new modern application development Specializations on Coursera を翻訳したものです。 International Data Corporation (IDC) は、2025年までに新しいアプリケーションの 90% 以上がクラウドネイティブになると予測していますが、最新のエンタープライズアーキテクチャに関する知識を持つ従業員が大幅に不足しています。Burning Glass は、米国だけでも200万以上のプログラミング言語ベースの開発者の求人数があると推定しており、今後10年間で前年比で平均 29% 増加すると予想しています(*)。これが意味するのは、あなたが開発者で、現代において需要の高いクラウドスキルを持っているなら、自分のキャリアパスを描く絶好の機会があるということです。 クラウドをはじめて使う開発者や、レガシーアプリケーションをクラウドに移行する開発者、クラウド開発者になりたい開発者に向けて、AWS Training & Certification と Coursera は、モダンなサーバーレスアプリケーションを AWS で構築するために必要なスキルを獲得するのに役立つ、4つの新しい Modern Application Development 専門講座を Coursera で発表します。

Read More

GitHub モノレポを AWS CodePipeline と統合して、プロジェクト固有の CI/CD パイプラインを実行する

(この記事は、Integrate GitHub monorepo with AWS CodePipeline to run project-specific CI/CD pipelines を翻訳したものです。) AWS CodePipeline は、ソフトウェアのリリースに必要なステップをモデル化、可視化、自動化できる継続的デリバリーサービスです。AWS CodePipeline を使用して、コードを構築し、稼働前の環境にデプロイし、アプリケーションをテストし、実稼働環境にリリースするまでの完全なリリースプロセスをモデル化できます。AWS CodePipeline は、コードが変更されるたびに定義されるワークフローに従って、アプリケーションを構築、テスト、デプロイします。多くの組織が GitHub をソースコードリポジトリとして使用しています。組織によっては、1 つの GitHub リポジトリに複数のアプリケーションまたはサービスをフォルダで分割して格納することを選択しています。リポジトリ内のソースコードをこのように整理する方法は、モノレポと呼ばれます。 この記事では、AWS Lambda で GitHub イベントペイロード(訳者注:GitHub 上でのアクティビティを元にトリガーされるイベント情報。詳細は GitHub イベントのドキュメントをご確認ください。)を読み取り、サービス固有のパイプラインを実行するようにカスタマイズする方法を示します。

Read More

AWS Cloud Development Kit v2 開発者プレビューのお知らせ

AWS Cloud Development Kit (AWS CDK) v2が開発者プレビューとして、TypeScript、Python、Java、C#、Go言語で利用できるようになりました。AWS CDKは、使い慣れたプログラミング言語を使ってクラウドアプリケーションのリソースをモデル化し、プロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。AWS CDKを使用すると、インフラストラクチャをコードとして定義し、AWS CloudFormationを通じてプロビジョニングすることができます。AWS CDKは、実績のあるデフォルト値で事前に設定された高レベルなコンポーネントを提供しているため、専門家でなくてもクラウドアプリケーションを構築することができます。また、組織の要件を組み込んだ独自のカスタムコンポーネントを構成して共有することができるため、チームが新しいプロジェクトを迅速に開始することができます。 2019年7月には、TypeScriptとPython向けのAWS CDK v1の一般提供を発表しました。それ以降、JavaとC#の追加言語のサポートをリリースし、Go言語バインディングの開発者プレビューをリリースしました。今回はv2のプレビューリリースを発表します。このリリースによりAWS CDKをより簡単に利用できるようになり、また今後のバージョンアップに対応することがより容易になります。 AWS CDK v1アプリケーションの最新マイナーバージョンからv2への移行は、比較的簡単です。まずAWSアカウントで再度ブートストラップ (cdk bootstrap) をする必要がありますが、これは各リージョンで一度だけの作業です。ほとんどのプロジェクトでは、インポート文を更新し、合成(synth) し、デプロイするだけで済みます。リソースに若干の変更があるかもしれませんが、リソースの作り直しが必要になるようなことはありません。 この記事では、AWS CDK v1とv2の間の変更点をご紹介します。

Read More

cfn-lint を使った AWS CloudFormation テンプレートの Git pre-commit バリデーション

AWS CloudFormation のツールはいまや黄金期をむかえています。cfn_nag や taskcat といったツールによって、1 つのリソースをアカウントにデプロイする前にテストと検証を実行することで、コードとしてのインフラストラクチャの取り扱いが容易になりました。このブログ記事では、linter を使って CloudFormation テンプレートを検証する方法について解説していきます。   linter とは、コードを精査して、そのコードを実行したときにエラーを発生させる可能性のある構文エラーやバグがないかを探すプログラムのことです。スタンドアロンのツールとして実行することも可能ですが、ビルド自動化やオーサリングなどのツールに組み込まれていることが多いです。 これまで CloudFormation による構文チェックは、サービス API の ValidateTemplate アクションに限られていました。このアクションを実行すると、テンプレートが正しい形式の JSON または YAML で書かれているかどうかがわかりますが、自分で定義した実際のリソースが検証されているわけではありません。数か月前、私はより良い選択肢がないか探しました。Stelligent の cfn_nag のようなツールは、テンプレートのリソースに追加の検証を実行できますが、これはセキュリティやベストプラクティスの観点から行われるものです。さらに探しているうちに、CloudFormation のサービスチームが、リソースやプロパティに有効な構文について説明したリソース仕様を公開していることを発見しました。 AWS CloudFormation linter の紹介 同じころ、Amazon の同僚である Kevin Dejong が、Python で自ら記述した CloudFormation linter のオープンソース化を準備していました。これは、私が求めていた必須項目のほとんどをクリアしていました。 組み込み関数の解析 (条件文を含む) 拡張可能なルールベースのアーキテクチャ 公開済みのリソース仕様に照らした検証 Python で記述されている (ええ、私は偏ってます) 私はこの linter の、とりわけ拡張性に強く引かれました。コミュニティのメンバーは、許容値や二者択一のリソースプロパティなど、リソース仕様の外部に存在する事柄について、新しい構文規則を追加することが可能になるからです。 当社は昨春、この linter を cfn-lint […]

Read More

Amazon CodeGuru Reviewer のアップデート: 最大 90% 値下げとなる新しい予測可能な料金モデル、Python サポートが一般利用可能に

Amazon CodeGuru は、機械学習と自動化された推論を活用した推奨事項により、コードレビューの自動化とコード品質の向上を支援します。 CodeGuru Reviewer を使用すると、検出しにくい潜在的な欠陥やバグを検出し、 CodeGuru Profiler によってライブデータに基づいてアプリケーションのパフォーマンスを微調整することができます。このサービスは 2020 年 6 月から一般公開されています。CodeGuru の使用開始方法については、こちらをご覧ください。 ここ数か月で多くのお客様と協力しながら、 セキュリティ検出器、プレビューでの Python サポート、メモリプロファイリングを導入し、お客様がコード品質を向上させ、デベロッパーの時間を節約するのを支援しています。また、料金設定や対象言語の範囲など、さまざまな分野に関するご意見もいただきました。こうしたフィードバックに対応し、より簡単に組織内で大規模に Amazon CodeGuru を採用できるようにしました。 本日、CodeGuru Reviewer の 2 つの主要なアップデートを発表いたします。 リポジトリのサイズに基づいて月額料金を低く固定し、最大 90% の値下げとなる、まったく新しい、見積もることが簡単な料金モデルになっています。 Python サポートが一般利用可能 (GA)となりました。推奨範囲が広く、Python 検出器に関連する 4 つの更新が行われています。 CodeGuru Reviewer の新しい予測可能な料金 CodeGuru Reviewer を使用すると、GitHub、GitHub Enterprise、AWS CodeCommit、Bitbucket に保存されているリポジトリのフルスキャンを実行できます。また、プルリクエストを送信するたびに、 CodeGuru Reviewer は新しいコードレビューを開始し、コメントの形式で推奨事項と改善を提案します。 以前の料金体系は、1 か月あたりの分析コード行数 (LoC) に基づいており、100 LoC あたり 0.75 USD […]

Read More

Amazon CodeGuru の新機能 – Python サポート、Security Detector、および Memory Profiling

Amazon CodeGuru は、コードの品質を向上させるデベロッパーツールであり、次の 2 つの主要コンポーネントで構成されています。 CodeGuru Reviewer は、プログラム分析と機械学習を使用して、コード内で見つけにくい潜在的な欠陥を検出し、改善のための提案を提供します。 CodeGuru Profiler は、ライブアプリケーションからランタイムパフォーマンスデータを収集し、アプリケーションのパフォーマンスを微調整するのに役立つ視覚化と推奨事項を提供します。 本日は、3 つの新機能を発表いたします。 CodeGuru Reviewer および CodeGuru Profiler 用の Python のサポート (プレビュー) – CodeGuru を使用して Python で記述されたアプリケーションを改善できるようになりました。このリリース以前には、CodeGuru Reviewer は Java コードを分析でき、CodeGuru Profiler は Java 仮想マシン (JVM) で実行されるアプリケーションをサポートしていました。 CodeGuru Reviewer 用の Security Detector – CodeGuru Reviewer 用の新しい検出機能セットで、セキュリティの脆弱性を特定し、Java コード内のセキュリティのベストプラクティスをチェックします。 CodeGuru Profiler 用の Memory Profiling – 時間の経過に伴うオブジェクトタイプごとのメモリ保持の新しいビジュアライゼーションです。これにより、メモリリークを検出し、アプリケーションによるメモリの使用を最適化することが容易になります。 これらの機能をもっと詳しく見てみましょう。 […]

Read More

RAPIDSをAmazon SageMaker Processingで実行する

こんにちは、アマゾン ウェブ サービス ジャパンの藤田です。Amazon SageMakerは、すべての開発者が機械学習モデルを迅速に構築、トレーニング、デプロイできるようにするための完全マネージド型サービスです。Amazon SageMakerは機械学習モデルの開発を容易にするため、機械学習の各プロセスから負荷の大きな部分を取り除きます。 今回は、開発者が機械学習の前処理、後処理、モデル評価といったワークフローをAmazon SageMaker上で簡単に行うためのPython SDKであるAmazon SageMaker ProcessingとデータサイエンスのワークフローをGPUで高速化するフレームワーク、RAPIDSを使用し、サーバレスに前処理、特徴量作成を行う方法を紹介します。

Read More