俺のアウトプット

調べたこと、試したことを書きます

Raspberry Pi タクトスイッチでポチッとな 〜LEDをON/OFF〜

前回は、最初の一歩として Lチカ を作成しました。 今回は、入力に タクトスイッチ を使って、LEDのON/OFFにチャレンジします。 スイッチを押したらLEDが点灯 (ON) スイッチを離したらLEDが消灯 (OFF) 用意したもの ブレッドボード タクトスイッチ ジャンパ…

Raspberry Pi にチャレンジ 〜LEDでチカチカ〜

今更ですが、Raspberry Pi (ラズパイ) を購入しました。 前々から興味はあったのですが、ラズパイを使って何かをする目的がないので、購入にためらっていました。 昔、ちょっとだけ触って、そのままフェードアウトしていった、玄人志向のKURO-BOXを思い出し…

2019年はチャレンジの年 〜筑波連山縦走〜

新年明けましておめでとうございます。 俺事(私事)ですが、昨年は、やりたい事のために、意を決して転職活動をしました。 縁あって、2月から新しい職場、環境になります。 大きく環境が変わるため、早く仕事に慣れて、色々とチャレンジをしたい。 今から楽し…

ZappaでKappaを表示してみた

このエントリは、AWS #2 Advent Calendar 2018 の23日目です。 Zappaとは Amazon API Gateway と AWS Lambda でWebアプリケーションを簡単に構築、デプロイできるPython用のサーバーレスフレームワークです。 FlaskやDjango、Bottleなど WSGI に対応したフレ…

Fitbit API から睡眠データを取得してみた

Fitbit Charge2 を装着したまま洗顔をしたら、水がかかりお亡くなりになりました。。。 www.fitbit.com ちょうど、Fitbit Charge3 が出たので購入。 今度は防水なので大丈夫でしょう!! せっかくなので、睡眠データを取得して何かをしたいと思います。 睡眠…

ブログに3日間書き込みしなかったら催促メールを送る

AWS Lambdaを使って、定期的にブログのトップページをチェック。 3日間書き込みがなかったら、催促メールを送り続ける。 あまり嬉しくないプログラムを作成します。 概要 大まかな流れは以下になります。 CloudWatch Events が定期的にLambda関数を実行 ブロ…

AWS Cloud9上で作成したLambda関数で環境変数を利用する

Lambdaコード内で、設定値を切り替えたい場合があります。 例えば、本番環境と検証環境で接続先を変えたい、などです。 このような場合、環境変数に値を設定して、コード内から環境変数を参照します。 特定の言語に依存せず参照できますし、コードから定数が…

AWS Cloud9上で作成したLambda関数でPython3外部モジュールを利用する

Lambda関数でPythonの外部モジュールを利用する場合、Lambda関数デプロイパッケージに含める必要があります。 ローカルの場合は、zipにまとめてAWS Lambdaへアップロードする必要がありますが、AWS Cloud9上からデプロイする場合(つまりSAM)は簡単です。 Lam…

AWS Cloud9からPython3で作成したLambda関数を実行する

AWS Cloud9上で、Lambda関数を作成して実行します。 大まかな流れは下記になります。 ローカル上にLambda関数を作成 ローカル上のLambda関数を(デバッグ)実行 AWS上にLambda関数をデプロイして実行 ここでいうローカルとは、ブラウザで起動したCloud9環境を…

AWS Cloud9 IDE内でWebアプリケーションを表示する

AWS Cloud9 IDE内で、実行中のWebアプリケーションを表示することができます。 今回は、Flaskを利用して確認します。 FlaskはPythonの軽量なWebアプリケーションフレームワークです。 Python3の構築は下記エントリを参照してください。 Flaskのインストール …

AWS Cloud9でPython3の環境を構築する

EC2環境を作成した直後はPython2系を利用できます。 Python3系を利用するためにはプロジェクト設定を変更する必要があります。 EC2環境の構築は下記エントリを参照してください。 プロジェクト設定 Python用の設定項目を表示します。 メニューバー右側の歯車…

AWS Cloud9とCodeCommitを統合する

AWS Cloud9 内から AWS CodeCommit リポジトリでコード管理を行うことができます。 AWS Cloud9 EC2環境を起動します。 AWS CodeCommitリポジトリは事前に用意しておいてください。 AWS Cloud9 EC2環境の構築は、下記エントリを参照してください。 AWS CodeCo…

技術ブログ始めて2ヶ月たちました

早いもので、ブログを立ち上げてから2ヶ月が経ちました。 当初は、週に1〜2エントリを目標にしていましたが、気がつけば 30エントリ。 2日に1エントリのペース。 内容は別にしても、まずまずです。 「ブログ面倒だからやめるかぁ、どうせ無料だし」 と、言い…

AWS Cloud9 EC2環境内のコンポーネントを確認する

環境タイプでEC2を選択した場合、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されています。 2018年9月時点で、以下のコンポーネントがインストールされています。 コンポーネント バージョン バージョ…

AWS Cloud9 EC2環境を構築する

AWS Cloud9 は、ブラウザのみでどのマシンからでもコードを記述、実行、デバッグできる、クラウドベースの統合開発環境 (IDE) です。 とはいえ、何でもできるわけではありません。 基本はサーバーサイド向けです。 特にサーバーレスアプリケーション(Lambda)…

Bitbucket上のリポジトリをAWS CodeCommit上へ移行する

普段、趣味で書くコードはBitbucketを利用しています。 5ユーザーまでの制限はあるけれど、プライベートリポジトリを無料で利用できるのは嬉しいですね。 bitbucket.org AWS CodeCommit にも無料枠があります。 これは期間限定ではなく常に無料です。 無制限…

AWS CodeCommitリポジトリにSSH接続するための前準備

Code兄弟。 ちょっとずつ試してみたいと思います。 まずはバージョン管理サービスの CodeCommit から。 AWS CodeCommitに対する認証とアクセスコントロール AWS CodeCommitはバージョン管理サービスです。 GitHubやBitbucketと同様に、リポジトリへのアクセ…

Fitbit APIをcurlで叩いてみた

Fitbitしていますか? Fitbitとは腕につけて、歩数や心拍数、登った階数、カロリーなどを計測してくれるリスバンドタイプの活動量計です。 www.fitbit.com 自分は普段からFitbitを身に着けています。 とにかくよく歩きます。 アイデアを整理しながら歩いたり…

AWS認定DevOpsエンジニア-プロフェッショナルに合格しました

本日、AWS認定資格 DevOpsエンジニア-プロフェッショナル に合格しました。 今年の2月にAWS認定資格を取ろうと決心。コツコツと1個ずつ取得していきました。 (資格もアウトプットですね) AWS認定 ソリューションアーキテクト – アソシエイト (03/22) AWS認定…

Elastic BeanstalkのサンプルアプリでBlue/Greenデプロイを試す

Elastic Beanstalkにはデプロイ方式がいくつかあります。 今回は、ダウンタイム無しのURL Swapによる環境の切り替えを試してみます。 AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk from Amazon Web Services Japan サンプルアプリ サンプルア…

CloudFormationテンプレートのDeletionPolicy属性

Resourcesセクション内のリソース定義時に、DeletionPolicy属性を指定すると、リソースの削除方法を制御できます。 DeletionPolicy属性は、リソースのふるまいや関連性を制御するリソース属性の1つです。 リソース属性 CreationPolicy 属性 DeletionPolicy …

T3インスタンスの制限数

2018年8月現在、T3インスタンス(オンデマンド)の制限数を調べました。 リージョン nano micro small medium large xlarge 2xlarge バージニア北部 10 10 10 7 5 3 3 オハイオ 10 10 6 4 3 2 1 北カリフォルニア 5 5 5 3 3 2 2 オレゴン 10 10 10 10 5 3 3 ム…

せっかくだから、俺はこのT3インスタンスを選ぶぜ!

T3インスタンスがリリースされました。 aws.amazon.com t2.microとt3.microを比較してみます。 料金は東京リージョン、オンデマンド、Linux/UNIXの条件です。 t2.micro t3.micro vCPU 1 2 EBS最適化利用 - はい ネットワークパフォーマンス 低から中 Up to 5…

シンプルなネットワークとサーバーをCloudFormationで構築する 〜3. サーバー構築〜

前回はセキュリティーグループ、ネットワークACLを設定しました。 oreout.hatenablog.com 今回は、作成したネットワーク上にEC2インスタンスを作成し、Webサーバーを構築します。 Webサーバーはnginxデフォルト状態とします。 サーバー構築用のテンプレート …

シンプルなネットワークとサーバーをCloudFormationで構築する 〜2. セキュリティ設定〜

前回はVPC、サブネット、インターネットゲートウェイ、ルートテーブルを作成して、ネットワークを構築しました。 oreout.hatenablog.com 今回はセキュリティを作成・設定します。 セキュリティーグループとネットワークACL VPCのファイアウォール機能として…

シンプルなネットワークとサーバーをCloudFormationで構築する 〜1. ネットワーク構築〜

新規にVPCを作成して、Webサーバーを公開するテンプレートを作成します。 今回は、パブリックサブネット内に1つのWebサーバーを立てる、シンプルな構成とします。(APサーバー、DBサーバーは無し) テンプレートを目的ごとに分けます。 ネットワーク構築 セキ…

サンプルテンプレート(JSON)をCloudFormation DesignerでYAMLに変換する

テンプレートを一から全て作成するのは面倒です。 そのような場合、AWS公式のサンプルテンプレートから目的に近いものをベースに作成すると、手間が省けます。 AWS Black Belt Online Seminar 2016 AWS CloudFormation from Amazon Web Services Japan サン…

Amazon Linux2にExtras Libraryからnginxをインストールする

Amazon Linux2 では、Extras Libraryを使用してメジャーなパッケージ(トピック)をインストールすることができます。 Extras Library パッケージ(トピック)の種類、バージョンは定期的に更新されるため、amazon-linux-extrasコマンドで確認します。 (2018年8…

iperfを利用して東京〜USリージョン間のEC2ネットワークスループットを計測してみた

米国リージョンは、政府用を除くと、下記の4つがあります。(2018年8月現在) us-east-1: 米国東部(バージニア北部) us-east-2: 米国東部 (オハイオ) us-west-1: 米国西部 (北カリフォルニア) us-west-2: 米国西部 (オレゴン) 東京リージョンEC2から各リージ…

リージョン間で同じEC2キーペアを利用する

EC2キーペアはリージョン単位で管理されます。 他リージョンで同じキーペアを利用したい場合、既に利用しているキーペアの公開鍵をインポートします。 EC2キーペアおさらい 20180411 AWS Black Belt Online Seminar Amazon EC2 from Amazon Web Services Jap…