エラーInvalid HTTP_HOST header: ”. You may need to add ‘

投稿者: Anonymous Djangoの勉強をしており、AWSでアプリケーションを公開しようというところまできたのですが、ブラウザでアクセスしてみると以下のエラーが出てしまいます。 Bad Request (400) また、Djangoのlogには以下のエラーが出ます。 Invalid HTTP_HOST header: ‘<IP アドレス>’. You may need to add ‘<IP アドレス’>’ to ALLOWED_HOSTS. このエラー文でググってみると、Djangoの設定ファイル(settings.py)のALLOWED_HOSTSに IPアドレスを設定すれば良いと出てくるのですが、変更してもエラーの内容は変わりません。 実際の設定は次のようにしています。 ALLOWED_HOSTS = [os.environ.get(‘ALLOWED_HOSTS’)] 環境変数のALLOWED_HOSTSにAWSで割り当てられているIPアドレスを入れています。 直接IPアドレスを入れたり、ワイルドカードを使ってもダメでした。 (= [‘*’]のように) DjangoやAWSなど初めてだらけでどうやってデバッグすれば良いかもわからず、完全に行き詰まってしまいました。 何か少しでも心当たりがある方にアドバイスをいただきたいです。 解決 エラーメッセージの『Invalid HTTP_HOST header: ”. You may need to add ” to ALLOWED_HOSTS.』のの部分にはDjangoにアクセスしたブラウザが稼働しているマシン(以下、”クライアントマシン”と呼びます)のIPアドレスが書かれていたと思います。 この問題を解決するには、クライアントマシンのホスト名かIPアドレスを、ALLOWED_HOSTSに追加してください。 <具体的な方法> まず、settings.pyのプログラムから、”ALLOWED_HOSTS = []”か”ALLOWED_HOSTS = [aaa,bbb,ccc]”(aaa,bbb,cccの部分はホスト名かIPアドレスの並び)という行を探します。 “ALLOWED_HOSTS =…(Continue Reading)

AWSのVPCを設定しないとどのようなことが起こりますか?

投稿者: Anonymous 現状で、EC2にVPCを設定していなくてデフォルトにしています、 AWSのコンソールでVPCを作成して、サブネットをVPC内に作成して、インスタンスに結びつけるというのをしているのですが、この設定をして、具体的に何が解決するのかが、わかりません。 VPCなどの設定をしなくても、ELB,RDS,EC2がつながっていて問題なく運用できているので、どのような意味があるのでしょうか?ネットで調べても記事はでてきますが、イメージができないです。 解決 現状で問題なく利用できているのであれば、無理して VPC に移行する必要はないと思います。 VPC にするメリットは下記があげられます。 VPN や Direct Connect で社内LANと接続することができる。 (いわゆる、プライベートクラウドとして利用) インターネットから直接接続できないサブネットを作成することができる。 (例: Webサーバーを公開ネットワークに、DBサーバーを内部ネットワークに置く) サブネットごとのルーティングや ネットワークACL を設定することができる。 セキュリティグループで inbound だけでなく、outbound も設定できる。 EC2インスタンスのローカルIPアドレスを固定にすることができる。 EC2インスタンスにローカルIPアドレスを複数設定できる。 (OS 側で IPエイリアス設定が必要) ハードウェア専有オプションが選べる T2, M4 などの新しいインスタンスクラスを選べる サブネット構成がとれるので、従来の(オンプレミスの)ネットワーク設計やセキュリティ設計の考え方をある程度流用できるということかと思います。 ただし、サブネットといっても、ブロードキャストは使えないので、オンプレミスそのままとはいきませんが。 デメリット セキュリティグループの数に制限がかかる。 VPC ごとに最大 100まで 1インスタンスに最大 5 つまで ルールは最大50まで 回答者: Anonymous

『このサイトにアクセスできません』と表示される

投稿者: user39764 お世話になっております。 下記の問題で知見がある方がいらっしゃいまいたらご教示お願いします。 起きている問題 nginx+unicorn+railsでサーバの構築をし、AWS上のEC2にALBを経由してアクセスを試みているのですが、上記のように『このサイトにアクセスできません』と表示されてしまいます。 確認したこと ・Nginxが起動していることを確認 $ ps aux | grep nginx root 4855 0.0 0.2 125708 2192 ? Ss 20:48 0:00 nginx: master process /usr/sbin/nginx nginx 4857 0.0 0.4 126140 4976 ? S 20:48 0:00 nginx: worker process ryouya 4968 0.0 0.0 119436 944 pts/0 S+ 21:10 0:00 grep –color=auto nginx ・Unicornが起動していることを確認…(Continue Reading)

Amazon SNS で production にて通知実行した結果、Endpoint が disabled になる

投稿者: Anonymous Amazon SNS にて、[push norification platform] を ‘Apple Production’ で作成した Application にて、iOS から作成した Endpoint に対して、 [publish to Endpoint] でテキストを送信したところ、以下のエラーが発生してしまいます。 Endpoint is disabled (Service: AmazonSNS; Status Code: 400; Error Code: EndpointDisabled; Request ID: ~) iOS アプリケーションから作成された Endpoint の Enabled が false になっている点に問題があると認識しており、 UIから強制的に true にしても、false になってしまいます。 [push norification platform] を ‘Apple Development’ で作成した場合は Enabled が…(Continue Reading)

Yumで「There was a problem importing one of the Python modules」というエラーがでる

投稿者: Anonymous 状況 Amazon Linux環境で、pythonをバージョンアップしたところ、yumが利用できなくなりました。 yum コマンドを入力すると以下のメッセージが表示されてしまいます。 There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum Please install a package which provides this module, or verify that the module is installed correctly. It’s possible that the above module doesn’t…(Continue Reading)

CloudFormationのStackのParameterが、テンプレート内のデフォルト値を書き換えたにも関わらず更新されない

投稿者: Anonymous ローカルでテンプレートファイルを管理しているLambdaのスタックを、 aws cloudformation package aws cloudformation deloy で更新しようとしました。 実際にデプロイは成功し、スタックのテンプレートも更新されております。しかし、パラメータの値が変更されていないので不思議に思っています。 以下のような変更を加えました。 main.yml(変更前): Parameters: MyKey: Type: String Default: ABC main.yml(変更後): Parameters: MyKey: Type: String Default: DEF デプロイ後、コンソール画面から Template を確認すると、Defaultには更新後の DEF という値が表示されています。 しかし、スタックの Parameter を参照すると、更新前の ABC という値が表示されています。 スタックが更新されていること、ステータスが直近時刻の UPDATE_COMPLETE であることから、スタックの更新自体は行われたものと推測しています。であれば、スタックのパラメータが更新されない理由がわかりません。 どなたかお知恵をお貸しいただければ幸いです。 [環境] aws cli: aws-cli/1.15.83 Python/3.6.5 Darwin/18.0.0 botocore/1.10.82 REGION: ap-northeast-1 解決 チラホラと述べられていますが、CloudFormation のテンプレートのデフォルトパラメータは、 Stack 作成時に、明示的に指定がない場合、その値でもって引数パラメータとして環境の初期化を行うための仕組みの様子です。 一度初期化した後には、デフォルトからコピーされた値が…(Continue Reading)

aws のスポットインスタンスは継続時間後必ず削除されるのか?

投稿者: Anonymous aws のスポットインスタンスは、あらかじめ継続利用時間を指定できるようですが、この時間を指定した場合、その時間が過ぎれば必ずインスタンスは削除されるのでしょうか。(意図した以上に起動してしまって、その分課金されてしまうことはありませんか?) 解決 継続期間の指定をしたスポットインスタンスの料金は、指定した継続期間によって決まります。 時間経過後にインスタンスが残ったとしても、料金に加算されることはありません。 出典: スポットインスタンスリクエスト 回答者: Anonymous

EC2(AWS)のインスタンスを再起動すると「ページが動作しません」

投稿者: Anonymous Ruby On Railsで運用していたstaging環境をAWSのEC2からインスタンスを再起動すると、chromeで該当のURLを開こうとしても「このページは動作していません」となり、開けません。safariなど他のブラウザで開いても同じようなメッセージが出ます。 環境 macOS High Sierra(バージョン10.13.6) ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin17] Rails 4.2.6 chrome バージョン: 71.0.3578.98(Official Build) (64 ビット) 試したこと ・ df -hでデータ容量を確認してみましたが空きは十分にありました。 ・ redisを再起動してみましたが「ページが動作しません」は変わりません。 ・ EC2のインスタンスを確認したところ、Elastic IPやIPv4 パブリック IPは変更されていませんでした。 (これはconfig/deploy/staging.rbやconfig/environments/staging.rbに設定されているIPアドレスと同じものです。) ・ ログを確認してみたところ、 1. nginx.access.logとnginx.error.logは動作していませんでした 2. unicorn.logとsidekiq.logとstaging.logはデプロイしたときログを吐いていますがエラーはありません。 実現したいこと staging環境が開けなくなった原因を突き止めて、復旧したいです。 ご教示いただけることがあれば何卒よろしくお願いいたします。 解決 まずはnginx, unicorn, sidekiqのプロセスが起動しているか確認してみてはどうでしょうか。 以下はプロセス一覧からgrepをかけてunicornプロセスが起動しているかを確認する例です。 ps aux | grep -v grep…(Continue Reading)

aws cli のように s3 のパスを / 区切りでリストしたい

投稿者: Anonymous RubyでAWS S3のオブジェクトの一覧を取得してみた – Qiita こちらを参考に s3 のバケットのリスティングはできたのですが プレフィックス以下のすべてのオブジェクトが表示されてしまいます S3の / はディレクトリではなく単なるパスなので当然ではあるんですが bucket/aaa/111 /222 /bbb/333 /444 という構成になってるときに aws cli で aws s3 ls bucket とうったときのように aaa bbb だけ表示したいです 自分で全部のリストから最初の / までを取得して重複を除去するみたいな処理を書くしかないですか? そういうことをやってくれるライブラリみたいなのがあったりしないでしょうか 解決 delimiterオプションに/を指定してはどうでしょうか? 回答者: Anonymous

C#でAWS S3に画像アップロード、URL取得

投稿者: Anonymous アップロードは下記コードで成功しました。 アップロードしたファイルに 全員に公開と公開したURLを取得したいです。 公式リファレンスは英語で解読できません。 http://docs.aws.amazon.com/sdkfornet/v3/apidocs/Index.html Google検索してもそのような情報はありませんでした。 using (TransferUtility tUtility = new TransferUtility(“access_key”, “secret_key”)) { TransferUtilityUploadRequest t = new TransferUtilityUploadRequest(); t.BucketName = “bucket1″; t.FilePath = @”C:UsersaDesktop1.jpg”; t.Key = @”1.jpg”; t.Timeout = 60000; t.StorageClass = S3StorageClass.Standard; t.UploadProgressEvent+=displayProgress; tUtility.Upload(t); } 解決 アップロードしたファイルをHTTPで公開する場合は、S3バケットを「静的Webサイト」として設定します。※設定方法等はドキュメントをご覧いただくとして手順は省かせて頂きます 静的Webサイトとして設定したS3バケットは<bucket-name>.s3-website-<AWS-region>.amazonaws.comというURLでアクセス出来ます。<bucket-name> は アップロードしたバケット名、<AWS-region> は S3 のリージョンを指定して下さい。 例えば、 US-East-1 リージョンの バケット名「mybucket」の「/hoge.jpg」ファイルのURLは http://mybucket.s3-website-us-east-1.amazonaws.com/hoge.jpg となります。 リージョンの名前はこちらの ドキュメント…(Continue Reading)

amazon linux で cron が失敗したときに、それを知れるようにしたい。

投稿者: Anonymous ec2 の amazon linux に対して、 cron でバッチを実行しました。 /var/log/cron を見てみた結果、時折、このバッチは失敗している様子です。 Nov 13 16:35:01 ip-172-31-29-31 CROND[20056]: (ec2-user) CMD (/path/to/my/program) Nov 13 16:35:10 ip-172-31-29-31 CROND[20222]: (CRON) EXEC FAILED (/usr/sbin/sendmail): No such file or directory Nov 13 16:35:10 ip-172-31-29-31 CROND[20055]: (ec2-user) MAIL (mailed 75823 bytes of output but got status 0x0001#012) さらにわかることは、バッチが異常終了した際に、 cron はメールでもってそれを通知しようとしているが、 sendmail プログラムがないために、その処理は失敗している模様です。 質問…(Continue Reading)

CakePHP2.6でAWSのS3をプラグインを使用して使いたいのですが

投稿者: Anonymous お世話になっております。 https://github.com/zaru/Cakephp2_AWS_S3_DataSource このプラグインを使用してS3アップにしたいのですが、導入してページを開くと Error: Class ‘AwsS3S3Client’ not found File: /var/www/html/cakephp/app/Plugin/AmazonWebServices/Model/Datasource/S3.php Line: 21 このようなエラーがでてしまいます。 S3のクライアントが認識されていないと思われるのですが、どこに何を記述していいのかわかりません。パケット名は記述したのですが、クライアントとはAWS、S3のどこの部分でしょうか? use AwsS3EnumCannedAcl; use AwsS3S3Client; use AwsS3ExceptionS3Exception; use GuzzleHttpEntityBody; class S3 extends DataSource { public $description = ‘AmazonWebServices S3 File Controller’; public $S3 = ”; public $bucketName = ‘****’; //パケット名入力 public function __construct($config = array(), $autoConnect = true){ parent::__construct($config); $this->S3…(Continue Reading)

AWS の VPC へ VPN 接続したい

投稿者: Anonymous 手元の PC から、 AWS の VPC へ VPN 接続を行いたいです。具体的には: プライベート IP をブラウザで指定しながら、 VPC 内インスタンスのウェブサービスに接続したい。(インターネットに公開されないウェブサービス. もろもろ管理画面などを想定) ssh + port forwarding で、特定のポートだけこじ開ける方法は分かりますが、それだと接続したサービスごとにポート・ホスト情報をひとつずつポートを開けていく必要があります。VPN 接続ができれば、そこの設定だけで、 VPC 内のインスタンスに IP 指定するだけで接続できるようになり、便利だと考えたので質問しています。 質問 上記やりたいことを実現するのに利用できるツール・サービスなどはありますか? 公式ページ: VPN 接続 – AWS は見てみたのですが、何やらいろいろ書いてあるけれども結局上記やりたいことをどうやったらできるのかがパッと見わからないので質問しています。 質問者の知識レベル VPN という概念は知識として知っているが (LAN を拡張するような技術)、実際に VPN クライアントなどは触ったことがない。 補足 手元の PC だけから接続できればよく、手元の LAN を VPC と VPN 接続したいわけではありません。 ウェブブラウザが VPC 内部へ…(Continue Reading)

AWSで1分より短い間隔で定期実行する方法

投稿者: Anonymous AWSのマネージドサービスで1分より短い間隔で定期実行する方法はあるでしょうか? 実行内容は、任意のサーバへリクエストを送信する、Lambdaを実行する、などを想定しています。 CloudWatchスケジュールを使えば、1分間隔までは定期実行できます。 しかし、それより短い間隔(毎秒~5秒毎程度を想定)となると実行する手段が分かりません。 何か方法をご存知の方いらっしゃったらご教示ください。 解決 「AWSのマネージドサービスで」という前提で考えると無さそうです。 Classic Load barancer の Health Check は 5-300秒間隔で HTTP GET リクエストを出せますので それをトリガーに処理を走らせるアイデアを思いつきましたが、厳密な制御はできないと思いますので、素直に秒単位で処理を繰返すスクリプトを開発して デーモンプロセスとして動かすのが良い気がします。 回答者: Anonymous

aws configure を、 csv から読み取って実行するようなスクリプトはありますか?

投稿者: Anonymous いくつもの aws の鍵を管理していると、それを aws configure する機会が多くなります。 やることは決まりきっていて、 csv ダウンロード その内容にしたがって aws configure その際に、プロファイルも指定する これは、特に aws キーのセキュリティ的な性質を考えれば、画面に一時的にでも表示されてほしくないので、 csv ファイル(とオプショナルでプロファイル名)を引数にとって、あとは自動で設定してくれるコマンドがほしいと思いました。 質問 csv を引数にとって aws configure してくれるようなスクリプトないしツールはありますか? 解決 まさにそのような動作をする aws configure import を追加する PR が出ていますが、放置気味ですね。 ワンライナーだとこうでしょうか。 sed -ne ‘$p’ < credentials.csv | tr ‘,’ ’12’ | sed -n -e ‘3s/^/aws –profile test configure set aws_access_key_id /p’…(Continue Reading)

AWS CloudWatchアラーム: 「『3時間』CPU使用率が5%以下の状態が続いたら」という条件を指定したい

投稿者: Anonymous 環境 AWS CloudWatch アラーム https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html AWS EC2 やりたいこと 個人用に、EC2でサーバを起動しています。 料金を削減するために、EC2を使っていないときは、自動的に停止するようにしたいです。 具体的にはCloudWatchアラームで、自動的にEC2を停止させたいです。 質問 「『3時間』CPU使用率が5%以下の状態が続いたら」という条件の「3時間」は、どこで設定できますか? 時間を指定するセレクトボックスには、「5分、15分、1時間、6時間」しかなく、「3時間」はありませんでした。 試したこと 「最低期間」に「3回連続で1時間」という条件を設定したら、使用していない時間が1時間続いたぐらいで、停止してしまいました。 解決 36回×5分だとどうですか? 3回×1時間だと、180分の間に 3回しか チェックされないので、偶然 CPU負荷が低いときに 測定されてしまうと 使用中でも アラームが作動してしまう気がします。 36回×5分だと、5分おきにチェックされ、36回連続しなければアラームは作動しないので「使ってないとき」が 判定出来る気がします。 また、「平均」の場合は、5分間の平均値に 値が丸められますので、「最大」のほうが 期待する動作に近いかもしれません。EC2の用途によっては、CPUではなく、ディスクIOだったり、ネットワーク転送量で測定したほうが、正しく判定できることも考えられます。このへんはチューニングだと思いますので ちょうどいい設定を探してみてください。 回答者: Anonymous

EC2にfluentdのプラグインをインストールしたいがエラーがでる

投稿者: Anonymous sudo /usr/lib64/fluent/ruby/bin/fluent-gem update Updating installed gems Updating io-console ERROR: Error installing io-console: io-console requires Ruby version >= 2.0.0. Updating nokogiri Building native extensions. This could take a while… ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /usr/lib64/fluent/ruby/bin/ruby extconf.rb checking if the C compiler accepts … yes Building nokogiri using packaged…(Continue Reading)

AWS EC2のユーザをIAMで一元管理したい

投稿者: Anonymous ▼ 環境 ・EC2は4台あり、OSはAmazon Linux2である。 ▼ したいこと ・IAMで作成したユーザでEC2にログインしたい。 ・EC2のサーバごとにユーザを作成したりするのがすごく手間だし、  個別で管理するのが難しいため、IAM上で全てのEC2ユーザを管理できれば便利だと思ったため。 ▼ 試したこと ・IAMでユーザ作成し、EC2 FullAccessのロールをアタッチ(インスタンスにもアタッチ) ・AWS CodeCommitのSSHキーを登録し、IAMのユーザ名と公開鍵で接続を試すも接続不可 ▼ 質問内容 ・EC2の複数台サーバのユーザーをIAMで一元管理することは可能でしょうか。 ・また、こちらはAWS内だけで完結できますでしょうか。 「このサービス使うとできますよ」的なアドバイスを頂けると嬉しいです。 できないならできないで、皆様はどのようにユーザ管理されているかなども教えて欲しいです。 解決 @hinaloe さんのコメントや、 ksaito さんの回答を参考に、以下の方針で可能そうです。 方針 AuthorizedKeysCommand を利用する。 authorized_keys_command から実行されるプログラムの中で aws コマンドで iam から pubkey を読み込む AuthorizedKeysCommand とは何かというと、 authorized_keys を file に記述するのではなく、プログラムの標準出力でもって指定できる sshd の設定オプションです。 また、 IAM ユーザーは、 ssh の public key をひもづけることができます。これは、主に…(Continue Reading)

awsのセキュリティグループにセキュリティグループを関連付けるとどうなりますか?

投稿者: Anonymous AWSのセキュリティグループにセキュリティグループを関連付けることができるのですが、 この場合どういう動作になるかご存知の方がいらっしゃいましたらご教授お願いできますでしょうか。 よろしくお願いします。 解決 セキュリティグループでは、接続元をネットワークアドレスで許可することができますが、その替わりに他のセキュリティグループで許可することもできます。 例えば、ELB、Webサーバー、DBサーバーのような階層があったとして、それぞれ、カッコ内のセキュリティグループで起動するものとします。 ELBインスタンス x N (ELB_Group) ↓ Webサーバーインスタンス x N (Web_Group) ↓ RDSインスタンス (DB_Group) Webサーバーインスタンスから RDSインスタンスへのアクセスを許可する場合、セキュリティグループ:DB_Group に、送信元を Web_Group とするインバウンドルールを設定します。 送信元をネットワークアドレスで許可するよりも、より正確なアクセス制御ができます。 同様に、ELBインスタンスから Webサーバーインスタンスへのアクセスを許可する場合、セキュリティグループ:Web_Group に、送信元を ELB_Group とするインバウンドルールを設定します。 なお、VPC が出来る前(Classic EC2)は、サブネットを利用できなかったため、送信元をセキュリティグループとしてアクセス制御する仕組みが必要でした。 という表面上の動作ではなく、内部的な動作の質問でしょうか? 回答者: Anonymous

RedisのOOM command not allowed when used memoryエラーについて

投稿者: Anonymous OSX上でRedisの動作を確認しているのですが、以下のエラーが出る原因を詳しく知りたいです。 OOM command not allowed when used memory 環境は、 Redis 2.8.19 maxmemory-policy allkeys-lru 設定ファイルは、maxmemory-policy allkeys-lruとしているのに、上記のエラーが出るのは何故か。と調べたところ、 英語版のstackoverflowにありました。 Redis out of memory, even with allkeys-lru policy この回答によるとused_memory_luaがメモリを多く使用しているからという感じでしたが、 used_memory_luaが多くなる原因が知りたいです。 ローカル環境で、 maxmemory 1080KB maxmemory-policy allkeys-lru として、メモリ使用量が超えた時の動作を確認していたのです。 (一度エラーが出た後に、Redisを再起動するとエラーがなかなか出ません。) コマンドinfoで確認すると、 # Memory used_memory:1090400 used_memory_human:1.04M used_memory_rss:1916928 used_memory_peak:1105312 used_memory_peak_human:1.05M used_memory_lua:35840 mem_fragmentation_ratio:1.76 mem_allocator:libc という状態なのですが、used_memory_luaが上記より増加していくのか、 増加するとOOMエラーが出るのか。その上限値は?など。 目的は redisサーバはAWS Elasticache 256MB(cache.t1.micro)を使っている redisのデータはTTL(期限?)が設定してあるものとないものが混在 キャッシュと一時的なデータだけなので永続化は不要 メモリ容量が超えた場合の削除順もランダムでいい…(Continue Reading)

EC2に置いてあるダンプファイルをRDS(MySQL)にインポートしたいのですが、、、

投稿者: Anonymous EC2内で、ダンプファイルのあるディレクトリで下記コマンドをうつと、次のエラーがでます。 セキュリティグループは統一してあるのですが、何か別設定が必要ですか? mysql -h abc.c3uoslncvvzp.ap-northeast-1.rds.amazonaws.com < schema.sql ERROR 1045 (28000): Access denied for user ‘ec2-user’@’1××.××.11.22’ (using password: NO) 解決 mysql -u root -p -h mysql -h abc.c3uoslncvvzp.ap-northeast-1.rds.amazonaws.com [テーブル名] < schema.sql で解決しました。 回答者: Anonymous

Amazon Connectで日本の電話番号を取得したい

投稿者: Anonymous Amazon Connectで日本の電話番号を取得したいのですが、国/地域の選択肢に日本(Japan)がありません。 何か設定が必要なのでしょうか? なぜか、以下の2つの記事では日本の電話番号の取得ができています。 https://dev.classmethod.jp/cloud/aws/amazon-connect-0120/ https://qiita.com/kooohei/items/fec4e677cdfc3d2b35aa#1-%E9%9B%BB%E8%A9%B1%E7%95%AA%E5%8F%B7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B 解決 自己解決しました。 AWS東京リージョンではなく、オレゴンリージョンでインスタンスを作成したのが原因のようです。 また、AWSに問い合わせたところ、「東京03」のプレフィックス番号の取得もできるそうです。 お世話になっております。AWSカスタマーサービスの本池でございます。 この度は上限緩和のご申請をいただきまして、誠にありがとうございます。 制限緩和のリクエスト 1 サービス: Amazon Connect リージョン: アジアパシフィック(東京) 制限の名前: 日本 (東京) の電話番号 申請する上限数: 1 この度上記の内容でご申請いただいておりましたが、「東京03」のプレフィックス番号を取得されたいということでお間違いございませんでしょうか。 (万一認識に相違がある場合は、お手数ですがご返信にてお知らせくださいませ。) 03のプレフィックス番号を取得するためには、ご住所を証明する書類とインスタンスIDが必要となります。 ご提出いただく書類につきましては、下記のページをご参照ください(個人でのご利用、法人でのご利用により、提出書類が異なっております)。 ※法人代表者とは、 CEO や組織長である必要はなく、Connectにて03番号をご利用いただく組織から代表してAWSにご連絡いただく方を指します。 ●「03 プレフィックス番号の住所証明に関する要件」 https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/connect-tokyo-region.html Amazon Connect インスタンスに使用するために東京の 03 プレフィックス番号の取得リクエストを送信する場合は、 次のように、日本の規制に従って、住所証明に関する次の書類を提出する必要があります。 ・Amazon Connect インスタンスを作成するために使用される AWS アカウントが個人向けのものである場合は、  電話番号が付与されている都市と一致する住所が文書に記載されている、  政府発行の有効な身分証明書 (個人識別カード、パスポート、運転免許証など) を提出する必要があります。 ・企業用の AWS アカウントを使用してインスタンスを作成した場合、その組織の代表者は以下の両方を提出する必要があります。…(Continue Reading)

AWS EC2リージョン移転について

投稿者: Anonymous 現在アメリカ バージニア州でEC2を作成し、WEBサイトを構築したんですが、リージョンが近い方がレスポンスが明らかに速いので東京へ移行したいと思っています。 スナップショットとという単語を初めて聞く初心者なのですが、スナップショットは要するにディスクコピーですよね? EC2でsshを立ち上げApacheやPHP、MYSQLなどインストールした時、またワードプレスで書いた記事やアップロードした画像のデータは全てEBSに保存されているのならスナップショットを取って、東京リージョン間へコピーし、右上のリージョン設定から東京を選択し、インスタンスを新しく作成、その際EBSを先ほどコピーしたスナップショットにすれば、綺麗に移転できますか? この時、東京とアメリカの二つのインスタンスの唯一の違いはグローバルIPアドレスだけで、ドメイン登録、再度DNS設定するだけで完全移行できますか? 解決 スナップショットと言う用語はVMWareやHyper-Vの様なオンプレミスの仮想OSでも普通に使われます。仮想OSの現在の状態を保存して、容易に保存した状態を復元あるいは複製するための物です。 Amazon EC2で同じ仮想マシンを複製する場合にはSnapShotではなくAMIを使用します。 対象インスタンスを選択してアクションからイメージの作成を使ってAMIを作成します。 イメージのAMIに作成したイメージが登録されるので、AMIを選択してAMIのコピーを実行し、移行先リージョンに複製します。 新しくインスタンスを作りたいリージョンに移動した後、インスタンスの作成にてMyイメージを開くと、先ほど作成したAMIが表示されるので選択します。 このような手順でインスタンスを作成すると、全く同じ内容のコピーを作成できます。 回答者: Anonymous

AWSのELBにつないでいる、EC2(Amazon Linux)にNginxをインストールして起動でエラーがでる

投稿者: Anonymous 用途として、Apacheを起動したままで、Kibana用にNginxを使いたいです。 EC2,ELB環境にNginxをインストールして、起動したのですが、 sudo vi /etc/nginx/conf.d/virtual.conf server { listen *:10080 ; server_name localhost; access_log /var/log/nginx/kibana.access.log; location /kibana/ { root /usr/share/nginx/html; index index.html index.htm; } location / { proxy_pass http://127.0.0.1:9200; proxy_read_timeout 90; } } sudo service nginx start Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to…(Continue Reading)

httpsでAWSのClassic load balancerのDNSに直接アクセスすることはできますか?

投稿者: Anonymous https://hogehoge-***.ap-northeast-1.elb.amazonaws.com/ にアクセスすると HTTP/1.1 504 GATEWAY_TIMEOUT Content-Length: 0 Connection: keep-alive と返ってくるのですが、これはELBが返しているのでしょうか? 解決 作成したELBは、クラッシクロードバランサでしょうか、ALBでしょうか。 ELBが504を返している場合の調べ方と対処方法が下記のドキュメントにあります。 クラッシクロードバランサは使ったことがないので、わかりませんが、ALBはモニタタブでエラーの発生状況が確認できます。発生しているようであれば、接続タイムアウトの時間を長くすると良いかもしれません。 クラッシクロードバランサ https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/classic/ts-elb-error-message.html#ts-elb-errorcodes-http504 ALB https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html#http-504-issues 回答者: Anonymous

AWS SDK for PHPを使ってS3に画像をアップロードする

投稿者: Anonymous タイトル通りなのですが、CakePHP3にAWS SDK for PHPをインストールし、それを使ってAWSのS3にインストールしようしています。 <?php namespace AppController; require(‘/var/www/html/imagine/src/vendor/autoload.php’); use AppControllerAppController; use CakeORMTableRegistry; use Aws; use AwsCommonEnumRegion; use AwsS3S3Client; use AwsS3EnumCannedAcl; use AwsS3ExceptionS3Exception; use AwsS3MultipartUploader; use AwsExceptionMultipartUploadException; use AwsS3ModelMultipartUploadUploadBuilder; use GuzzleHttpEntityBody; class ImagesController extends AppController { public function upload(){ $end_point_url = ‘*******’; $client = S3Client::factory(array( ‘credentials’ => array( ‘key’ => ‘******’, ‘secret’ => ‘*****’,…(Continue Reading)

curlでAmazon S3に画像をアップロードしたい

投稿者: Anonymous curlコマンドでS3に画像をアップロードしたいです。 その場合curlコマンドはどのように指定してあげれば良いのか分からずにいます。 テストしたcurlコマンド curl -v -H ‘Content-Type: application/json’ -H ‘Accept: application/json’ -X POST -d ‘{“user” : {“image” : “@test.jpg”}}’ http://localhost:3000/api/v1/users.json jsonのurlを叩いて、urlの欄にS3のURLが見えることがゴールなのですが、表示されません。 使用しているフレームワークはRailsで、carrierwaveというgemを使用しています。 適切なコマンドが知りたいです。 何卒よろしくお願いいたします。 追記 以下のコードでローカルにpostされた画像をS3に指定しています。 参考リンク initializers/carrierwave.rb CarrierWave.configure do |config| config.fog_credentials = { :provider => ‘AWS’, :aws_access_key_id => ENV[‘AWS_ACCESS_KEY’], :aws_secret_access_key => ENV[‘AWS_SECRET_KEY’], :region => s3-ap-northeast-1, :path_style => true } config.fog_public = true…(Continue Reading)

AWS Route53で 「.com」ドメインを取得しましたがgandi.netが表示されます

投稿者: Anonymous AWS Route53で 「.com」ドメインを取得しましたが取得したドメインにアクセスしても「gandi.net」が表示されます。 その後、ワードプレスを再インストールしWP_HOMEなど設定しましたが変化はありませんでした。 nginxの設定も間違いありませんし、ネームサーバにも問題はありません。 これは一体なぜでしょうか? 表示されるのはこちらです。 https://www.gandi.net/ 解決 GandiというのはAmazonの上位レジストラ(ドメインの卸問屋のような物)のようです。 ですから、Amazonで購入したばかりで何も設定をしていないと、ここのサイトのIPアドレスを指すようになっているのでしょう。 一般にドメイン名をWebサーバなどに結びつけるには、2つの事をする必要があります。どちらかを忘れているか、設定した直後のため世界中のDNSサーバまで浸透していないのだと思います。 DNSサーバの設定 そのドメイン名でIPアドレスを引くのに使うDNSサーバを指定します。ドメインを購入したレジストラのWebインターフェイスを使えるはずです。 Amazonで購入したドメインの場合、Route 53のサーバを使うようデフォルトで設定されているかも知れません。 IPアドレスの設定 1で指定したDNSサーバの設定です。Route 53を使うなら、Webインターフェイスが用意されています。 ドメイン名で問合せを受けた際に返すIPアドレスですので、WebサーバなどのIPアドレスを指定します。 回答者: Anonymous

AWSのRDSの暗号化のメリットについて

投稿者: Anonymous Amazon Web Services(AWS)で提供されているAmazon Relational Database Service(RDS)の暗号化について質問です。 RDSでは、基本的に「リソースの暗号化」と「接続の暗号化」が存在するようですが、まずはリソースの暗号化について質問させて下さい。 RDSインスタンスのリソースの暗号化を有効化した場合、具体的にRDSインスタンス、自動バックアップ、リードレプリカ、スナップショットのリソースが暗号化されるようですが、自分以外のユーザがAWSコンソールにアクセスできるようなことが無い場合(IAMなど)、これらのストレージを暗号化するメリットを感じられなかったのですが、どうなのでしょうか?リソースの暗号化を利用する場合、m3.medium以上のインスタンスを利用しなければいけないため、コスト的なデメリットを感じています。 次に、接続の暗号化についてですが、VPCのPrivate SubnetにRDSを設置しPublic Subnetに設置されたEC2インスタンスのアプリケーションからのみRDSにアクセスできるようにした場合、SSLによる通信の暗号化を行ったところで、誰もその通信を傍受することができないと思うのですが、こちらの認識についても誤りがありましたら、ご指摘していただきたいです。 SSL暗号化は、セキュリティ上の利点を提供する一方、SSL暗号化がかなりの計算処理を必要とするオペレーションで、データベース接続の待ち時間を増加させることがあるという記述がAmazonのドキュメントにございましたので、できれば無効化したいと思っています。 しかし「リソースの暗号化」と「接続の暗号化」を無効にした場合、上記の認識でセキュリティ意識に対する穴がないという自信を持てませんでしたので質問させていただきました。 よろしくお願いいたします。 解決 AWSのデータセンター(DC)内部に悪意のある人間が紛れ込んだ場合への対応、としては穴があることになります。 一例なのですが、バックアップの入ったディスク(またはイメージ)が流出した、EC2インスタンスが繋がるハブに特殊な機器を接続され流れるパケットを盗み見られた、そういったケースへの対応です。DC外部からでも、実装時には未知だった脆弱性により、そういう内容が漏れることが考えられます。 もちろんサービスの内容、保存するデータの重要度によっては「そういうことならしかたないよね」で済む場合もあるでしょう。逆に言うと、データの重要度が高ければ、できたはずの暗号化を実施していなかったことが責任上の大きな問題になる場合もあります。 いずれにせよ、「取れない/見れないから大丈夫」ではなく、「万が一見られても大丈夫」という視点が、暗号化を考える上では肝要です。加えてセキュリティ対策では、問題が発生した時にどれだけの損失・責任が発生するかが重要なファクターになります。特に コスト にはそういうリスクも織り込むべきでしょう。 回答者: Anonymous

EC2インスタンス内からECRにログインできない

投稿者: Anonymous EC2インスタンス内からECRへのログインのため、以下のコマンドでログインを試みました。 このEC2インスタンスのIAMRoleには[AmazonEC2ContainerRegistryReadOnly]ポリシーを付与しています。 $(aws ecr get-login –region ap-northeast-1) しかし以下のエラーメッセージが表示され、ログインは失敗します。 unknown shorthand flag: ‘e’ in -e See ‘docker login –help’. なぜログインに失敗するのでしょうか? $() の中身のみのコマンド aws ecr get-login –region ap-northeast-1 を叩くと、以下のようなレスポンスが返ってきます。 docker login -u AWS -p ********= -e none https://************.dkr.ecr.ap-northeast-1.amazonaws.com 解決 Docker 17.06で–email/-eオプションは廃止されていますが、AWS CLIはデフォルトでは互換性のためにこれを出力しているそうです。 aws ecr get-loginに–no-include-emailオプションを付与することで-eオプションが出力されなくなりますが、そもそもget-loginは非推奨であり、aws-cli v2で廃止されました。get-login-passwordを使用してください。 回答者: Anonymous