AWS関連のことを調べてみた2019年11月03日

AWS関連のことを調べてみた2019年11月03日
目次

AWSでJavaMailを使用してメール送信する(前半

#AWSでJavaメールを使用してみる(前半

今回は、前回の記事で立ち上げたAWSのEC2を使用してJavaメールをgoogleのSMTP経由で送信してみる
最初に謝っておくが、EC2から送信まで行けなかったのでローカル環境からの送信までになる

*前回までの記事は下記を参照ください。
https://qiita.com/ktkt11122334/items/36f950670e5952d7d17e

##EC2でJavaを動かす
EC2にJavaが入ってるか確認する
前回立ち上げたEC2にssh
ssh -i [pemファイル] ec2-user@ec2-54-65-248-190.ap-northeast-1.compute.amazonaws.com

Javaが入っていないことを確認
java -version
-bash: java: コマンドが見つかりません
javac -version
-bash: javac: コマンドが見つかりません
yum list installed | grep java
**なにも表示されない

openJDKをyumで落としてくる
s

元記事を表示

amzon forecastやってみた

# はじめに
詳しくは後日ちゃんと書く。
今日イベントでAmazon forecastで時系列予測の事例紹介を見せてもらえたので
急激に「やれる!」感が出たのでとりあえずやってみた。
参考:https://dev.classmethod.jp/cloud/aws/amazon-forecast-getting-start/

# やってみた元データ
気象庁が公開している平均気温データを使いました。
地元が岡山県倉敷なのでそこのデータを1年分使用。
期間:2018/11/1 ~ 2019/11/1

# やってみた
とりあえずやってみた、ということもあり11/2~11/11の予測がとれた。
左半分は元データの情報で、右半分が予測での気温の推移、となる。
![キャプチャ_1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416263/de4cebd4-78cd-bae7-fafd-5eedec4e4ff1.png)
# 手順
一旦割愛。。。後日ちゃんと書く

# やってみての感想
日刻みで1年分なので365

元記事を表示

Visual Studio Code Remote Development で AWS Systems Manager Session Manager を利用して接続する(Windows対応版)

タイトル長えよ

## この投稿で説明すること
– Visual Studio Code Remote Development を利用してAWSに接続する際に、ポート開放や踏み台なしでプライベートサブネット上のサーバーに接続する方法
– Mac / Windows 両対応
– というかWindowsに大きめの罠が有り〼

## Visual Studio Code Remote Development とは
登場以来、VS Codeのまさにキー機能の一つになった超絶便利拡張。一言でいうと、リモートサーバー上の環境を、まるでローカルマシンのように使うことができます。具体的に言うと、

– ファイル編集
– コンソールの実行
– 特定のポートの共有

など。Cloud9みたいなものといえばそうなんですが、エディタの実態はローカルにあるので操作感はかなり良く、また殆どのVSCodeのプラグインが利用できます。要はほとんどローカルのVSCodeと一緒。

非力なマシンやWindows上でのLinuxアプリケーション開発などをする際にはないと困るし、あとWindowsであればWSLにも

元記事を表示

AWSのEC2で使うコマンドメモ

#超基本的なコマンド
初心者の私がメモがわりに書きました。

##ログインできる場所まで移動

“`
$ cd .ssh
“`

##ログインする
“`
$ ssh -i chat-space.pem ec2-user@[生成したElastic IP]
“`
##ログアウトする
“`
$ exit
“`
#増やします
新しく覚えたら増やします。
ログアウト調べてもすぐに出てこなかったんで自分でメモります。
でももう覚えました。

元記事を表示

GithubとJenkinsを連携させるにあたり、Github webhookの設定でつまずいたのでまとめておく

## はじめに
GithubとJenkinsを連携させるにあたり、Github webhookの設定でつまずいたのでまとめました。
今回はgit pushをトリガーとするべく、github webhookの設定から行っていましたが、ジョブが実行されないときがあったので、jenkinsでポーリングして行う方法のほうがいいかもしれません。

そこで本記事では、Githubのwebhookを使う場合の設定とjenkinsでポーリングして行う場合の設定の2つをご紹介します。

なお、jenkins自体のインストール、slackのプラグインはメモ程度に最後に書いておきます。

### 全体の構成
![Screenshot from 2019-11-03 11-07-20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/341653/e9abbf21-8bb4-bd73-2870-01b1838a0c4a.png)

## 環境/バージョン情報
– AWS (EC2, VPC, EIP, etc)
– U

元記事を表示

【AWSのEC2にgit入れたい】AWSのEC2でgit cloneできない現象を解決した話【凡ミス系】

#Linuxサーバ構築中の出来事
現在お勉強中の身です。
カリキュラム読みながらLinuxサーバ構築のくだりで、rbenvを入れるコマンドを入力したら、下記のような塩対応が返ってきました。

“` ターミナル
[ec2-user@ip-XXX-XX-XX-XXX ~]$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
-bash: git: コマンドが見つかりません
“`
多分、git入ってないんだろうなって調べたんですが、超凡ミスすぎて**ちゃんと読んで実行してればならないエラー**になってしまったがために検索結果では解決策にたどり着かず。

確認してみるとカリキュラムでやらなきゃいけないところを1個飛ばしていたようです。

もう、ドジなんだから❤️

#解決するためのコマンド

“`
$ sudo yum install git
“`
**sudo:**スーパーユーザーで実行(権限がある人)
**yum:**yumというインストーラーを使って
**install git:** git入れまっせ

という

元記事を表示

Elastic Beanstalk概念図

# 何
– Elastic Beanstalkの概念を学んだ際の記録
– [情報源](https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/concepts.html)

## 概念図
![eb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/151200/0973363b-1b27-849f-7fc1-eb8b47294393.png)

## 図の見方
– リージョンとアプリケーションの間の線によって、1体Nの関係であることを表している。
– 例)1つのアプリケーションバージョンを複数の環境に配置できるが、1つの環境は1つのアプリケーションバージョンしか配置できない。

元記事を表示

Developers.IO 2019 Tokyo 登壇資料・レポートまとめ

## 2019年11月1日 ベルサール日本橋 開催のまとめです

– 本家のまとめ
https://dev.classmethod.jp/series/developers-io-2019-tokyo/
– 関連ツイートまとめ
https://togetter.com/li/1424055

## 注意事項
– 1日参加した自分向けのまとめでもあるので厳密な精査はしてません
– 登壇資料とレポートが少しごっちゃになっています
– 追加・修正があれば、コメントにてご指摘ください
– 本家だとプログラムに沿ったまとめが無かったのでまとめました

## まとめ

場所 | 時間 | セッション名 | 発表者 | URL
— | — | — | — | —
2 | 1 | 認証の標準的な方法は分かった。では認可はどう管理するんだい? | 都元ダイスケ | https://www.slideshare.net/daisuke_m/cmdevio
3 | 1 | カルチャービルディング〜世界最強のAWSエンジニア集団の作り方〜 | 西澤徹訓 | https://dev.cla

元記事を表示

RailsアプリでELB(AWS)をエンドポイントに常時SSL化したらアプリにアクセスできなくなった

一度デプロイに成功したアプリケーションが常時SSL化をしたところ、pcからならアクセスできるけどスマホからだとアクセスできない、なんてことになりました。

ものすっごい初歩的なところで1日かけてしまったので、自分への戒めも含めて投稿しようかと思います。

## 前提

・EC2インスタンスランニング状態(ポート:HTTP 80を開き、ソースはロードバランサのセキュリティグループを指定)
・ロードバランサのターゲットグループのステータスはHealty(ポート:HTTP 80を設定)
・ロードバランサのDNS名にはAレコードが設定されている
・ロードバランサのリスナー:HTTPS 443 (SSL認証書も紐づいている)
・コンソールからec2-userにログイン可能
・本番環境内のproduction.logにはFatalやErrorの記述なし
・Capistranoの自動デプロイにエラーなし

##### しかしアプリにアクセスできたりできなかったりする!!

## 結論

##### ELBのセキュリティグループインバウンドでソースにマイIPを指定していた

つまり、自宅のWifiな

元記事を表示

AWSのVPC作成からEC2にsshログインまで

#AWS立ち上げ

今回、AWSを使用してEC2インスタンスにsshログインするまでの記事を投稿する

約一年ほど前にAWSでサーバを立ち上げてJavaやRDSを使用してネットワークやプログラムの
学習を行なっていたが諸事情により途絶えたので再開する

本記事の基本的な流れとしては下記になる
VPC作成→サブネット作成→EC2配置→sshログイン

##VPC作成(サブネット作成)
アプリケーションのプラットフォームを作成する
VPC環境をAWSコンソールから作成し、EC2のプラットフォームを作る

下記のキャプチャより、AWSコンソール画面のメニュー選択からネットワークとコンテンツ配信からVPCを選択する。
![スクリーンショット 2019-11-01 22.04.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526203/86d7ad53-0bb5-2ea2-6ec4-4f1742df88fd.png)

去年作成したが、あまり覚えていない・・・
どうやら下記がメインとなる設定画面のようだ

元記事を表示

Alexaスキル(APL対応&スキル内課金あり)を開発したときにハマった5つのポイント(スキル名:マッチファンタジー)

初投稿です。
この度、初めてのAlexaスキルをストアに出しました。
今回は、画面付きのデバイスが増えている背景もあり画面付きデバイスに対応したスキルを開発したのですが、実装時にハマったポイントを共有しようと思います。

# どんな人が書いたの?
・Alexaスキルの開発は初めて
・個人でのWebアプリやスマホアプリ開発経験あり
・業務としての開発経験無し
・使える(触ったことある)言語はC#,F#,js,python,ruby,C,Dart,etc…

# 対象読者
・Alexaスキルをこれから作ってみたいと思ってる人
・画面付きデバイス(Echo Show 5 等)用のスキルを開発したい人
・javascriptが読める人or何かしらプログラミングしたことある人

# 作ったスキル
マッチ売りの少女をモチーフとした様々な物語を毎日一話ずつ(スキル内課金すればいくつでも)聴くことが出来るスキルです。
また、物語の途中で選択肢が現れ、その選択肢によって後半のストーリーが変わるというアドベンチャーゲームのような要素もあります。

「マッチファンタジー」という名前で現在Amazonのス

元記事を表示

Rails6のActionDispatch::HostAuthorizationとELBのヘルスチェックの共存

Rails6の[ActionDispatch::HostAuthorization](https://github.com/rails/rails/pull/33145)設定と[okcomputer](https://github.com/sportngin/okcomputer)を利用した `Nginx – Rails – RDS` という経路のヘルスチェックの共存に少しコツが必要だったので記事にしました。

## ActionDispatch::HostAuthorization
https://github.com/rails/rails/pull/33145
Rails6から追加された、[DNSリバインディング攻撃](https://en.wikipedia.org/wiki/DNS_rebinding)から保護する新機能です。

下記のように設定することで、指定したホスト以外からのアクセスはエラーとなります。

“`ruby
Rails.application.config.hosts << "product.com" ``` ## okcomputer https://

元記事を表示

AWSで作成したWordPressのサイトをSSL化する

##はじめに
自分はインターネット初心者です。
無料枠が残っているAWSを有効活用するためにEC2を使い、WordPressでブログでも書こうと思った際、SSL化がよくわからなかったので記事に残しておく事にしました。
正直なぜこれで動いてるのかわかりません。(色々な記事を参考にしてもうまくいかなかった)
この記事を参考にしてSSL化する際は自己責任でお願いします。

##いろいろやる
Certificate Managerで証明書を発行し、ロードバランサーの作成、Route 53でドメイン名とELBとの関連付けまでは他の方々と同じです。
##WordPressにログインし、プラグインをインストール
WordPressにログイン後、メニューの「プラグイン」から「新規追加」を選択。
スクリーンショット 2019-11-01 22.15.56.pngAWS Cloud9でherokuコマンドがnot foundになった時の対処法

Railsチュートリアルの6.4でherokuコマンドを見失ったので対処法のメモ。
1.herokuコマンドみつからないエラー
 ■入力したコマンド
 `$ heroku run rails db:migrate`

 ■エラー内容
 `bash: heroku: command not found`

 ■やったこと
 [Cloud9でHerokuが使えない時の対処法](https://qiita.com/bdogrep/items/8620dbba5e4c3fd859df)

 ■結果
 上記記事内のコマンドを上から実行していったときに、新たなエラーに遭遇。

2.herokuをアップデートしなさいエラー
 ■エラー内容
 $ heroku -v
  › Warning: heroku-cli update available from 7.0.9
  › to 7.29.0.

 ■やったこと
 `$ heroku update`

 ■結果
 heroku-cli: Updating CLI… not updatable

3.herokuアップデートできませんエ

元記事を表示

CloudWatchLogsのログをElasticSearchに流す

# 概要
CloudWatchLogsからElasticSearchにログを流します。
ログを流す際にLambdaを経由する形になります。

スクリーンショット_2019-11-01_14_49_39.jpg

CloudWatchLogsのアクションからロググループを選んで「Amazon Elasticsearch Serviceへのストリーム」を選択します。

あとは画面に従って設定するだけです。

# 注意点

## ロール
VPC内のElasticSearchに書き込みたい場合はLambdaにAWSLambdaVPCAccessExecutionRoleをつけましょう。

## セキュリティーグループ
ElasticSearchにアクセスできるようにセキュリティグループを設定してください。

## Lam

元記事を表示

【AWS EC2】Amazon Linux 2にJenkinsをインストールする

# 概要
AWS EC2(AMI: Amazon Linux 2)にJenkinsをインストールして8081番ポートでアクセスできるようにする

## 環境
– AWS EC2
– OS: Amazon Linux 2
– AMI ID: amzn2-ami-hvm-2.0.20190823.1-x86_64-gp2
– セキュリティグループ: SSH 22 / TCP 8080 / TCP 8081 を開けておく
– Jenkins
– version: 2.202

# 構築手順
## 1. JDK 8 をインストール
– Amazon Linux 2にはデフォルトでJavaが入っていないのでインストールする
– Jenkins 2.164(2019-02)以降はJava 8 or Java 11が必要

“`console
$ sudo yum install -y java-1.8.0-openjdk-devel.x86_64
$ sudo alternatives –config java
$ java -version
openjdk version “1.

元記事を表示

マルチクラウド環境におけるサーバ証明書の運用 Let’s Encrypt/AWS/Azure

# はじめに
本記事は、マルチクラウド環境におけるサーバ証明書の運用についての記事になります。

マルチクラウド環境でサーバ証明書を使用している場合は、環境によって対応手順が異なります。また、ワイルドカードでサーバ証明書を取得していている場合は、留意事項があるケースが多いので注意が必要です。

本記事では、実際に運用での失敗を経験した上で、サーバ証明書の運用時のポイントなどを簡潔にまとめています。

## サーバ証明書の発行

### Let’s Encrypt
Let’s Encryptでサーバ証明書を発行する場合は、certbotをインストールして発行します。Standaloneプラグインを使用する際は、以下のコマンドを実行します。Webサーバーを停止させずにサーバ証明書を取得したい場合は、Webrootプラグインを使用します。

`# certbot certonly -a standalone -d <URL> –email <メールアドレス>`

ワイルドカードの場合は、以下のコマンドを実行します。

`# certbot certonly –manual -d ‘*.

元記事を表示

AWS Lambdaでのコールドスタートのメモリの罠と、Invoke Lambdaでのタイムアウトの罠

# 問題の経緯
API Gateway経由、ALB経由でAPI化しているLambdaを構築していた。
ALB経由Lambdaの中には、VPCに含んでいるものもあった。
そのLambdaからは別のLambdaもいくつかInvokeしていた。
実装を一通り終わってテストしていると、どうもレスポンスが早いときと、遅いとき、酷いとタイムアウト(API Gatewayは30秒制約あるし。。)することがあった。

# 調査した結果
調査してみると、どうにもInvokeしている部分が怪しかった。
やっぱりVPC Lambdaだとコールドスタートのせいで遅いのかなぁと思いながらログから調査していった。
Invoke自体は実行されているが、何故かInvoke先のLambdaにログが来ていない。。。。
もしかして、コールドスタートから起き上がる前にタイムアウトしてる??と思い、Lambda関連のドキュメントを漁りながら、やっぱりLambdaを定期実行して、コールドスタート回避するしかないのかなぁと思っていると下記の記事を発見。。。。
[VPC Lambdaのコールドスタートにお悩みの方へ捧ぐコールドスター

元記事を表示

CloudFormationでDynamoDBのオートスケーリングを設定する

# テンプレート

“`yaml
AWSTemplateFormatVersion: 2010-09-09
Resources:
sampleScalableTarget:
Type: “AWS::ApplicationAutoScaling::ScalableTarget”
Properties:
MaxCapacity: 100 # 最大キャパシティー
MinCapacity: 1 # 最小キャパシティー
ResourceId: !Sub table/sample-table # テーブル名を指定する「table/」の後にテーブル名を指定する
RoleARN: !GetAtt ScalingRole.Arn
ScalableDimension: “dynamodb:table:ReadCapacityUnits” # 書き込みキャパシティーユニットの場合は、「dynamodb:table:WriteCapacityUnits」
ServiceNamespace: dynamodb
sa

元記事を表示

CodePipeLineからLambda呼び出しを行うCloudFormationテンプレートの定義

# はじめに
CodePipeLineが終わったらSlackに通知を送るために、最後にLambda呼び出したかった。
作成したものを備忘として記録。

# テンプレート

“`yaml
# CodePipeLine
Pipeline:
Type: AWS::CodePipeline::Pipeline
Properties:

・・・(lambda以外は省略)

Stages:

・・・(lambda以外は省略)

– Name: lambda
Actions:
– Name: lambda
ActionTypeId:
Category: Invoke
Owner: AWS
Version: 1
Provider: Lambda
Configuration:

元記事を表示

OTHERカテゴリの最新記事