Shareオンラインの世界は時として不愉快な場所です!あなたがウェブサイトを公開するや否や、問題を起こしたり、サイトを停止させようとする多くの種類の攻撃の標的にされます。攻撃は非常に一般的な問題の一つです。攻撃者はウェブ上のあらゆる侵害されたリソースを利用し、活動を特定の標的に集中させます。DDoS攻撃には一般的に3つの種類があります。GETやDNSクエリが一般的)からなります。複数のHTTP接続を開き、数秒または数分かけてレスポンスを読むことで、過剰にメモリが消費され、正当なリクエストが処理されなくなります。ステートフルなプロトコルを悪用し、一接続当たりに多くのリソースを消費させることでファイヤーウォールや負荷分散装置に負荷を与えます。対処しきれないほどの大量なトラフィックを送りつけたり、無防備な被害者に驚くほど大量の低レベル”surprise”応答を送りつける偽クエリを発行(別名:リフレクション攻撃)させて、ネットワークを不通にします。53と連携して動作し、様々なタイプ、形状、サイズの攻撃からお客様を保護します。このサービスには二つのTierがあります。追加費用なしで、すべてのAWS顧客が利用できます。フラッド、リフレクション攻撃、HTTPスローリードなど、今日最も一般的な攻撃の96%からお客様を守ります。53リソースに自動的かつ透過的に適用されます。ボリューム攻撃に対する追加のDDoS軽減機能、インテリジェントな攻撃検出、アプリケーションおよびネットワーク層での攻撃に対する軽減を提供します。攻撃の軽減のカスタマイズ、高度なリアルタイムメトリクスとレポート、DDoS攻撃の影響で請求金額が跳ね上がるのを防ぐDDoSコスト保護のために、私たちのDDoSレスポンスチーム(DRT)に24時間365日アクセスできます。Share私たちは、ビルドの複雑性や配布されたアプリケーションを、多数のWebアプリやマイクロサービスの連携によってより簡易にしたいと考えています。あなたが複雑なビジネスプロセスを構築しているか写真のアップロードのプロセスをセットアップしているかに関わらず、あなたはコーディネーションではなくコードにフォーカスしてほしいと、私たちは思っています。あなたがツールやライブラリに既に明るくなっていてそれらを使うことで、可用性の高いアプリケーション、つまり強固であり、スケーラブルであり、コスト優位性があり、を構築できるようになってほしいと思っています。Functionをリリースしました。これにより、あなたは、ビジュアルなワークフローにて、アプリケーションのコンポーネントを一連のステップとしてコーディネートすることが出来ます。machine”(マシン状態)を生成します。machineも”tate”のセットとそれらのトランザクションを定義します。”state”は直列や並列でアクティベートされることが可能です。Functionは、次に進む前に、全てのパラレルstateが完了に向けて実行されます。machineを通してプロセスの進捗をコントロールします。machineの概要です。machineのコピーは、同時に独立して実行させることが可能です。そのとき、どのコピーも1つの実行と呼ばれます。Functionsにより数千の同時実行もさせるこが出来るため、どのような要求レベルであってもスケールさせることが可能です。stateが実行されたときに何を起こさせるかを指定するために2つの方法があります。1つは、stateが実行されたときに同期的に呼び出されるLambda関数を使う方法です。1つは、Activityと呼ばれるものを使う方法です。これは、長時間実行ワーカー関数の参照実装です。この参照実装では、APIを使ってworkの完了をポーリングします。どちらの方法でも、コードはインプットとしてJSON形式で、またアウトプット形式は別の型のJSON形式が期待されます。machineの機能として、エラーハンドリング時の挙動やリトライロジックを組み込むことが出来ます。これにより、あなたのコードの一部の問題により一時的な問題発生が起こったとしてもスムーズに実行できる、強固なアプリケーションをビルドできることになります。machineをセットアップしてみましょう。FunctionのAPIを使うことにご留意ください。シンプルなLambda関数を生成して保存します。その間に、functionのARNを記録しておきます。Machine」ボタンを押します。入力し、実行開始のためにblueprintsから1つを選んでクリックします。Worldを使って開始します。News上で書いたコメントがきっかけでAWSのお客様から興味深いメールを頂きました。CloudFrontを経由して少ないレイテンシーで提供していると教えてくれました。Beanstalk上でホストしているAPIを使って、それぞれのユーザー向けにカスタマイズして表示するいくつかの動的な要素を含みます。彼が説明してくれた彼の課題はこちらです。適切に検索エンジンのインデックスを取得するために、またFacebookやTwitterないで正しく表示するためのコンテンツのプレビューをするためには、それぞれのページが事前に表示されたバージョンを提供する必要があります。こちらを実現するには、一般ユーザーがヒットするたびに、私たちのサイトはノーマルのフロントエンドをCloudFrontから提供する必要があります。Twitter等にマッチする場合は、その代りに私たちは事前に表示されたバージョンへリダイレクトさせる必要があります。私たちはこのユースケースについてよく分かっており、興味深いソリューションを準備中であることを彼に秘密を漏らすことなく伝えました。他のお客様もまた、エッジにおいてクイックな判定によりカスタマイズしたいと伝えてくれてました。お客様に近いロケーションでHTTPリクエストを”賢く”処理しなければならないユースケースがあることがわかりました。これらには、HTTPヘッダの検査および変更、アクセスコントロール(特定のcookieを必要とする)、デバイス検出、A/Bテスト、クローラーまたはbotsのための処理または特別な対応、レガシーシステムに適応させるためにユーザーフレンドリーなURLを書き換えるユースケースを含みます。多くのこれらのユースケースは、シンプルなパターンマッチングやルールによって表現可能なユースケースよりも多くの処理や判定を必要とします。これらのユースケースのサポートを提供するために、私はLambda@Edgeのプレビューをラウンチしています。この新しいLambdaベースの処理モデルにより、ますます増加するAWSエッジロケーションのネットワーク内で動作するJavaScriptコードを書くことが出来ます。CloudFrontのディストリビューションを通して流れるリクエストやレスポンスを処理する軽量なロジックを書くことができます。4つの異なるイベントに対するレスポンスの中でコードを実行できます。あなたのコードは、コンテンツがキャッシュされるか否かに関わらず、あらゆるリクエストにおいて動作します。こちらがシンプルなヘッダ処理用のコードです。リクエストされたコンテンツがエッジでキャッシュされていない時に、Originに転送される前にコードを実行します。ヘッダを追加したり、既存のヘッダを編集したり、URLを編集したりすることが可能です。キャッシュされているか否かに関わらず、すべてのレスポンスにおいてコードを実行します。Viewerに戻す必要のないヘッダをクリーンアップするためにこちらを利用できます。Pinpointを紹介するため、以下のゲストポストを書きました。Share私は1978年秋に大学に入学しました。370/168メインフレームを中心に構築されました。Iコンパイラを呼び出す暗黙のジョブ制御言語(JCL)。デッキを提出ウィンドウに持ってきて、ジョブIDと引き換えにオペレーターに渡してから、数時間後に戻って印刷出力とカードデッキを回収します。私はその印刷物を慎重に研究しましたが、仕事に就いて数時間を待ってから、実際の稼動時間はほんの数秒であったことに気付いていました。仲間の学生と私がすぐに学んだように、学校のIT部門が開始した仕事は優先順位4で実行され、私たちは8で実行されました。彼らの仕事は私たちよりも優先されました。優先順位の高いメカニズムの目標は、高価なハードウェアを可能な限り完全に使用することでした。学生の生産性は、リソースの効率的な使用に引き続き二次的でした。アナリストなどがこれまで以上に多くのコンピューティングサイクルを楽しめるようになりました。多くの組織では、オープンソースまたは商用ジョブスケジューラを搭載した社内の計算クラスタを構築することによって、これらのニーズに対応しようとしています。三度、優先順位が立ちはだかり、依然として、決して十分な計算能力がないようです。クラスタは、構築・運用するのに費用がかかり、同一の、ほぼ差異のないプロセッサの大きな配列で構成され、ビンテージとまったく同じ仕様に構築されることが多い。クラウドコンピューティングは、さまざまな種類のEC2インスタンスへの迅速なアクセス、ニーズの変化に対応して拡大縮小する機能、および、必要なキャパシティに対して入札を行い、可能な限り経済的にそれを得られる価格モデルによって、バッチコンピューティングモデルをより良いものに変える可能性を秘めています。これまで、多くのAWSのお客様は、EC2インスタンス、コンテナ、通知、CloudWatchモニタリングなどを使用して独自のバッチ処理システムを構築してきました。これは非常に一般的なAWSユースケースであることが判明し、バッチ処理システムの構築を達成することをさらに容易にすることに決めました。今日、完全に管理されたバッチ機能の新しいセットについてお話したいと思います。Batchにより、バッチ管理者、開発者、およびユーザーは、クラスタのプロビジョニング、管理、監視、またはメンテナンスを行うことなく、クラウドのパワーにアクセスできます。購入するものはなく、インストールするソフトウェアはありません。Batchは、特に違いを生まない重い作業を処理し、EC2インスタンスの動的にスケーリングされたセットでコンテナイメージとアプリケーションを実行できるようにします。S3、DynamoDB、およびSNSが含まれます。Dashboardをリリースしたのは2008年になります。Dashboardと比べると、この8年でAWSがどのくらい成長した化が見て取れます)。現在のダッシュボードは、AWSサービス毎の状態を俯瞰的に表示するため、個別最適されたダッシュボードというわけれではありませんでした。そのため、お客様と会話をすると、全体的なダッシュボードというよりは、お客様の利用サービス、リソースに合わせた状態管理を希望されることもありました。Dashboardをリリースしました。サービス名の通り、このダッシュボードは利用しているAWSサービスのパフォーマンス、可用性に関した個別のビューのみならず、サービスの状態に変化が会った際にはアラートを自動的に発行します。利用中のサービスに関して一元的に監視するためにデザインされており、影響を及ぼすであろう問題に関して、より詳細に可視化することが可能です。ダッシュボードに関係する情報が登録されると、コンソールから通知アイコンを確認出来ます。“issues”をクリックすると、影響するであろうAWSインフラストラクチャが確認できます(これらのデータはすべてテストデータです)。アイテムをクリックするとその問題を修復するためのガイダンスを含むより詳細の情報を確認することができます。事前に予定されているアクティビティを確認することで注意喚起をうながすこともできます。それ以外にも、興味のあるサービスについての情報を確認することもできます。Eventsと連携することで、アラート対応でしたり、スケジュールイベント対応を自動化させることも可能です。自主的にメンテナンスイベント対応が必要なEC2インスタンスを移動することで、メンテナンスイベント通知対応が可能になります。APIをご利用頂けます。HealthDashboardの情報をを既存のITマネジメントツールとの連携されることがが可能になります。Jeff(翻訳はSA酒徳が担当しました。ECSについてお話して、Dockerベースのアプリケーションをビルドし実行し、そしてスケールさせることを如何に手助けしてくれるかをご紹介しました。そこでは3つのスケジューリングの選択肢(自動、手動、そしてカスタム)について話をし、スケジューラがインスタンスにどの様にタスクを割り当てるかを説明しました。その時書いた記事では、カスタムスケジューラは現在のクラスタの状態を見るためにListContainerInstancesとDescribeContainerInstancesを定期的に呼び出す必要があると記しました。Eventsのサポートを追加することで各クラスタの状態を追跡する処理を簡素化しました。この新しいイベントストリームが出たので、我々はカスタムスケジューラの作成をもっと簡単にしたいと思います。本日、我々はBloxを開始します。APIで利用可能にするサービスが含まれています。クラスタ内の各コンテナインスタンスにタスクを1つだけ実行するデーモンスケジューラも含まれています。このコンテナを1つずつ配置するモデルで、ログ処理やメトリクス収集のワークロードをサポートします。プルリクエストや機能要望を楽しみにしています。Serviceより、Bloxをご紹介をご覧下さい。Share開発者は通常、ソースコードの変更に対する継続的インテグレーションのビルドとテストを実行するために、共有のビルドサーバを構築し運用しなければいけません。継続的インテグレーションを運用するのは面倒なことなので、多くの開発者はそれを避けてローカルマシンでビルドを実行します。これによって、ある開発者の環境では動作するコードが最終的な本番環境ビルドで動作しないという状況が、しばしば引き起こされます。継続的デプロイ)パイプラインの構成要素としてビルドファームを構築します。ビルドファームの構築と運用はコストが高く、また独特のスキルが求められます。普段はビルドファームはあまり使われていませんが、修羅場の時には利用率は100%に達し、未処理のビルドリクエストが増えてしまいます。Hopperが、プログラムからエラーを特定し取り除く作業にデバッグという言葉を与えた最初の人だと思います。実際にコンピュータから本物のバグ(虫)を見つけたことはないですが、働き初めた頃にアセンブラ言語のデバッグに膨大な時間を費やしました。その当時は、デバッグとはコードを1ステップずつ実行し、各プロセッサのレジスタの中身をステップの前後で比較し、自分の頭の中のモデルと実際に起こっていることが一致しているかを検証するというものでした。これはとてもうんざりするようなものでしたが、バグが残る余地はほとんどなく、自分のコードがどの様に動くかの深い理解も得られるものでもありました。その後、1ステップずつの実行はなくなり、デバック出力(こんにちは、stderr)に取って代わり、それからログファイルとログ分析ツールへと変わっていきました。最近の過去数十年で、複雑な分散システムが登場してきたことで、デバッグは変化して新しい意味を持つようになりました。単体テストが個別の関数とモジュールが期待通り動作することを保証しているので、難易度の高いポイントは大規模な中での動作のパターンを見ることに変わっています。クラウドコンピューティング、マイクロサービス、そして非同期な通知ベースのアーキテクチャの組合せによって、システムは数百から数千もの可変な箇所を持つようになりました。した複雑なシステムでのパフォーマンス課題を特定し対応していく難しさは増していて、個別サービスレベルの観測情報を集約して意味のある上位の結果にすることに難しさがあります。開発者にとって、EC2インスタンス、ECSコンテナ、マイクロサービス、AWSのデータベースやメッセージサービスを辿って”筋道を追う”ことは簡単ではありません。ShareAWSのお客様はT2インスタンスを使う時に得られるコスト効率のよい、バーストベースのモデルを好まれています。webサーバや開発環境、継続的なインテグレーション用のサーバ、テスト環境、そして小さなデータベース等の一般的な用途でのワークロードを動作させるのにT2インスタンスを使います。これらのインスタンスは豊富なベースラインパフォーマンスと、必要に応じてフルコアのプロセッシングパワーにまで透過的にスケールアップを提供します。本日2つの新しいより大きなT2インスタンスサイズを追加します。T2のバーストモデルの価格とパフォーマンスのメリットを享受頂けます。(t2インスタンスのレンジを拡大するのは、今回が3度目になります;昨年の6月にt2.largeを、昨年の12月にt2.nanoを追加しました。こちらがT2インスタンスのすべてのサイズ向けのスペックになります。(価格は最近のEC2の値下げを反映しています。Eastリージョンの料金になります。機会均等法を順守しています。平等に採用しています。