Web API: The Good Partsを読んでみて、ApiGatewayのベスト・プラクティスについて考えてみる

ApiGatewayでAPIを設定するに当たっての要点をまとめてみます。 例は本の内容を参考に独自のものにしています。 https://www.amazon.co.jp/Web-API-Parts-%E6%B0%B4%E9%87%8E-%E8%B2%B4%E6%98%8E/dp/4873116864 URL ドメインはapi.から始める https://api.ex…

AWSにおけるインフラの依存関係について整理してみる

各AWSのリソースと各依存先をまとめてみます 以下が頭に入っているといないではインフラスキルは段違いだと思います。 IAM,S3 すべての始まり VPC IAMに依存 ※VPCFlowLogのDeliverLogsPermissionArn SG VPCに依存 ※SGはVPC内に存在 ELB VPCに依存 ※ELBはサブ…

AutoScalingグループを作成する場合の注意点について

AutoScalingグループを作成する際の注意点について、まとめていきます。 特に言及していないプロパティはAWSの例通りでいいと思います。 AutoScalingGroupのプロパティ インスタンスの数(MinSize,MaxSize,DesiredCapacity) AZの倍数にする 東京なら1aと1cな…

Unable to determine service/operation name to be authorized

解決策 IntegrationHttpMethodをPOSTにする "MockMethod": { "Type": "AWS::ApiGateway::Method", "Properties": { "ApiKeyRequired" : "false", "AuthorizationType": "NONE", "HttpMethod": "GET", "Integration": { "IntegrationHttpMethod" : "POST", "T…

CloudFrontでaws cliからOrigin Access Identityを作成する

コマンドと結果 aws configure set preview.cloudfront true aws cloudfront create-cloud-front-origin-access-identity --cloud-front-origin-access-identity-config CallerReference=${現在日時のタイムスタンプ},Comment=XXXX { "Location": "https://c…

CloudFormationによるVPC Flow Logs

AWS CloudFormation Adds Support for Amazon VPC Flow Logs, Amazon Kinesis Firehose Delivery Streams, and Other Updates AWSさんがCloudFormationによるFlow Logsをサポートしたようです。 しかし、よいテンプレートがないので作ってみました。 FlowLog…

Supervisor(GolangのWEBアプリ)をインスタンス起動時に自動起動させてみる

GolangのアプリケーションのためのSupervisorは何を使って起動するかについてですが、 cfn-initやCodeDeployではフォアグラウンド起動ができません。 Amazon Linux AMIにはupstartの仕組みがすでに備わっていますので、そちらを使ってみます。 /etc/init/sup…

ログインなしでサーバー運用するには

参考 speakerdeck.com ※上記はOpsWorksを使用している点であまりオススメはできないですが、参考として置いておきます。 サーバーのログインの面倒くさい点・問題点 ユーザー追加、管理 誰が何をしたか、するかが可視化されない 手動デプロイによるオペミス …

AWS CodeDeployとGitHub Auto-DeploymentとAutoScalingを連携させてみる

やること GitHubでプルリクがマージされたら、 自動的にCodeDeployがAutoScalingグループにデプロイしてくれるようにする 前提 EC2にCodeDeployエージェントがインストール済み GitHubユーザーが作成済みでAWSCodeDeployRoleがアタッチされている Deployment…

Golangの本番環境(production)にsupervisorを使ってみる

参考 Supervisor: A Process Control System — Supervisor 3.3.0 documentation supervisorのインストール # pip --version pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7) # pip install supervisor Successfully installed meld3-1.…

angular2-material(angular/material2)を使ってみる

angular-cliを使って、angular2-materialをインストールしてみます。 参考 GitHub - angular/material2: Material Design components for Angular 2 material2/GETTING_STARTED.md at master · angular/material2 · GitHub GitHub - jelbourn/material2-app:…

npm ERR! fetch failed https://registry.npmjs.org/XXXXXXXX Error: connect ECONNREFUSED 103.245.222.162:443

以下のコマンドを実行した際にタイトルのエラーが表示される場合はhttps://nodejs.org/en/から最新版をインストールすると解消されます。 sudo npm install -g angular-cli nodeは基本動かなくなったり、エラーが発生した場合は最新版をインストールすれば問…

ELBを作成する場合の注意点について

ELBを作成する際の注意点について、まとめていきます。 特に言及していないプロパティはAWSの例通りでいいと思います。 AccessLoggingPolicy S3BucketPrefix ELBのログ用バケットを1つにする場合はS3BucketPrefixを指定して、 ELB毎にディレクトリを分けます…

Subnet(サブネット)を作成する場合の注意点について

WEBサーバーはプライベートサブネットに配置する プライベートサブネットはインターネットからのインバウンドを許可しない場合に使用します WEBサーバーは基本的にはELB経由の80(HTTP)のみ許可しますので、 パブリックサブネットに置く必要はありません。 WE…

VPCを作成する場合の注意点について

CidrBlock 以下のいずれかを使用する。 なお、ネットマスクは/28(16個)~/16(65,536個)にする 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) http://www.faqs…

AWS CloudFormationのネストしたスタックのテンプレートを作ってみた

追記: http://keiwt.hatenablog.com/entry/2016/09/22/173231 実際CloudFormationを使用するにあたってAWSのサンプルテンプレートがありましたが、ネストしたスタックのいいテンプレートがまだないので、自分でテンプレートを作ってみることにしました。 作…

Google Vision APIで画像解析してもらってみる(pythonでリクエスト用jsonを自動生成)

Google Vision APIのリクエスト用json作成はGoogle先生のpythonを使って自動化できるようなので、やってみる。 Google Vision APIを使えるようにするまで 割愛 参考 参考 https://cloud.google.com/vision/docs/requests-and-responses?hl=ja git clone cd ~…

Google Vision APIで画像解析してもらってみる

最近β版が公開された画像解析APIを使ってみます。 設定 コンソールプロジェクトの作成 or 選択 請求先の登録 Google Vision APIを有効にする ブラウザーAPIキーの生成 https://cloud.google.com/vision/docs/getting-started?hl=ja キーをenvに設定 echo exp…

久しぶりにnodeを触るのでnodeとnpmとインストール済みパッケージをupdateしてみる

nodeとnpmをupdate https://nodejs.org/en/ ここからインストールすれば、最新になる。 アンインストールして、再インストール等はしなくても問題ない。 ※以下のエラーが出ている場合も同様 module.js:338 throw err; ^ Error: Cannot find module 'readable…

S3上のバケット内のオブジェクト(画像)に一律Cache-Controlヘッダーを設定してみる

s3cmdのインストール $ brew install s3cmd キャッシュを設定してみる Cache-control s3cmd --recursive modify --add-header="Cache-Control:max-age=31536000" s3://{{バケット名}}/assets/img stackoverflow.com 実行後には以下の画像のようにCache-Contr…

AWS CLIを使って、S3のディレクトリをダウンロード・アップロードしてみる

準備 pythonのインストール Download Python | Python.org pipのインストール $ curl -O https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py AWS cliのインストール $ sudo pip install awscli 参考資料 http://docs.aws.amazon.com/cli/lates…

Y!mobileから、MVNOの格安SIM(IIJ Mio)に乗り換えてみる

kakuyasu-sim.jp この度初めてMVNOに乗り換えてみました。 その際の諸々を書いてみる。 From www.ymobile.jp To www.iijmio.jp 乗り換え前 Y!mobileから機種変更はいかがでしょうか。今ならXXXX円引き。 さらに、機種変更すると通常3GB×2で3980円/月とのSMS…

参考になるおしゃれな名刺のデザインのサイト集

名刺をせっかく作るなら自分でデザインしてみる。 ゼロから良さ気なのが思い浮ばないので、海外のおしゃれな名刺のデザインのどれかに似せてみる。 photoshopvip.net graphicriver.net matome.naver.jp

2016年を展望してみる

新年初投稿ということで今年のキーワードになるであろうものを挙げてみます。 サーバーレス化 Serverless Architecture on AWS(20151023版) from Keisuke Nishitani www.slideshare.net 面倒くさいサーバー運用やサーバーの時間課金は割と無駄が多いのでは…

AngularJS2 Tour of Heroesしてみる

Tutorial: Tour of Heroes - ts github.com 今回AngularJS2のLearning Pathの3までやってみました。 https://angular.io/docs/ts/latest/guide/ そこ中での要点を記載していきます。 Interface or Class? If we need a Hero that goes beyond simple propert…

AngularJS2 5MIN QUICKSTARTしてみる

angular.io github.com 1.Set up our development environment プロジェクトディレクトリの作成 mkdir {{プロジェクトディレクトリ}} cd {{プロジェクトディレクトリ}} package.json { "name": "angular2-quickstart", "version": "1.0.0", "scripts": { "ts…

AWS SDK for Goを使って、S3のバケット内の画像情報を取得してみる

ListObjectsの使用例 svc := s3.New(session.New()) params := &s3.ListObjectsInput{ Bucket: aws.String("BucketName"), // Required Delimiter: aws.String("Delimiter"), EncodingType: aws.String("EncodingType"), Marker: aws.String("Marker"), MaxK…

AWS SDK for Goをインストールしてみる

docs.aws.amazon.com インストール $ go get -u github.com/aws/aws-sdk-go/... github.com Configuring Credentials $ echo export AWS_ACCESS_KEY_ID=XXXXXXXXXXX >> ~/.profile $ echo export AWS_SECRET_ACCESS_KEY=XXXXXXX >> ~/.profile $ source ~/.p…

Go(golang)のインストールとSublimeText3(GoSublimeの設定)の開発環境構築

pkgのダウンロードとインストール Downloads - The Go Programming Language https://storage.googleapis.com/golang/go1.5.2.darwin-amd64.pkg 確認 バージョン $ go version go version go1.5.2 darwin/amd64 ワークスペースの作成 mkdir ~/work GOPATHの…

Google Page Speed Insightsの点数を上げてみる

スマホで撮った画像が100枚を超えるサイトで試してみました。 スタート時点 結果 SP:0 PC:0 Load timings (ms) 計測不能 JSにasync defer http://www.tagindex.com/html5/page/script_method.html async 文書の読み込み中に、そのスクリプトが利用可能になっ…