カテゴリー : Amazon Web Services

[AWS EC2] インスタンスストア – Ephemeral Disk (揮発性ディスク) は無料で使える

「AWS EC2 で使えるインスタンスストア a.k.a Ephemeral Disk (揮発性ディスク) の利用料金はいくら?」と定期的に調べてる気がしてるのですが、インスタンスストアは無料で使えます。

AWS | Amazon Web Services

続きを読む

Amazon SQS のキューあたりのメッセージ数の制限

Amazon SQS のキューあたりのメッセージ数の制限を調べたので、ご紹介します。

AWS | Amazon Web Services

続きを読む

AWS EC2 インスタンス別ネットワーク帯域・帯域保証について

AWS EC2 インスタンス別ネットワーク帯域・帯域保証について調べた内容をご紹介します。

AWS | Amazon Web Services

続きを読む

Amazon RDS の無料枠で利用できるデータベース一覧

Amazon RDS で利用できるデータベースは などがありますが、無料枠で利用できる・できないという制限があるのでそれを一覧にしてみました。(2017/08/19 時点)

AWS | Amazon Web Services

続きを読む

[Amazon Redshift] TEXT 型は VARCHAR(256) に変換される

Amazon Redshift でサイズの大きい文字列を扱いたい場合 TEXT 型を使うべきではなさそうです。

公式ドキュメント によると TEXT 型は VARCHAR(256) に変換されるそうなので、MySQL や PostgreSQL の感覚で使ってしまうと想定していたよりも短い文字列しか扱えなかったということになってしまいそうです。

TEXT 型

TEXT 列を使用して Amazon Redshift テーブルを作成できますが、この列は最大 256 文字の可変長値を受け入れる VARCHAR(256) 列に変換されます。

僕は Redshift に保存するデータが log だった場合、そこそこサイズが長くなりそうだけど正確には分からない column は VARCHAR(1024) で追加しています。

Note

CREATE TABLE 構文では、文字データ型の MAX キーワードをサポートします。以下に例を示します。

CREATE TABLE test(col1 VARCHAR(MAX));

MAX 設定は列幅を定義します。CHAR の場合は 4096 バイトであり、VARCHAR の場合は 65535 となります。

MAX も使えるみたいですが、ほとんどの場合 65535 byte も使わないんじゃないでしょうか。

この記事で伝えたかったことは、「思い込みで TEXT 型を使おうとするのではなく、ちゃんと公式ドキュメントを読みましょう」ということでした。

[Amazon CloudSearch] [*Deprecated*: Use the outer message field] Validation error for field ‘xxx’: Invalid codepoint 1C

Amazon CloudSearch で検索ワードとしてインポートする JSON データの一部で下記のようなエラーが発生して、インポートできませんでした。

エラーメッセージ

[*Deprecated*: Use the outer message field] Validation error for field 'title_ja': Invalid codepoint 1C

原因のダメ文字は \u001c だったので、これを削除すれば正常に JSON データを読み込ませることが出来ました。

フォーム入力からデータベースに保存された値なのだけど、この文字どうやって入ったのかな・・・?


参考情報

AWS Developer Forums: Which codepoints are disallowed in text …

Guide to Formatting Your Data in SDF for Amazon CloudSearch : Articles & Tutorials : Amazon Web Services

Scalaで正規表現: ユニコードの空白文字29種類にマッチするか試してみた – Qiita

これは備忘録 ASCII文字コード

[AWS] EC2インスタンスが stopping のままのときの対応方法

AWS EC2 のインスタンスが stopping のままのときは、Force Stop しまくればいずれ Stopped になります。

Q: EBS-backed インスタンスが「stopping」のままのときは、どうすればよいですか?
仮想サーバホストにおいて問題が発生した際などにインスタンスは “stopping” 状態で固まることがあります。インスタンスを強制停止することでこれに対処することが出来るかもしれません。これはEC2 コマンドラインツールや AWS Management Console を通じて行っていただけます。

コマンドラインツール

ec2-stop-instances [インスタンス ID] –force

AWS マネジメントコンソール

インスタンスを右クリックし、ドロップダウンリストから “Stop” を選択します。 (Forced Stop が行われる旨が表示されます。)

注:どちらの場合でも、二度強制停止を試みていただく必要があるかもしれません。

インスタンスを強制停止できない場合は、代替のインスタンスを開始できることがあります。詳しくは、インスタンスの停止に関するトラブルシューティング を参照してください。それでも問題を解決できない場合は、AWS フォーラム から、または AWS サポートケースをオープンしてお知らせください。迅速な問題解決のために、サポートへご連絡いただく際には、既に行った手順をお知らせ頂けますようお願いいたします。

・[引用元]:Amazon EC2 インスタンスに関するよくある質問 | アマゾン ウェブ サービス(AWS 日本語)

[AWS] 各サービスが稼働しているか確認するサイト

AWS (Amazon Web Services) の各サービスが稼働しているか確認するサイト

AWS Service Health Dashboard(公式)

Found AS Status

たまにサービス死ぬので、常にそういうケースに備えておかないといけませんね・・・

[AWS] aws s3 sync ./upload_dir s3://xxx –region ap-northeast-1

aws-cli で command line 上から S3 へファイルアップロードしようとしたところエラーが発生しました。

% aws s3 sync ./upload_dir s3://backetname

エラーメッセージ

A client error (PermanentRedirect) occurred when calling the ListObjects operation:
The bucket you are attempting to access must be addressed using the specified endpoint.
Please send all future requests to this endpoint.

デフォルト設定で region を設定しておらず、オプションでも未指定だったのが原因でした。

aws s3 sync ./upload_dir s3://backetname --region ap-northeast-1

–region ap-northeast-1 とか使ってる S3 のリージョンを指定することでアップロードできました。

[AWS] S3 の Regions(リージョン)一覧

Amazon S3 の Regions 名(us-east-1 とか)が管理コンソールから確認しても分からなかった。

ここから確認できたけど、管理画面にも載せておいて欲しい。

Regions and Endpoints – Amazon Web Services

Region name Region Endpoint Location constraint Protocol
US Standard * us-east-1

You can use one of the following two endpoints:

  • s3.amazonaws.com (Northern Virginia or Pacific Northwest)

  • s3-external-1.amazonaws.com (Northern Virginia only)

(none required) HTTP and HTTPS
US West (Oregon) Region us-west-2 s3-us-west-2.amazonaws.com us-west-2 HTTP and HTTPS
US West (Northern California) Region us-west-1 s3-us-west-1.amazonaws.com us-west-1 HTTP and HTTPS
EU (Ireland) Region eu-west-1 s3-eu-west-1.amazonaws.com

EU or eu-west-1

HTTP and HTTPS
Asia Pacific (Singapore) Region ap-southeast-1 s3-ap-southeast-1.amazonaws.com ap-southeast-1 HTTP and HTTPS
Asia Pacific (Sydney) Region ap-southeast-2 s3-ap-southeast-2.amazonaws.com ap-southeast-2 HTTP and HTTPS
Asia Pacific (Tokyo) Region ap-northeast-1 s3-ap-northeast-1.amazonaws.com ap-northeast-1 HTTP and HTTPS
South America (Sao Paulo) Region sa-east-1 s3-sa-east-1.amazonaws.com sa-east-1 HTTP and HTTPS