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

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

#AWS の ElasticBeanStalk とはそもそも何なのか?Webアプリの実行と管理ができると AWS マネージメントコンソールは言った。

マネージメントコンソールに1行のコメントが表示される。そうか、総合環境の構築だと思っていたけれど、Webアプリ限定の環境なのだろうか。

![image](https://user-images.githubusercontent.com/13635059/68536153-8f725f00-0391-11ea-9b7a-275319aafb61.png)
![image](https://user-images.githubusercontent.com/13635059/68536154-90a38c00-0391-11ea-9638-5fecfb9e8f09.png)

# 説明ページでさえ

いろいろと書かれていて、結局なにができるのかよくわからないよな。

![image](https://user-images.githubusercontent.com/13635059/68536171-cc3e5600-0391-11ea-9790-394f7c401bc1.png)

あーよく見るとウェブアプリケーションって明記されてた。

![image](https://u

元記事を表示

#AWS ElasticBeanStalk で SCP 接続して サーバーのファイルをローカルにコピーする

“`
eb ssh
“`

“`
eb ssh
“`

“`
INFO: Attempting to open port 22.
INFO: SSH port 22 open.
INFO: Running ssh -i /Users/yumainaura/.ssh/pup.pem ec2-user@ZZZ.ZZZ.ZZZ.ZZZ
Last login: Sat Nov 9 22:57:33 2019 from XXX.XXX.XXX.XXX
_____ _ _ _ ____ _ _ _
| ____| | __ _ ___| |_(_) ___| __ ) ___ __ _ _ __ ___| |_ __ _| | | __
| _| | |/ _` / __| __| |/ __| _ \ / _ \/ _` | ‘_ \/ __| __/ _` | | |/ /
| |___| | (_| \__ \ |_| | (__| |_) | __/

元記事を表示

LINE Messaging APIとAPI Gatewayでオウム返しLINE BOTを作ろう

## やること

LINE Messaging APIとAmazon API Gatewayで、オウム返しするBotを作ります。

## 参考

以下サイトを参考にしました。(というかそのまま)

– [LINE Bot を5分で作ってみる (API Gateway 編)](https://blog.yuu26.com/entry/20171221/1513863467)
– [1時間でLINE BOTを作るハンズオン (資料+レポート) in Node学園祭2017 #nodefest](https://qiita.com/n0bisuke/items/ceaa09ef8898bee8369d)

## 前提

LINE developersとAWSへのアカウント登録が必要です。

– [LINE developers](https://developers.line.biz/ja/)
– [AWSコンソール](https://console.aws.amazon.com/console/home)

## 構成図

このような構成を作ります。

元記事を表示

【AWS】DirectConnect

2019/11/9時点

#DirectConnectとは
– データセンターやオフィスを専用線を介してAWSへプライベート接続するサービスである。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530635/730ee38b-99c8-98bf-b752-f22e4a652eb6.png)

#DirectConnectとVPNの比較
– データセンターやオフィスからAWSへプライベート接続する方法としてDirectConnectの他にVPNがある。
– コスト、開始までの期間、帯域・品質から適切な接続を選択することが重要である。

| | DirectConnect | VPN |
|:—————–|:——————|:——————|
| コスト|キャリアの専用線サービスの契約が必要 | 安価なベストエフォート回線も利用可能|
| 開始までの期間 | 数週間 |

元記事を表示

図解で、もう踏み台要らずAWS SSM経由Windowsサーバーにリモートデスクトップ接続

# AWSなら、踏み台サーバー無しでWindowsサーバにRDP接続できるようになった。便利だけど、設定方法をすぐ忘れちゃうのでメモ。

###今まで:
Linux 踏み台サーバーを経由して、AWS Windowsサーバーにリモートデスクトップ接続していた(RDP over SSH)。

– メリット:使い慣れている。SSH鍵を所有する人だけがOSにログインできた。
– デメリット:会社のHTTP/HTTPSプロキシ経由では、RDPがブロックされて接続できない。

###これから:
AWS Systems Manager (SSM)のセッションマネージャー経由でEC2 Windowsサーバーにリモートデスクトップ接続したい。

– メリット:会社のHTTP/HTTPSプロキシ経由でも、クラウドのサーバーOSにSSHクライアントやRD接続でログインできるかも。
– デメリット:AzureやIBM Cloudなどの他クラウドと異なるアクセス方法を運用することになる。

##システム構成図
PCの[AWS CLI]とAWS管理ポータルの[SSM]を経由して、PCからWindowsサーバーにR

元記事を表示

ECSのARNとResource IDのフォーマット設定してなくてハマった

# これは何?

“`terminal
InvalidParameterException: The new ARN and resource ID format must be enabled to add tags to the service. Opt in to the new format and try again.
“`
ECSで遊んでみようとTerraformで遊んでいたら、
ECSのServiceリソースを生成する際に上記のようなリクエストエラーが返ってきた。
意外と知らなくて詰まったのでその対処方法。

# 環境
macOS Mojave 10.14.5
terraform: v0.12.13

# 対処方法

参考になったのは下記の2ページ。

https://docs.harness.io/article/rdk1j5s32z-ecs-troubleshooting#new_arn_and_resource_id_format_must_be_enabled

https://aws.amazon.com/blogs/compute/migrating-yo

元記事を表示

AWSネットワーク周り勉強メモ

## はじめに
ネットワーク周りの知識があやふやなことが判明したため復習。間違ってたらご指摘お願いします。。

## ネットワーク
### VPC
– AWS内の利用者専用の仮想プライベートネットワーク
– リージョンの中に作成する
– CIDRブロックは/16〜/28の範囲で作成できる
(例:`10.0.0.0/16`)
– 可能な限り大きなサイズ(/16)で作成する
– アドレス不足を防ぐため

### サブネット
– VPCをさらに小さなネットワークに区切った単位
– CIDRブロックは/16〜/28の範囲で作成可能
– VPCよりも小さな範囲を指定する
(例:`10.0.1.0/24`)
– インターネットと通信するサブネット(パブリックサブネット)、通信しないサブネット(プライベートサブネット)など、役割・ルーティングによって分割する
– 同一の役割を持ったサブネット、リソース群を複数のAZに作成することで(マルチAZ)耐障害性の向上に繋がる

### ルートテーブル
– パケットが次にどこに向かうか、転送先を決める
– 通信経路(送信先とターゲ

元記事を表示

AWS Lambdaのアプリケーション作成を使ってCI/CDパイプラインを一気に構築

Source-Build-Deploy

# AWS Lambdaのアプリケーション作成とは

AWS Lambdaのアプリケーション作成機能を利用してLambda関数を作成すると、Lambda関数自体の他に

– Lambda関数のソースコード等を管理するGitリポジトリとしてCodeCommit

– CodeCommitのmasterブランチの更新を契機にLambda関数へのデプロイを行うCodePipeline

等々、CI/CDパイプライン実現のためのAWSリソースが同時に作成されます。

Lambda関数自体は手軽に作ったものの、次のステップとしてCI/CI環境を構築するのは腰が重く、ソースの更新はマネジメントコンソール上で実施している・・・といったケースを改善するアプローチとして、このようなCI/CD

元記事を表示

AWSomeday@大阪 セミナーメモ

# 概要
2019/11/07 AWSomeday@Osakaのセミナーメモです。

## AMI
アミとも読む。マシンイメージのこと。VMでいう、動いている仮想環境本体。
ルートボリュームのテンプレート。複数回デプロイしなおす事が可能。
例:メンテ前にAMIのスナップショットをとる→メンテ→失敗→復元
みたいな事が可能

## AWSの費用について
### オンプレとAWSの比較
* オンプレ
* DDOS対策
* ソフトウェア関連費用(OS/DB/パッケージ
* 代替機
* 設備費用
* 減価償却費

→5〜6年見越して調達しなければならない

* AWS
* ソフトウェア関連費用(パッケージ)
* クラウド利用料

→従量課金なので無駄のない投資が可能

### AWS利用料目安
例: 1Hあたり1.1円→5年:5万円(バックアップもしたら、7万円くらい)
インスタンスがLinuxのエントリーモデルの場合

### コスト削減事例
DWH構築
オンプレ:1年
納品→取付→OS/MWインストール
AWS:1か月
ポチポチやるだけ。

### AWSの利用料

元記事を表示

【AWS】CodePipelineから呼び出したLambdaがずっと進行中になっている問題と対応

## 問題

**ずっとインジケータがぐるぐるしている**

スクリーンショット 2019-11-08 23.47.25.png
(10分立ってもそのままで)もう気が狂う!!!

S3へのデプロイ完了後にCloudFrontのキャッシュを消すLambdaを呼びたいなーと思ったときに躓いたのでまとめ。

## 原因
**`codepipeline:PutJobSuccessResult(※)`を返却しないため**
※ 失敗の場合は`codepipeline:PutJobFailedResult`

### PutJobSuccessResultって?
> PutJobSuccessResult
> ジョブワーカーによってパイプラインに返されたジョブの成功をレポートするために必要です。

元記事を表示

[AWS IoT] MQTTでjsonデータをpublishしたことをトリガにDynamoDBにjsonデータを格納する方法

# はじめに
ここでは、AWS IoTを用いて、自宅にあるIoT機器からの情報をAWSクラウドを通じて何かシステムを構築できないかな。と思い、1つひとつAWSクラウドの勉強したときのノウハウをまとめています。備忘録としてまとめているので、誤りがありましたのでご指摘ください。

今回は、
#### [AWS IoT—>DynamoDB]のデータ保持方法
についてです。
実際は、IoT機器からデータをクラウドにuploadする想定です。
まずは、「クラウド上にデータが届いてから保持する」箇所を作成します。

## 事前準備
・今回取り扱うデータを何にするか。
・どのような形式で通信を行うか。
を決めます。
取り扱いデータは以下の5つとします。
(1)管理ID
(2)時刻
(3)デバイスバージョン
(4)デバイスID
(5)デバイス種類
通信方式は、MQTTを用いてjsonフォーマットとします。
⇒以上を踏まえて、以下のようなjson形式としました。

“`sh
{
“id” :”1″,
“time” : “20191109120010000”,
“data” :{
“ver

元記事を表示

[AWS Cloud9]でのプロジェクトDownloadと、新プロジェクトへの復元方法

#AWS Cloud9
プロジェクトのバックアップ(ダウンロード)と復元方法をメモった

###前提条件
– Cloud9で作成したプロジェクト名は「cms」で作っていたので解凍後のフォルダ名で「cms」と出てきます。ご了承ください。

#バックアップ圧縮
#### 1.[file] -> [Download Project]
image.png
####2.ダウンロードして保管しておきましょう!

##バックアップ復元
####1.「プロジェクト名(フォルダ)を選択
![image.png]()
image.pngawscli のコマンドで #AWS ElasticBeanStalk環境を再構築する ( eb コマンドではない )

awsコマンドでできるっぽい

“`
aws elasticbeanstalk rebuild-environment –environment-name my-env
“`

[rebuild-environment — AWS CLI 1.16.278 Command Reference](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/rebuild-environment.html)

“`
aws elasticbeanstalk rebuild-environment –environment-name puppeteer –region=us-east-2
“`

コンソールで確認

![image](https://user-images.githubusercontent.com/13635059/68521155-8f1a8b00-02e1-11ea-9e82-546ad0981dc6.png)

たしかに `rebuildEnvironment is start

元記事を表示

AWS S3でStatic website hostingする際のReferer制御

# 実現すること

AWS S3でバケットをStatic website hostingする際に

– index.htmlのみ公開
– それ以外のリソースはRefererでアクセス制御

します

# やりかた

S3のバケットの
アクセス制限/バケットポリシー
にて以下を記載します

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “Allow all to index.html”,
“Effect”: “Allow”,
“Principal”: “*”,
“Action”: “s3:GetObject”,
“Resource”: “arn:aws:s3:::${S3_BUCKET_NAME}/index.html”
},
{
“Sid”: “Allow all from own domain”,

元記事を表示

Cannot allocate memory – fork(2) 対策

自動デプロイでエラー。unicornでエラーしていたので備忘録として書きます。
解釈がおかしければご指摘ください。

“`unicorn.stderr.log
(省略)Cannot allocate memory – fork(2)
“`
上記の意味はメモリエラーです。
メモリが足りない時にされていることとしてメモリースワップがありますが・・・
AWS EC2 Linux は設定されていません。
(コマンド**$ free** で表示されますが、初期ではswapのところは0になってます)

設定の仕方は以下のページを参考にしました。先駆者様本当にありがとうございます。
[【Linux】スワップ領域(ファイル)の作り方](http://mktktmr.hatenablog.jp/entry/2016/09/28/055629)

**※ $ mkswap /Swapfile の際に時間がかかるのでご注意ください**
上記ページの処理をすれば1GBのスワップ領域が確保されます。

元記事を表示

#AWS の ElasticBeanStalk + awscli の eb use コマンドでデフォルトの環境を切り替える

list で環境リストを見て、use で切り替えられる

“`
$ eb list
Ex-env
* puppeteer

$ eb use Ex-env

$ eb list
* Ex-env
puppeteer

“`

# Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2691

元記事を表示

#AWS ElasticBeanStalk サーバー への ssh 接続で Host key verification failed. ERROR: CommandError – An error occurred while running: ssh.

# エラー

– AWSに限らずよくあるフィンガープリント違うってやつ
– AWSで環境更新した後にIPアドレスは同じだけどサーバー自体は更新されているのでエラーが出るとか?

“`
$ eb ssh
INFO: Attempting to open port 22.
INFO: SSH port 22 open.
INFO: Running ssh -i /Users/yumainaura/.ssh/pup.pem ec2-user@XXX.XXX.XXX.XXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropp

元記事を表示

awscli の eb config コマンドでコンソールから #AWS インスタンスタイプを変更して サーバー応答速度を速くしたい

# eb config

編集モードに突入するので、 `InstanceType: t2.small` を変えて編集終了してみる

デフォルトエディタは vim だと思うので、操作方法はてきとうにぐぐる

“`diff
pplicationName: ex
DateUpdated: 2019-11-09 00:41:23+00:00
EnvironmentName: puppeteer
PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Node.js running on 64bit
Amazon Linux/4.11.0
settings:
aws:autoscaling:asg:
Availability Zones: Any
Cooldown: ‘360’
Custom Availability Zones: ”
MaxSize: ‘1’
MinSize: ‘1’
aws:autoscaling:launchconfiguration:
BlockDe

元記事を表示

#AWS で ElasticBeanStalk サーバーに ssh 接続するコマンドを確認するには awscli の eb ssh コマンドで INFO ログを見れば良いじゃない

eb ssh コマンドのログで ssh コマンドがそのまま表示されるので、次回からそれを利用すれば良い

# eb ssh

“`
$ eb ssh

INFO: Attempting to open port 22.
INFO: SSH port 22 open.
INFO: Running ssh -i /Users/yumainaura/.ssh/pup.pem ec2-user@XXX.XXX.XXX.XXX

Last login: Sat Nov 9 00:29:48 2019 from YYY.YYY.YYY.YYY
_____ _ _ _ ____ _ _ _
| ____| | __ _ ___| |_(_) ___| __ ) ___ __ _ _ __ ___| |_ __ _| | | __
| _| | |/ _` / __| __| |/ __| _ \ / _ \/ _` | ‘_ \/ __| __/ _` | | |/ /
| |___| |

元記事を表示

#AWS 初心者だけど ElasticBeanStalk で アプリケーションと環境を作成してみる

# Console

![image](https://user-images.githubusercontent.com/13635059/68518540-b36d6c00-02cf-11ea-91ec-40ed0424113a.png)

# 新しいアプリケーションを作成

![image](https://user-images.githubusercontent.com/13635059/68518643-35f62b80-02d0-11ea-9115-2b44a73ca3bb.png)

# 環境を作成

アプリケーションが環境を持つという構成っぽい。

![image](https://user-images.githubusercontent.com/13635059/68518570-dd269300-02cf-11ea-96b0-d59e71ca0bed.png)

node プラットフォームを選んで環境を作ってみる

![image](https://user-images.githubusercontent.com/13635059/68518588-f0d1

元記事を表示

OTHERカテゴリの最新記事