今回は S3 バケットへのアクセスを特定 IAM ロールからのみに限定して利用する機会がありましたので、設定方法と検討したあれこれをご紹介します。 やりたいこと 構成図はこんな感じ 前提条件 IAM ロールと S3 バケットは同一アカウントに存在する IAM ロールには S3 を管理する権限がアタッチされている 今回は AmazonS3FullAccess ポリシーをアタッチしています NotPrincipal でやってみる 「特定 IAM ロール以外は制限する」という考え方でパッと思いつくのは、以下のような NotPrincipal で制限する方法かと思います。 バケットポリシー { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "NotPrincipal": { "AWS": "arn:aws:iam::xxxx
Amazon S3 のストレージに対してアップロードおよび取得を行う際に、アプリケーションはリクエストのパフォーマンスとして 1 秒あたり数千のトランザクションを容易に達成できます。Amazon S3 は、高いリクエストレートに自動的にスケールされます。例えば、アプリケーションは、パーティショニングされた Amazon S3 プレフィックスごとに毎秒 3,500 回以上の PUT/COPY/POST/DELETE リクエストまたは 5,500 回以上の GET/HEAD リクエストを達成できます。バケット内のプレフィックスの数に制限はありません。並列化を使用することによって、読み取りまたは書き込みのパフォーマンスを向上させることができます。例えば、Amazon S3 バケットに 10 個のプレフィックスを作成して読み取りを並列化すると、読み取りパフォーマンスを 1 秒あたり 55,000
ウィスキー、シガー、パイプをこよなく愛する大栗です。 本日のアナウンス(要ログイン)で、S3の一貫性に一部変更があることが発表されました。変更があったのは"US Standard"という聞きなれないリージョンとなります。 リージョン=US Standard? S3に詳しい方はご存知かと思いますが、S3のリージョンにバージニア(us-east-1)が存在しません。替わりにUS Standardというリージョンがあります。歴史的経緯もあるのだと思いますが、s3.amazonaws.com(バージニア北部または太平洋岸北西部)とs3-external-1.amazonaws.com(バージニア北部のみ)の2箇所のエンドポイントが使用できます。 何が変わったの? US Standardは一貫性が他のリージョンと異なっていましたが、他のリージョンと同じ整合性モデルが使用できる様になりました。変更点は
いつも"アジャイル"とか"スクラム"、"カイゼン"みたいな文脈で書いているのですが、 普段の業務の中での関わりが大きいAWSについても書いていこうかと思います。 とある出来事 私の勤める会社のSlackには「困りごとch」というものを設けています。 先日、そこにこんな投稿がありました。 ruby aws-sdkで困りごと s3にオブジェクト登録→ラムダ発火でapi叩く→そのs3オブジェクトにアクセス(deniedされる)→1秒sleep→同じs3オブジェクトにアクセス(成功) なぜすでにあるオブジェクトにアクセスしているのにdeniedされてしまうのか、 一秒待つとdeniedされないのか、わからなくて困っています。 「ああ、あれじゃん!」 と思う方、その通りです。 AWS S3 のデータ整合性モデルに絡んだ話です。 公式のデータ整合性モデル AWS自体が日進月歩の世界なので、この記事もす
Node.jsのStreamについて知らなかったのでAWS SDKのS3のファイル読み出しをしながら使ってみた時のメモ 参考 以下を読ませていただきました。 Node.js の Stream API で「データの流れ」を扱う方法 Stream今昔物語 また、以下の本のStreamの欄を見てみました。 サーバサイドJavaScript Node.js入門 Streamとは データの流れを扱う際に利用する抽象的なインターフェース 例えばファイルを読み込む場合、すべてのファイルの内容をメモリに持ってから処理するのではなく、少しずつ読み込みながら逐次処理を行う事で効率化できる。Node.jsっぽい Readable StreamでsetEncodingしないとBufferオブジェクトとして読み込む。文字列として読み込みたい場合にはreadStream.setEncoding('utf-8')などす
Distributed computing (Apache Hadoop, Spark, ...) Advent Calendar 2016の12/25分です。もともとYARNのApplication Timeline Server v2について書こうと思っていたのですが、気が変わってHadoopとS3の関係性について書いていこうと思います。もし期待していた方がいらっしゃったらごめんなさい。(ATSについては機会があればまた書きたいと思います。) 背景 S3について書こうとおもったのは、下記のような仕組みを作っている中でいろいろ思うところがあったからです。 システムがS3に吐き出す様々なログ、データやメトリクスをZepplinで可視化するための仕組みです。永続化したいデータはS3にしか置かず、SparkやZeppelinなどのコンポーネントはステートレスかつ拡張、もしくは別の計算フレームワ
S3クローンMinioを使って、自前MicroServices用データストレージを構築する posted at 2016-03-07 03:40:27 +0900 by kinoppyd Minio Minioという、S3のクローンサービスがある。Goで書かれたAWSのS3のオープンソースクローンで、API互換のあるすごいプロダクトだ。Minioの起動時のヘルプに書かれている説明が非常にわかりやすいので、そのまま引用する。 Minio - Cloud Storage Server for Micro Services. S3は使いたいが、個人プロダクトだからそんな派手な利用をするわけではないし、そんなちまちましたことでS3の料金をシミュレーションしてわざわざ胃を傷めたくないので、何かしらいい感じのクローンが無いかと思って探していたところ、普通に[s3 互換][検索]でぐぐったら上の方にこの
LinuxOS用 $ wget https://dl.minio.io:9000/updates/2015/Jun/linux-amd64/minio $ chmod +x minio $ ./minio mode memory limit 12GB expire 2h と、たったこれだけで9000番ポートでオブジェクトストレージが立ち上がります。 オブジェクトの保存方法として memory (メモリー保存) fs (ファイル保存) donut (分からないです、検索してもミニドーナッツ記事しか・・・) の三種類があります。 各動作モードについて mode memory 必須パラメータとして limit [memory量]を指定しましょう。 オプションとしてexpireもあるようです。 mode fs 必須パラメータとしてmode fsの後にファイルを保存するディレクトリを指定しましょう。
Lambda のログは自動的に CloudWatch Logs に保存されますが、他と連携する場合は S3 のほうが何かと都合がいいです。 CloudWatch Logs にはログデータを一括で Amazon S3 にエクスポートする機能があります。リアルタイム性が求められずバッチ処理で定期的にエクスポートする用途に向いています(リアルタイム性が求められる場合は、サブスクリプションを使用したログデータのリアルタイム処理が用意されています)。 というわけで Lambda と CloudWatch Events を使って、CloudWatch Logs から S3 へ自動的にエクスポートしてみます。 CloudWatch Logs API の CreateExportTask S3 へのエクスポートは CloudWatch Logs API の CreateExportTask を使います。
動画配信サービスなどを手がける米Netflixは1月9日、Amazon Web Services(AWS)の1つである「Amazon S3」向けにデータの整合性を実現するライブラリ「S3mper」を公開した。HadoopとAmazon S3の組み合わせでデータに一貫性を持たせるために開発したもので、実際に社内で利用しているという。 NetflixはAmazon Web Services(AWS)が提供する各種クラウドサービスの大規模なユーザーとして知られており、AWSをインフラとして利用するにあたって社内開発した「Chaos Monkey」や「Hysterix」、「Janitor Monkey」といったツールをオープンソースで公開している。今回のS3mperもその1つとなる。 NetflixではHadoopでのファイル管理にAmazon S3を利用している。ペタバイト級のデータをS3に保存
Expedat Gateway(EC2)環境構築 それでは早速環境を構築してみましょう。AWS Marketplaceのページから、"Continue"をクリックします。 ExpeDat Gateway for Amazon S3 700 Mbps Hourly on AWS Marketplace "Accept Terms"をクリックして、EC2を起動しましょう。Marketplaceの利用方法は、他のマシンイメージと同様です。 今回は"Manual Launch"から、手動で起動してみました。EC2起動操作は割愛しますが、SecurityGroupでは下記ポートの開放が必要です。また、インスタンスタイプはc4.xlargeを利用することにしました。 SSH(tcp/22) 初期設定を行うクライアント環境から HTTP(tcp/80) ExpeDatクライアント環境から(ソフトウェアダ
今回の課題 こんにちは植木和樹です。本日のお題は「現在運用しているFTP/SFTPサーバーをAmazon S3でリプレースしたい」です。 外部関係業者とのファイルのやりとりにFTP/SFTPサーバーを使っているケースは数多くあると思います。社内にあまったパソコンにLinuxをインストールしてFTPサーバーを自前で運用していることもあるかもしれません。しかしデータのバックアップやハードウェアの故障などで手を取られている担当者の方がいらっしゃるのではないでしょうか。 そんな時はAmazon S3。99.999999999% の堅牢性と、99.99% の可用性を提供するストレージサービスです。 しかしFTPは長い運用実績の歴史があるサービスです。FTPで求められる様々な運用ニーズにS3はどこまで応えられるでしょうか?今回はその点を検証してみました。 FTPに求められる要望 以下にいくつかの代表的
アクセス許可は、個々のユーザーではなく、IAM ロールに付与することをお勧めします。これを行う方法については、「背景: クロスアカウントのアクセス許可と IAM ロールの使用」を参照してください。 ある AWS アカウント (例えば、アカウント A) で、バケットやオブジェクトなど、そのリソースにアクセスするためのアクセス許可を、別の AWS アカウント (アカウント B) に付与できます。アカウント B では、そのアカウントのユーザーに、付与されたアクセス許可を委任できます。この例のシナリオでは、バケット所有者が、特定のバケットオペレーションを実行するためのクロスアカウントアクセス許可を別のアカウントに付与します。 また、バケットポリシーを使用して、アカウント A から直接アカウント B のユーザーにアクセス許可を付与することもできます。ただし、このユーザーには、アカウント B がアカウ
Amazon S3 のストレージに対してアップロードおよび取得を行う際に、アプリケーションはリクエストのパフォーマンスとして 1 秒あたり数千のトランザクションを容易に達成できます。Amazon S3 は、高いリクエストレートに自動的にスケールされます。例えば、アプリケーションは、パーティショニングされた Amazon S3 プレフィックスごとに毎秒 3,500 回以上の PUT/COPY/POST/DELETE リクエストまたは 5,500 回以上の GET/HEAD リクエストを達成できます。バケット内のプレフィックスの数に制限はありません。並列化を使用することによって、読み取りまたは書き込みのパフォーマンスを向上させることができます。例えば、Amazon S3 バケットに 10 個のプレフィックスを作成して読み取りを並列化すると、読み取りパフォーマンスを 1 秒あたり 55,000
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く