Amazon Web Services ブログ

AWS Secrets Controller PoC: AWS Secrets Manager と Kubernetes の統合

  はじめに Kubernetes では、API キーや証明書などのシークレットオブジェクトを使用して、podSpec の外部に機密情報を保存して管理できます。概念的には、これにより、他のタイプの Kubernetes オブジェクトとは異なる方法でシークレットを処理できます。それにもかかわらず、多くの顧客は、最初に導入されたときにカスタマーマネージドキーによる強力な暗号化オプションが含まれていなかったため、シークレット素材の保存用に Kubernetes Secrets を使用することを避けました。これが、この PoC を作成する動機となりました。Kubernetes 動的アドミッションコントローラを使用して、外部サービス (AWS Secrets Manager) からシークレットを使用する方法を示します。 EKS の最近の進歩 最近、EKS は Kubernetes Secrets の KMS エンベロープ暗号化のサポートを追加しました。エンベロープ暗号化では、カスタマーマネージドの AWS KMS キーを使用して、Kubernetes がシークレットの暗号化に使用するデータキーを暗号化できます。これにより、Kubernetes の外部に保存されている別のキーに依存するため、全体的なセキュリティ体制を強化できます。AWS が etcd に保持されているデータを保護するために、既に使用しているフルボリューム暗号化に追加されます。Kubernetes Secrets データ暗号化の詳細については、暗号化データのドキュメントをご覧ください。 エンベロープ暗号化により、Kubernetes Secrets はシークレット素材を保存するための実行可能なオプションになりますが、これにはいくつかの欠点があります。まず、Kubernetes ポッドとシークレットのスコープは名前空間です。ポッドとシークレットが名前空間を共有している場合、ポッドはその名前空間で作成されたすべてのシークレットを読み取ることができます。次に、Kubernetes Secrets は自動的にローテーションされません。シークレットを定期的にローテーションする必要がある場合は、手動でローテーションを行う必要があります。 Kubernetes Secrets の代案 従来からお客様は、詳細な権限とシークレットの自動ローテーションの両方をサポートする Hashicorp の Vault などの外部シークレットプロバイダーを使用して、Kubernetes Secrets の欠点に対処してきました。また、Kubernetes サービスアカウントおよび変更ウェブフックを介して Kubernetes […]

Read More

Amazon Aurora MySQL から Amazon S3 にデータをエクスポートおよびインポートするためのベストプラクティス

複雑なアプリケーションを小さな部分に分割することにより、多数の専用データベースを使用して高度に分散したアプリケーションを構築できます。これにより、ジョブに適したデータベースを選択できます。Amazon Aurora は、OLTP ワークロードの推奨される選択肢です。Aurora により、クラウド内でリレーショナルデータベースをセットアップ、操作、スケーリングするのが容易になります。 この記事では、Aurora MySQL から Amazon Simple Storage Service (Amazon S3) にデータをエクスポートおよびインポートする方法を示し、関連するベストプラクティスについて説明します。Amazon Aurora PostgreSQL では、データを Amazon S3 機能にエクスポートおよびインポートすることもできます。このブログでは、Amazon Aurora MySQL に焦点を当てます。 Aurora と Amazon S3 の概要 Aurora は、クラウド向けに構築された MySQL と PostgreSQL の互換性があるリレーショナルデータベースで、従来のエンタープライズデータベースのパフォーマンスと可用性、およびオープンソースデータベースのシンプルさと費用対効果を兼ね備えています。 Amazon S3 は、業界をリードするスケーラビリティ、データの可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。つまり、どの規模と業界の顧客もこれを使用して、任意の量のデータを保存および保護できます。 前提条件 始める前に、以下を完了してください。 Aurora MySQL DB クラスターを起動します。既存のクラスターを使用することもできます。 MySQL クライアントをインストールした Amazon EC2 インスタンスを起動します。ここでは、MySQL Workbench を使用することもできます。 次の必須の Identity and Access […]

Read More

Amazon DocumentDB (MongoDB 互換) の開始方法 – パート 3; – Robo 3T の使用

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れたフルマネージド型のドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 3.6 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上でワークロードを実行、管理、そしてスケールするのに使えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 このシリーズのパート 3 であるこの投稿では、Amazon DocumentDB と Robo 3T (旧 Robomongo) の開始方法を説明します。Robo 3T は、軽量でシェル中心のオープンソースプラットフォーム間のグラフィカルユーザーインターフェイスツールであり、MongoDB ワークロードを管理します。Robo 3T は、データベースとコレクションの作成、ユーザーやドキュメントの追加、オートコンプリート機能を搭載した 1 回限りのクエリの実行、GUI インターフェイスからの結果の視覚化を実現するため、より効率的です。 この投稿では、VPC 内に単一インスタンスの Amazon DocumentDB クラスター、同じ VPC 内の EC2 Linux VM を作成し、2 つの間に SSH トンネルを設定します。また、Robo 3T を使用してクラスターに接続し、ローカルコンピュータからいくつかのクエリを実行します。次の図は、このチュートリアルの最終的なアーキテクチャを示しています。 Amazon DocumentDB クラスターの作成 AWS コマンドラインインターフェイス […]

Read More

Amazon EKS Windows コンテナで Calico を使用する

 この投稿は、ソフトウェア開発エンジニアの Anuj Singh 氏とエンタープライズソリューションアーキテクトの Steven David 氏によって提供されたものです。 このブログ投稿では、Amazon Elastic Kubernetes Service (EKS) で実行されている Calico for Windows コンテナをインストールして使用する方法について、順を追って説明します。 Tigera Calico for Windows は、Kubernetes ベースの Windows ワークロード向けのネットワーキングおよびネットワークセキュリティソリューションです。.NET アプリケーションなどの Windows ワークロードを EKS 環境に移動でき、ネットワークポリシーの適用の管理に Calico を役立てることができます。ネットワークポリシーは、ポッドなどの低レベルのデプロイでネットワークを定義できる AWS セキュリティグループに似ています。 Calico は以前 Amazon EKS Linux 環境で検証されました。プロセスはこちらに記載されています。本日は、EKS Windows ワーカーノードにおける Calico のサポートについて詳しく説明しています。Windows ノードの Calico は、Linux ノードのポッドとは対照的に、Windows サービスとして実行されます。 Tigera Calico for Windows は通常、Tigera […]

Read More

Amazon SageMaker を使用して本番稼働で ML モデルの A/B テストを行う

 完全マネージドサービスの Amazon SageMaker では、開発者やデータサイエンティストが機械学習 (ML) モデルを迅速に構築、トレーニング、デプロイできます。Intuit、Voodoo、ADP、Cerner、Dow Jones、Thompson Reuters をはじめとする何万人ものお客様が、Amazon SageMaker を使って ML プロセスで発生する負担の大部分を解消しています。Amazon SageMaker を使用すれば、ホストされたエンドポイントに ML モデルをデプロイし、リアルタイムに推論結果を取得できます。エンドポイントのパフォーマンスメトリクスは Amazon CloudWatch で簡単に表示でき、自動スケーリングを有効化することで、トラフィックに基づいて自動的にエンドポイントのスケールを調整できるほか、可用性を失うことなく本番稼働でモデルを更新できます。 e コマースアプリケーションなど、多くの場合、オフラインでのモデル評価では不十分であり、モデル更新の意思決定をする前に、本番稼働でモデルの A/B テストを実施する必要があります。Amazon SageMaker を使用すると、エンドポイントで複数の本番稼働用バリアントを実行することで、ML モデル上で A/B テストを簡単に実施できます。本番稼働用バリアントを使用することで、さまざまなトレーニングデータセット、アルゴリズム、および ML フレームワークを使用してトレーニングされた ML モデルをテストしたり、異なるインスタンスタイプのモデルの振る舞いをテストしたり、あるいは上記すべてを組み合わせたテストを行うことができます。 今までの場合、Amazon SageMaker は、ユーザーがエンドポイント上の各バリアントに指定した配分に基づいて、バリアント間の推論トラフィックを分割していました。これは、各バリアントにどれくらいのトラフィックを送るかを制御する必要がある一方で、リクエストを特定のバリアントにルーティングする必要がない場合に役立ちます。たとえば、本番稼働でモデルを更新して、トラフィックの一部を新規モデルに転送することで、既存のモデルと比較する必要がある場合などです。しかしユースケースによっては、特定のモデルで推論リクエストを処理して、特定のバリアントを呼び出す必要があります。たとえば、異なるカスタマーセグメントをまたいで ML モデルがどのような振る舞いをするかをテストおよび比較し、あるセグメントのカスタマーからのリクエストすべてを、特定のバリアントを用いて処理する必要がある場合などです。 今では、どのバリアントで推論リクエストを処理するかを選べるようになりました。各推論リクエストで TargetVariant ヘッダーを指定することで、Amazon SageMaker は指定されたバリアントでリクエストを処理します。 ユースケース: Amazon Alexa Amazon Alexa では、Amazon SageMaker を使用して、さまざまな ML ワークロードを管理しています。Amazon Alexa […]

Read More

“共有型”AWS DirectConnectでも使えるAWS Transit Gateway

AWS Transit Gateway (TGW)は徹底的に進化することにより、クラウドネットワーキングを簡素化しました。本記事では、複数Amazon Virtual Private Cloud(VPC)とオンプレミスの接続パターンを紹介します。 AWSでは、オンプレミスのネットワークとの接続にはAWS Direct Connect(DX)を使います。DX接続は様々な形態がありますが、日本のお客様に多い“共有型”DX接続ではTGWを直接使うことができません。TGWを使うことができることが“専有型”DX接続の優位点の一つですが、本記事では”共有型”DX接続でTGWを使った接続実現する方法を含めて、いくつかの接続パターンを解説します。 TGWのメリット TGWを使用すれば、一貫した信頼性の高いネットワークパフォーマンス を実現しながら、複数のVPCおよびDXを使ってオンプレミスネットワークを相互接続するのはお手の物です。TGWは各VPC、VPN、DXの間のすべてのトラッフィクを一箇所で制御することができます。 専有型が利用できる場合にはTGWとDXをつなぐと、AWSを経由してインターネット接続することもできます。 上の例では、TGWがAWS Direct Connect Gateway(DXGW)にアタッチされています。 DXの複数VPCでの利用は典型的なユースケースです。一方で、DXは1Gbps以上の接続につきTGWのためのトランジット仮想インターフェースは1つだけという制限があります。つまり、日本のお客様に多い、“共有型”DX接続ではTGWを直接使うことができません。 ここでは、複数VPCとオンプレミスの接続パターンを以下4つに整理してみます。1つ目だけが、“専有型または1Gbps以上のホスト型接続”のみ実現可能です。 TGWにDXをつける DX用のVPCにNetwork Load Balancer(NLB)を配置。VPC間はTGW DX用のVPCにNLBを配置。VPC間はAWS PrivateLink(Private Link) DXGWにVPCをつける 1. TGWにDXをつける この場合、すべてのトラフィックはTGWで管理できます。AWSを経由したインターネット接続もProxyなしで実現できます。また、全トラフィックを”監査用アプライアンス”に通すことで全トラフィックの記録 / 制限 / 監査も可能ですので、セキュリティ面でも有利です。 2. DX用のVPCにNLBを配置。VPC間はTGW DXにつながるVPCとして“DX用VPC”1つが現れました。このとき、DXからみれば1つの”DX用VPC”がつながるだけですので、”共有型”でも問題ありません。VPC間の通信はTGWで設定制御ができます。 オンプレミス↔VPC間で通信をしなければならない特定のサーバのフロントにはDX用VPCにNLBを設置することで通信できるようにします。サーバの数だけNLBを設定するため、サーバ数が増えるとNLBの時間あたり費用がかさむことに注意してください。 3. DX用のVPCにNLBを配置。VPC間はPrivateLink このパターンでは、PrivateLinkが重要です。マイクロサービスなど、VPCを自由にいくつも使っている場合には、IPアドレスブロックが重複することはよくあることです。2つ目のパターンでは、TGWをつかってVPC間の通信を制御していました。TGWではアドレス重複の答えにはなりません。PrivateLinkはその解決策です。 VPC間およびオンプレミスとの特定の通信はPrivateLinkで設定します。VPCからオンプレミス上のサーバにアクセスするためにも使うことができます。 4. DXGWにVPCをつけたとき VPCとオンプレミスの間の通信はあるけれども、VPC同士の通信が無いのであれば、TGWは実は必要なかったのかもしれません。なお、一つのDXGWに接続できるVPCは10までですので、スケーラビリティにもやや難があるかもしれません。VPCの数が10以上になった場合、2つめの共有型Private VIFを利用する事により、多くのVPCと接続することができます。ただし、共有型VIFを増やし続けると、”1.”でご紹介した専有型接続の方が結果的に安価となる分岐点に到達します。詳細な見積もりが必要な場合は、利用するパートナー様にご確認ください。 比較 比較の一覧を追加しておきます。料金試算は、東京リージョンで、3つのサービス用VPCと1つのオンプレミスのネットワークを接続し、サービスするVPCひとつあたり月間10TB通信があり、DXのIn/Outの比率が1:1の場合です。(詳細は最後に) 案1: TGWにDXをつけたとき 案2: DX用のVPCにNLBを配置。VPC間はTGW 案3: DX用のVPCにNLBを配置。VPC間はPrivateLink […]

Read More
Weekly AWS

週刊AWS – 2020/6/8週

みなさん、こんにちは。ソリューションアーキテクトの下佐粉です。 今週も週刊AWSをお届けします。 AWS Summit Onlineの開催が発表されました! 期間は9月8日(火) ~ 9月30日(水)で、日本では初のフル・オンライン開催のAWS Summitになります。期間中はセッションをオンデマンドでいつでもどこでも見られる形になる予定です。また9月8日(火) 、9月15日(火) はライブセッションをチャット形式で行う予定で、これまで会場の”ASK the Expert”コーナー等でお受けしていたエンジニアへのご相談をオンラインチャットで受け付ける試みも行う予定です。 – AWS Summit Online Japan 2020 オンライン開催ということで日本のどこからでも参加できますので、ぜひこちらのURLから事前登録をしておいていただければと思います。 それでは、先週の主なアップデートについて振り返っていきましょう。

Read More

Pelion Device Management 管理下のマイコンデバイスにおけるデータの分析・可視化とアラート通知

温度や湿度、加速度などのセンサーを設備に取り付け、その値をクラウドに上げて可視化する、といったユースケースは、商業施設や工場など様々なユースケースで求められています。AWS IoTをはじめとする、AWSのサービスを使うことで、そういったユースケースをすばやく実現することが可能です。これはAWS IoTで管理されているデバイスに限った話ではありません。他のデバイス管理ソリューションをお使いの場合においても、クラウドアプリケーションやデータ分析の用途でAWSをシームレスに利用頂くことができます。 この記事では、Arm Pelion Device Management上で管理されているデバイスから、ログデータをAWS IoT にアップロードし、分析・可視化を行う方法について、具体的な構築手順をご紹介します。ここではWi-Fi環境がない設置場所を想定し、通信手段として3G回線を使用します。また施設内のアラートを管理者に伝えるといったシーンを想定し、記事の後半ではデバイスのボタンを押すと管理者にメールが届く仕組みも構築します。最後に、身近なデバイスでクラウド開発のPoCをクイックに進める手段として、Pelion Device Managementで管理されているRaspberry PiでAWS IoT Coreに接続する方法を紹介します。 概要 今回構築する仕組みは、上記のようなアーキテクチャになります。まず、Mbed OSが動作するマイコンが、Pelion Device Managementで管理されています。デバイスは、MQTTプロトコルによって時系列のセンサーデータを3G回線を経由してIoT Coreへアップロードします。IoT Coreのルールエンジンを使って、分析対象のデータのみをIoT Analyticsに送ります。IoT Analyticsでは、収集、処理、保存といった分析の前処理を行いデータセットを作成します。最後に作成したデータセットをQuickSightからアクセスすることでセンサーの時系列データをグラフ描画することが可能になります。 さらに、ここでは触れませんが、AWS IoT Analyticsを用いて作成したデータセットをAmazon SageMakerというAI・MLのサービスにわたすことで、機械学習による高度な予兆保全や、アノマリー検出なども可能になります。 AWS IoTの認証には、2020年5月に追加されたAWS IoT CoreのMulti-Account Registrationの機能を使用します。これによって、Pelion Device Managementで発行された証明書をIoT Coreに設定するだけで、デバイスは1つの証明書を使って接続することができます。 準備 こちらの記事 の4.2章までを実施し、SIMの設定、センサーおよびボタンの接続、Pelion Portal Account の設定を進めてください。以下は、事前に用意していただくハードウェアです。 使用するハードウェア Seeed Wio 3G GROVE – 温湿度・気圧センサ(BME280) GROVE – 青LEDボタン SIMカード Raspberry Pi 3 […]

Read More

Amazon SageMaker と Amazon Augmented AI によるオブジェクトの検出とモデルの再トレーニング

ヘルスケア、メディア、ソーシャルメディアプラットフォームなどの業界では、画像分析ワークフローを使用して、画像内のオブジェクトやエンティティを識別し、画像全体を把握しています。たとえば、e コマースのウェブサイトでは、画像内に存在するオブジェクトを使って関連する検索結果を表示することも可能です。画像がぼやけていたり、微妙なニュアンスがある場合、画像分析が困難な場合があります。このような場合には、人による判断で機械学習 (ML) のループを終了させたり、画像についてアドバイスする必要が出てくるでしょう。 この投稿では、Amazon SageMaker を使用して物体検出の ML モデルを構築、トレーニング、デプロイします。さらに Amazon Augmented AI (Amazon A2I) を使って、画像内で見つけたオブジェクトをレビュー担当者が識別またはレビューできるようにするカスタムワーカーテンプレートを作成し、レンダリングできるようにします。完全マネージドサービスの Amazon SageMaker では、開発者やデータサイエンティストが ML モデルを迅速に構築、トレーニング、デプロイできます。Amazon SageMaker により ML 処理の各ステップでの面倒な作業から解放されるため、高品質なモデルの開発がさらに容易になります。Amazon A2I は、お客様がヒューマンレビューワークフローを構築し、ML モデルの予測をレビューおよび検証するのに役立つ完全マネージドサービスです。 さらに Amazon Rekognition を使ってオブジェクトを検出し、事前に定義したクラスのセットからオブジェクトを識別したり、Amazon Rekogition Custom Labels でカスタムモデルをトレーニングします。ご自身のデータを持ち込むだけで、ビジネスニーズに固有の画像内のオブジェクトやシーンを検出することができます。 ヒューマンワークフローが必要となる他の一般的なユースケースには、画像や動画のコンテンツモデレーション、さらにドキュメント、翻訳、感情分析からのテキストやエンティティの抽出があります。ML モデルで不適切なコンテンツを識別したりエンティティを抽出したりできますが、ユースケースに基づいたモデルの予測を検証するには人の介入が必要になることもあります。Amazon A2I は、これらのヒューマンワークフローを迅速に作成する支援を行います。 Amazon A2I を使って、ML 予測のランダムなサンプルをヒューマンレビュー担当者に送信することもできます。これらの結果を使い、利害関係者にモデルのパフォーマンスを通知し、モデルの予測を監査できます。 前提条件 この投稿では、次の前提条件が必要です。 IAM ロール – ヒューマンタスク UI でレンダリングするオブジェクトを読み込み、結果を書き込むためには、Amazon Simple Storage Service (Amazon […]

Read More

AWS Storage Gateway を使用してオンプレミスアプリケーションをクラウドにバックアップする

データは世界中で指数関数的に増加し続けており、どの組織にとってもデータの保護と保持は重要課題です。お客様の中には、クラウドジャーニーを何年にもわたって続けているところもおり、ハイブリッドクラウドモデルでオンプレミスのストレージインフラストラクチャを管理および維持し続けています。データ保護と長期保存要件を満たすために、多くの組織は、オンプレミスの物理テープインフラストラクチャ、バックアップインフラストラクチャ、およびオフサイトストレージを管理および維持するために多大な時間とリソースを費やしています。ビジネスや規制遵守のためにデータを保存する必要があるため、お客様はオンプレミスのストレージ容量の問題に直面することがよくあります。これは、新しい要求に対応する能力を遅らせ、俊敏性を損ない、最終的にはデータ保護戦略に潜在的なリスクをもたらします。 お客様からは、コストとスケーリングの課題に対処するために、AWS を活用するのにオンプレミスのデータ保護インフラストラクチャをどのように変革したらよいかという質問をよく受けます。AWS Storage Gateway を使うと、お客様はオンプレミスアプリケーションを事実上無制限のクラウドストレージにバックアップできます。これにより、AWS にデータを永続的に保存しながら、オンプレミスのストレージを解放できます。 この記事では、お客様が Storage Gateway を使用してオンプレミスアプリケーションをクラウドにバックアップおよび復元する方法を示します。File Gateway、Tape Gateway、Volume Gateway のユースケースと、各ゲートウェイをストレージターゲットとして使用してコスト効率よくオンプレミスアプリケーションを AWS にバックアップする方法について説明します。 AWS Storage Gateway お客様は Storage Gateway を使用して、オンプレミスアプリケーションを保護し、バックアップインフラストラクチャと管理コストを削減しています。Storage Gateway を使用して、ファイル、アプリケーション、データベース、ボリュームを Amazon S3、Amazon S3 Glacier、Amazon S3 Glacier Deep Archive、Amazon EBS にバックアップしています (AWS のファイル、ボリューム、スナップショット、仮想テープを通じて)。一部のお客様は、Storage Gateway を使用して既存のストレージインフラストラクチャをシームレスに補完し、オンプレミスのストレージ容量をオフロードしたり、拡張したりしています。ハードウェアの調達が必要ないため、このようなデプロイはより迅速に、より短時間で行えます。 お客様は Storage Gateway を使用して、オンプレミスアプリケーションを AWS にシームレスに接続して、クラウドストレージのスケーラビリティ、信頼性、耐久性、経済性を活用できます。Storage Gateway は、NFS、SMB、iSCSI や iSCSI-VTL などの標準ストレージプロトコルをサポートしています。既存のアプリケーションに必要な変更は最小限で、オンプレミスとクラウドの両方をブリッジするハイブリッドストレージ環境をサポートする必要があるお客様にとって理想的なソリューションです。Storage Gateway は、高度に最適化されたデータ転送メカニズム、帯域幅管理、および自動化されたネットワーク回復力を使用して、効率的なデータ転送を実現しています。すべてのデータは、送信時およびクラウドでの保管時に暗号化されます。 ユースケースに応じて、Storage Gateway […]

Read More