AWS
今朝方、AWS Cloud9 でEC2タイプのUbuntu環境を検証していたのですが。。 おもむろにリージョンを選択すると、東京リージョンが選べるではないですか。 今までは東京リージョンのサービスを使う場合、シンガポール等で環境を構築し、そこを経由して東京リー…
このエントリは、AWS #2 Advent Calendar 2018 の23日目です。 Zappaとは Amazon API Gateway と AWS Lambda でWebアプリケーションを簡単に構築、デプロイできるPython用のサーバーレスフレームワークです。 FlaskやDjango、Bottleなど WSGI に対応したフレ…
AWS Lambdaを使って、定期的にブログのトップページをチェック。 3日間書き込みがなかったら、催促メールを送り続ける。 あまり嬉しくないプログラムを作成します。 概要 大まかな流れは以下になります。 CloudWatch Events が定期的にLambda関数を実行 ブロ…
Lambdaコード内で、設定値を切り替えたい場合があります。 例えば、本番環境と検証環境で接続先を変えたい、などです。 このような場合、環境変数に値を設定して、コード内から環境変数を参照します。 特定の言語に依存せず参照できますし、コードから定数が…
Lambda関数でPythonの外部モジュールを利用する場合、Lambda関数デプロイパッケージに含める必要があります。 ローカルの場合は、zipにまとめてAWS Lambdaへアップロードする必要がありますが、AWS Cloud9上からデプロイする場合(つまりSAM)は簡単です。 Lam…
AWS Cloud9上で、Lambda関数を作成して実行します。 大まかな流れは下記になります。 ローカル上にLambda関数を作成 ローカル上のLambda関数を(デバッグ)実行 AWS上にLambda関数をデプロイして実行 ここでいうローカルとは、ブラウザで起動したCloud9環境を…
AWS Cloud9 IDE内で、実行中のWebアプリケーションを表示することができます。 今回は、Flaskを利用して確認します。 FlaskはPythonの軽量なWebアプリケーションフレームワークです。 Python3の構築は下記エントリを参照してください。 Flaskのインストール …
EC2環境を作成した直後はPython2系を利用できます。 Python3系を利用するためにはプロジェクト設定を変更する必要があります。 EC2環境の構築は下記エントリを参照してください。 プロジェクト設定 Python用の設定項目を表示します。 メニューバー右側の歯車…
AWS Cloud9 内から AWS CodeCommit リポジトリでコード管理を行うことができます。 AWS Cloud9 EC2環境を起動します。 AWS CodeCommitリポジトリは事前に用意しておいてください。 AWS Cloud9 EC2環境の構築は、下記エントリを参照してください。 AWS CodeCo…
環境タイプでEC2を選択した場合、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されています。 2018年9月時点で、以下のコンポーネントがインストールされています。 コンポーネント バージョン バージョ…
AWS Cloud9 は、ブラウザのみでどのマシンからでもコードを記述、実行、デバッグできる、クラウドベースの統合開発環境 (IDE) です。 とはいえ、何でもできるわけではありません。 基本はサーバーサイド向けです。 特にサーバーレスアプリケーション(Lambda)…
普段、趣味で書くコードはBitbucketを利用しています。 5ユーザーまでの制限はあるけれど、プライベートリポジトリを無料で利用できるのは嬉しいですね。 bitbucket.org AWS CodeCommit にも無料枠があります。 これは期間限定ではなく常に無料です。 無制限…
Code兄弟。 ちょっとずつ試してみたいと思います。 まずはバージョン管理サービスの CodeCommit から。 AWS CodeCommitに対する認証とアクセスコントロール AWS CodeCommitはバージョン管理サービスです。 GitHubやBitbucketと同様に、リポジトリへのアクセ…
本日、AWS認定資格 DevOpsエンジニア-プロフェッショナル に合格しました。 今年の2月にAWS認定資格を取ろうと決心。コツコツと1個ずつ取得していきました。 (資格もアウトプットですね) AWS認定 ソリューションアーキテクト – アソシエイト (03/22) AWS認定…
Elastic Beanstalkにはデプロイ方式がいくつかあります。 今回は、ダウンタイム無しのURL Swapによる環境の切り替えを試してみます。 AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk from Amazon Web Services Japan サンプルアプリ サンプルア…
Resourcesセクション内のリソース定義時に、DeletionPolicy属性を指定すると、リソースの削除方法を制御できます。 DeletionPolicy属性は、リソースのふるまいや関連性を制御するリソース属性の1つです。 リソース属性 CreationPolicy 属性 DeletionPolicy …
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インスタンスがリリースされました。 aws.amazon.com t2.microとt3.microを比較してみます。 料金は東京リージョン、オンデマンド、Linux/UNIXの条件です。 t2.micro t3.micro vCPU 1 2 EBS最適化利用 - はい ネットワークパフォーマンス 低から中 Up to 5…
前回はセキュリティーグループ、ネットワークACLを設定しました。 oreout.hatenablog.com 今回は、作成したネットワーク上にEC2インスタンスを作成し、Webサーバーを構築します。 Webサーバーはnginxデフォルト状態とします。 サーバー構築用のテンプレート …
前回はVPC、サブネット、インターネットゲートウェイ、ルートテーブルを作成して、ネットワークを構築しました。 oreout.hatenablog.com 今回はセキュリティを作成・設定します。 セキュリティーグループとネットワークACL VPCのファイアウォール機能として…
新規にVPCを作成して、Webサーバーを公開するテンプレートを作成します。 今回は、パブリックサブネット内に1つのWebサーバーを立てる、シンプルな構成とします。(APサーバー、DBサーバーは無し) テンプレートを目的ごとに分けます。 ネットワーク構築 セキ…
テンプレートを一から全て作成するのは面倒です。 そのような場合、AWS公式のサンプルテンプレートから目的に近いものをベースに作成すると、手間が省けます。 AWS Black Belt Online Seminar 2016 AWS CloudFormation from Amazon Web Services Japan サン…
Amazon Linux2 では、Extras Libraryを使用してメジャーなパッケージ(トピック)をインストールすることができます。 Extras Library パッケージ(トピック)の種類、バージョンは定期的に更新されるため、amazon-linux-extrasコマンドで確認します。 (2018年8…
米国リージョンは、政府用を除くと、下記の4つがあります。(2018年8月現在) us-east-1: 米国東部(バージニア北部) us-east-2: 米国東部 (オハイオ) us-west-1: 米国西部 (北カリフォルニア) us-west-2: 米国西部 (オレゴン) 東京リージョンEC2から各リージ…
EC2キーペアはリージョン単位で管理されます。 他リージョンで同じキーペアを利用したい場合、既に利用しているキーペアの公開鍵をインポートします。 EC2キーペアおさらい 20180411 AWS Black Belt Online Seminar Amazon EC2 from Amazon Web Services Jap…
前回のエントリで、スタックイベントをメールで受信できるようになりました。 しかし、全てのイベントを受信するため、大量のメールが届きます。 完了時だけひょっこりメールを受け取りたい!! 最初は、メッセージのフィルタリング機能を使えばできると思っ…
スタック作成時に通知オプションを設定すると、スタックイベントの内容を通知することができます。 トピックの作成 マネジメントコンソールから、サービス [アプリケーション統合] - [Simple Notification Service] を選択します。 トピックを選択して、[新…
テンプレートの検証 AWS-CLIのaws cloudformation validate-templateコマンドを使うと、テンプレート内容を検証できます。 ローカル上のテンプレートファイルを検証する場合は、--template-bodyオプションを使い、 aws cloudformation validate-template --t…
クロススタック参照を使用すると、スタック間の連携が可能になります。 スタック間の連携、つまりテンプレートが複数必要になります。 参照される側のテンプレート OutputsセクションのExportプロパティで値をエクスポート 参照する側のテンプレート 組み込…
組み込み関数の条件関数を利用すると、リソースを柔軟に制御できます。 リソースを制御する大まかな流れは Parametersセクション パラメータを入力 Conditionsセクション 入力値を評価して条件(論理値)を作成 Resourcesセクション 条件によりリソースを作成 …