Organizations

amazonconnect amazonpolly appflow aws books camp childcare client vpn cloudfront cloudwatch codebuild daily datadog docker ec2 ecs eventbridge fargate gas homeserver iot jamf lambda life hack linux mac movie music php program python rds ruby running s3 tech terraform vpc windows wordpress 10km 2016 2018 2ブロック alfred amazonconnect amazones amazonpolly ansible apache api atcoder aws aws認定資格 backlog balmuda band bind boss box brew cakephp centos centos6 chef-solo ci circleci circlecijp cloud cloud sql cloud storage command crkbd cron css database diet digdag disney dlna dns docker docker-compose dockerfile dockertokyo ecr ecs edy eks elasticcloud elasticsearch em embulk ena evernote ezmlm fabric fargate fluentd font found fuzz galeracluster garageband gce gcp geek gem git github goo google google map googlemap gr-citrus gsuite happynewyear hatenatech helix homebrew html ikea infrataster iphone itamae iterm jamf k8s kinesis kintone knife-solo knowledge kpt kubernetes l2tp lancers lenovo let'ssplit linux live lolipop mac macos macアドレス mail mariadb mediatomb memory mfa midi mint60 ml mta mysql namazu nas nginx notion onedrive openssl peco pepabo perl php pixar pmf post python qiita qmail raspberrypi raycast redmine roland route53 rsync ruby ruby on rails salesforce sendgrid_jp sfdc sha2 shakeshack slack so-01j sony split sql sre srelounge srenext ssd ssh ssml stationery team terastation terminal terraform typescript ubuntu22.04 unix vagrant virtualbox visualstudiocode vm vpc vpn vpngate vscode vuls windows windows10 windows8 windowsserver2012 wordpress xperia xtechjaws xtechjaws07 zsh おサイフケータイ たからばこセッティング としまえん はてな アイアムアヒーロー アイアンマン アウトドアアンバサダー アプリ アレクサ インスタンスタイプ インターン インフラ ウィンドウズ ウェディング エフェクター エヴァ オープンソース カンバン キス キーキャップ キーボード ギター コキア コマンドプロンプト コンタクトセンター コース サーバーオペレーション サーバー移行 シェイクシャック シェルスクリプト スクラム スタジオ ステラタウン ストレージ スマホ セキュリティ タスク管理 ターミナル ダイエット チャリティー テックカンファレンス デスクトップ トライダガー ノートpc ハイレゾ ハゼ ハワイ ハンバーガー バイク バックアップ バンド バージョン管理 パスワード管理 パソコン パパ ピアノ ピクサー ピック ファン プロトレックスマート プロビジョニング ペイジェント ペパボ ポストモーテム ミニ四駆 メンタリング メンター メーリングリスト メール ヤフオク ヤマダ電機 ヤマダ電機モバイルドリーム館 ライブ ランニング リモートワーク レアジョブ レジン レツプリ レビュー ログ ロジカルシンキング 上尾 二段階認証 伊那市 会社 保育園 優しい世界 入門 全文検索 分割キーボード 初心者 勉強会 名前解決 外苑前 天キー 太陽 子供 学習リモコン 実写映画 家具 家族 家計簿 家電 小松菜奈 引っ越し 息子 成人式 技術書典 振り返り 新年 新幹線 新海誠 新米 旅行 日帰り旅行 映画 書評 東京湾 東京都知事 東野圭吾 桜台 検証 気分転換 水タバコ 池上彰 海釣り 温泉 漫画 炭酸泉 生産性 登山 監視 目標 確定申告 福島 立会川駅 組立て 経済学 結婚 練習音源 練馬 考える 育児 脆弱性 自作 自作エフェクター 自作キーボード 自宅サーバー 自宅鯖 花見 蕎麦 言葉 誕生日 読書 豊島園 貸し切り 赤外線 趣味プログラマー 転職 退職 選挙 釣り 釣り堀 銭湯 録音 長野県 障害報告 電動アシスト自転車 電動自転車 電子工作 電気工事士 電気工事士2種 電気風呂 露天風呂 養命酒 1歳
  • 概要 初期の構築で、 S3 に静的コンテンツを配置して、表に CloudFront を構築した際、403 forbidden でアクセスできない場合がある。 また、curlで叩いた際にSSLのエラーが表示される。 curl -I https://test.inamuu.com curl: (35) error:14004410:SSL routines:CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure この場合、 CloudFront の Origin は対象の S3バケット を指定しているが、 CNAMEs が空になっていることが原因。 アクセスするドメイン名を設定しないと駄目。 例えば test.inamuu.com だったら CNAMEsに test.inamuu.com を指定する必要がある。 Terraformでは下記のように記述する。 resource "aws_cloudfront_distribution" "test_inamuu_s3_distribution" { ... aliases = ["test.inamuu.com", "test2.inamuu.com"] } S3の指定だけで良いと思っていて、ちょいハマってしまったので記録しておく。 Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス <p style='padding: 5px;'>
    Created Wed, 14 Nov 2018 14:04:34 +0000
  • 概要 SPAのインフラにS3やCloudFrontを使用していると、ページを遷移したあとに、「NoSuchKey」となることがある。 S3で公開している場合、S3+CloudFrontで公開している場合で、それぞれ設定があるのでメモ。 S3の場合 S3の場合は、静的ホスティングの設定をしたら、最初に読み込むファイルとエラーファイルを指定できる。 そこで、いずれもindex.htmlにしてあげることでエラーを回避できるようになる。 下記はTerraformでの定義の仕方。 website { index_document = "index.html" error_document = "index.html" } 上記はエラーに遭遇して調べたところ、下記記事を見つけて参考にしたもの。 Single-Page Apps on AWS, Part 1: Hosting a Website on S3 S3のみの環境であれば上記S3の設定のみでOK. CloudFrontの場合 CloudFrontでもS3と同じような設定できることを最近知った。 下記はTerraformの定義だが、404でもindex.htmlを返すという設定。 custom_error_response { error_code = "404" response_code = "200" response_page_path = "/index.html" error_caching_min_ttl = "300" } 上記はS3の前段にCloudFrontをおいたら、またエラーが出るようになってしまい、調べたところ下記記事を参考に設定したもの。 SPAを S3+CloudFront で表示する方法 SPAは今までのサーバークライアント環境の知識だけだと全く成立しないことが多いので、知っておかないと中々衝撃をうけることが多いが、マネージドサービス側でそれらに対応できるようになっていたりするのでほんと便利。 Amazon Web Services 定番業務システム14パターン 設計ガイド <p style='padding: 5px;'>
    terraform Created Thu, 08 Nov 2018 16:07:52 +0000
  • 概要 特定のサイトにおいて、CloudFrontを経由している際に、国内のみ接続を許可したい場合がある。 CloudFrontの場合は、Geo Restricitonsを使えばアクセス元を国内のみに制限することができる。 Terraform CloudFrontのリソースで下記を追加すればOK. restrictions { geo_restriction { restriction_type = "whitelist" locations = ["JP"] } } Webコンソール 確認 OperaのVPNを使用してアメリカ経由の接続にすると、403になることが確認できる。 Amazon Web Services 定番業務システム14パターン 設計ガイド <p style='padding: 5px;'>
    terraform Created Tue, 06 Nov 2018 13:53:11 +0000