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

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

AWS Organizations の AWS アカウントをすごく自動構築したかった話

AWS Organizations で AWS アカウントを多数作成する必要があったため、そのために調べたことをまとめました。

今回は、マルチアカウント展開を考えている方へ、AWS マルチアカウントの概要や AWS マルチアカウント管理サービスの概要をお送りします。

## AWS Organizations で出来ること

AWS Organizations で複数の AWS アカウントを管理することができます。
BasicOrganization.png
[AWS Organizations の用語と概念 – AWS Organizations](https://docs.aws.amazon.com/ja_jp/organizations/latest/userguide/orgs_getting-sta

元記事を表示

jenkinsでAmazon ECR上のイメージを使う

## はじめに
こんにちは、SREエンジニアやっています。@hayaosatoです。
今回はjenkinsでのCI/CDの際に自作のDockerイメージを利用したい機会があると思います。
jenkinsの[Dockerプラグイン](https://wiki.jenkins.io/display/JENKINS/Docker+Plugin)を利用してDockerfileをビルドさせて実行することも出来るのですが、配布されたイメージを利用したイメージを使いたいなど、レジストリ上のイメージを利用したいケースがあると思います。
そのようなケースに対応できるよう、jenkinsでレジストリから取得したイメージを使う方法をECRに特化して書いていこうと思います。

## Dockerfileからのビルド
一応、独自のイメージを利用するケースとしてDockerfileからのビルド方法について書いていきます。
Jenkinsのdockerプラグインでは、 `agent`にdockerfileを指定することができ、デフォルトではアプリのルートディレクトリのDockerfileで作成されます。

“`g

元記事を表示

Amazon CodeGuruを試してみた

re:Invent 2019のKeynoteにて、続々新しいサービスが発表されていますが、自動コードレビュー/アプリケーション動作モニタリングのサービスが紹介されました。

https://aws.amazon.com/jp/codeguru/

![スクリーンショット 2019-12-04 3.12.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102769/1ebaae94-2016-519d-1ffa-1c89bb7b1be3.png)

大きく2つのサービスがあるようですが、現状はJavaアプリにのみ対応しているようです。

# CodeGuru Reviewer
今までのAWSのベストプラクティスや知見をもとに、GitHubやCodeCommitに登録されているアプリケーションのソースコードをレビューし、結果をPullRequestとして通知してくれるようです。

# CodeGuru Profiler
Agentを仕込んでアプリケーションを動作させることで、CPU使用率や遅延などい

元記事を表示

AWS re:Invent2019キーノートざっくりまとめ

![IMG_20191203_071421.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322639/605e2eb8-98ef-4401-df4c-6fcc38a2a7e0.jpeg)

これは[株式会社メディアドゥのアドベントカレンダー](https://qiita.com/advent-calendar/2019/mediado)4日目の記事です。

今年から、僕を含むエンジニア2名が株式会社メディアドゥからラスベガスで開催中のAWS re:Invent2019に参加しています。

そしてちょうど先ほどAWSのCEO、Andy Jassyによるキーノートが終わったので、そこで発表された新サービス、新機能をざっくりまとめたいと思います。

## 発表された新サービス・新機能

3時間のキーノートの中でどんどん発表されて、発表のたびに会場から歓声と拍手が起こっていました。

以下、発表された新サービス、新機能の一覧です。漏れがあったらすみません?

– コンピューティング
– EC2のインス

元記事を表示

SageMaker発表まとめメモ

re:Invent 2019のKeynoteでSageMakerに関する怒涛のアップデートがあったので追いきれず。。。発表されている内容を後から見返すためのメモ。

# Keynoteで発表のあったもの
SageMaker Studio:WebベースのSageMaker IDE
https://aws.amazon.com/blogs/aws/amazon-sagemaker-studio-the-first-fully-integrated-development-environment-for-machine-learning/
SageMaker Notebooks:ノートブックをインスタンスの起動なしに立ち上げられる
SageMaker Experiments:パラメータをキャプチャして入力パラメータをキャプチャし設定が可能
https://aws.amazon.com/blogs/aws/amazon-sagemaker-experiments-organize-track-and-compare-your-machine-learning-trainings/
SageMa

元記事を表示

自動デプロイ実行中にunicornが起動しない(SSHKit::Runner::ExecuteError)

# この記事は初学者がエラーになったときの対処法を記載したものになります。
同じ初学者の方は、一度記事を全部読んで同じ症状に当てはまる場合実行してみてください。

## 現状
現在私は、1つのrailsアプリケーションを作り、AWSのEC2、Mysql、Nginx、Capistrano等を使い自動デプロイを行う際に置きたエラーになります。
また、私は、このアプリケーションで一度自動デプロイを成功させておりますので、初めて自動デプロイを行った際のエラー内容ではありません。

## エラー内容

“`html:ローカル環境
bundle exec cap production deploy
“`
自動デプロイコマンドを実行後unicornが起動しない

“`html:エラーコマンド一部

bundle exit status: 1 (SSHKit::Runner::ExecuteError)

Caused by:
SSHKit::Command::Failed: bundle exit status: 1

Tasks: TOP => unicorn:start
(See full

元記事を表示

tfstateを分割管理するためのTips

# tfstateを分割管理するためのTips

## はじめに

この記事は[terraform Advent Calendar 2019](https://qiita.com/advent-calendar/2019/terraform)の4日目です。

Terraformのstateを分割すると享受できるメリットがある一方、stateを分割することで発生する課題もあります。そこで、Terraformのstateを分割管理する中で考慮したことをまとめます。

## stateを分割する影響

### メリット
– plan/applyが高速化する
– 各ステートの命名がシンプルになる(`this`を使った命名がしやすい)
– 例えば`resource “aws_security_group” “this” {}`

### デメリット
– 管理するファイルが増える
– 同じような設定が増える

## どのような単位でstateを分割するか

リソースのライフサイクルごとに分割すると運用が楽です。
例えば、作成後削除することのないネットワークやデータベースと、状況により台数が

元記事を表示

memory allocation error対策でEC2にスワップ領域を作成する

# はじめに
EC2でJenkinsを実行中に微妙にメモリが足りなくて、`memory allocation error`でジョブが失敗することがありました。
稀な実行ジョブのためにインスタンスタイプを変えるのもしゃくなので、スワップ領域を作成して対処することにしました。

# 実施手順
[公式ドキュメントを参考](https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-memory-swap-file/)

現在のスワップ領域を確認

“`
$ grep Swap /proc/meminfo
SwapCached: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
“`

1GiBのスワップ領域を作成

“`
$ sudo dd if=/dev/zero of=/swapfile bs=100M count=10
“`

スワップファイルの読み書きのアクセス許可を更新

“`
$ sudo chmod 600 /s

元記事を表示

Lambda x MySQLでデータを更新してもクエリ結果が変わらない(キャッシュされているような振る舞いをする)

## 問題
表題の通りだが、Lambda x MySQL(RDS)で、テーブルのデータを変更しても、Lambda上でPythonからDBに対するSELECT結果が変わらないという問題が起きた。その場しのぎとしてLambdaのコードを変更すると、データ変更が反映されるためそれで運用をしのいでいる環境だった(または、少し時間を空けていた)。問題の解消法がわかったので載せておく。ただし原因はわかっていない。
(補足:RDSはサーバレスの部品ではないので、一般的にはDynamoDBを推奨)

## 解消方法

StackOverflowで同様の現象で困っている人がいて、回答の通り、Connection確立時に autocommit=True とすることで問題を解消できた。または各SELECT後にcommitしても解消できるかと思う。

[stackoverflow: why is an aws lambda python call to a mysql rds being cached](https://stackoverflow.com/questions/50359668/w

元記事を表示

自動取得されたRDSのスナップショットが削除できない場合

自動取得されたRDSのスナップショットを削除しようとしたら、「システムスナップショットを削除することはできません」と言われて困惑している人向け。

# 状況
OracleのRDS環境を動作確認のために作ったら、知らぬ間に自動スナップショットが取得されていました。
RDSのインスタンスを削除してもそのスナップショットは削除されなかったので、手動で削除しようと思ったらこんなメッセージが出て削除できませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/369844/d9c57974-e637-68c7-8dea-0e9a2b252ac0.png)

# 削除方法
左側メニューの「Automated backups」からバックアップを削除すると、連動して削除されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/369844/6710fb9f-e2f0-11e7-1522-9aa6db

元記事を表示

【AWS】 fargate間のレスポンスタイムとサイドカー

## はじめに

fargateで複数のコンテナ間通信が発生する場合fargate間のレスポンスタイムがどのくらいかかるのか気になったので参考までに測定してみたメモ。

#### 構成

比較用に同一タスク上に複数コンテナ(サイドカー)を構築した場合と別タスクからELB経由でアクセスした際で比較を行った。
![レイテンシ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485398/62f8d1d5-b4ab-110f-03d6-70813a7c71aa.png)

#### 計測条件

別タスクのコンテナからELB経由でAPI Serverにアクセスした場合と、
同一タスクのコンテナからlocalhostでAPI Serverにアクセスした場合を
下記curlで測定した(localhostの場合のコマンド例)。

~~~
curl -kL -s -o /dev/null -w “%{time_total}\n” http://127.0.0.1/api
~~~

:information_source:

元記事を表示

Web開発勉強のためWordpressでポートフォリオサイトを開設するまで①

Web開発を勉強するにあたり、まずは独学で下記のサイト・サービスを利用してみました。

・Progate
https://prog-8.com/
→言語の違いについては学べたが、もう少し難しいほうがいいと思いやめる。

・Ruby on Rails チュートリアル
https://railstutorial.jp/
→Rubyのバージョンの違いなど細かな違いのせいか、同様のコマンドを入力してもエラーが頻発。
いろいろ調べて解決するも、肝心のHerokuデプロイがどうしてもうまくいかず挫折。

あとは海外のサイトなので忘れましたが、言語別にFizzbuzzやらアルゴリズムを解くサイトを覗いて、アルゴリズムがわかっても初心者にすぐ実装できるスキルなぞあるはずもなく挫折。

ここまでで1か月ぐらいは消費したと思います。

その後、2か月ぐらいQiitaを眺めて興味ありそうなワードはネットで調べて、みたいなことを繰り返してました。
ムダに知識だけが増えていって、典型的な「わかる」けど「できない」使えない人間への道を歩んでいますw

さすがに手を動かさないとマズいかなーと思い、かといって上記のよ

元記事を表示

本当にあったAWSでやらかした話と対策?

# 概要
みなさんこんにちは?
「[フォトリ](https://photream.com/)」という家族写真の撮影サービスを運用している会社でCTOをしてるカイトズズキと申します。

この記事では、先日会社のAWSで割と高額の請求が来てしまい?死にたくなる思いをしたので、そのお話についてしていきます。

AWSは便利だけど、お金使いすぎたりしないか不安になりますよね。
特に僕はそんなにAWSには詳しくない人間なので、なおさらドキドキです。

この記事を通して、僕がやっちまった失敗をみなさんに知ってもらい、
同じような失敗をする人が1人でも減ることを祈ってます?

# やらかした話
### やらかしレベル
まず、結果としてどれくらいやらかしたかと言うと、
普段の使用料金以外に、
– `Lambda` で **10万円** くらい
– `S3` で **30万円** くらい
の請求が来てしまいました、、、

普段は数万円程度で2つのWebサービスを運用しているため、
最初に気づいたときは驚きすぎて理解に苦しみました、、、笑

なお、結果的に `Lambda` の方はAWS様にご返金いただき

元記事を表示

AWS CLIを利用した、サービス監視について(Windows)

#概要
 AWS CLIを利用したWindowsサービス監視について記載します。
 CloudWatch Agentでは、プロセス監視が可能ですが、サービス監視を行う事が出来ません。
 そこで、Windowsのコマンドでサービスの起動状態を確認し
 結果をCloudWatchに出力するといった内容となります。※
 ※出力=put の意味となります。

#事前設定
 本内容では、下記項目が必要となるので先事前に準備をお願いします。
 ①CloudWatch メトリクス 出力用 IAMユーザ作成 ※1
 ②AWS CLIインストール,初期設定(IAMユーザ設定含む) ※1
 ※1 上記内容は、AWSに公式手順がある為参照してください。
#設定内容
 今回の設定内容については、2フェーズに分け作業を実施します。
 ★設定フェーズ
  ①監視サービス名確認作業
  ②監視サービス確認用バッチファイル作成

##サービス名確認作業
 まず、初めにサービス名の確認を行います。
 Windowsのサービスより、対象のサービス一覧を確認して下さい。※2
 対象のサービスをダブルクリックし、プロパティ情

元記事を表示

社内chatworkにVIPチャンネルを作った話

# がいよう
[社内slackにVIPチャンネルを作った話](https://qiita.com/peisuke/items/80984db8b47cd8243019)

上記エントリが面白かったのでchatwork版を作りました。

# やりたいこと
– 匿名チャンネルと、発言するbotアカウントを用意する。
– botアカウントで[Chatwork Webhook](http://developer.chatwork.com/ja/webhook.html)を使う。
– WebhookをAWS API Gatewayで受け取り、Lambdaを発火する。
– Lambdaから[Chatwork API](http://developer.chatwork.com/ja/endpoint_rooms.html#POST-rooms-room_id-messages)を使いbotアカウントで匿名チャンネルへ発言する。

やっていきましょう

# Chatworkをやる
匿名チャンネルと、発言するbotアカウントを作ります。
匿名チャンネルには一緒に遊びたいユーザーを全員追加して

元記事を表示

AWS Lambda、FlaskとOpenCVの環境構築

# はじめに
– AWS LambdaでのOpenCVの環境構築は、大変です。具体的には、デプロイ環境の構築が大変です。
– デプロイ環境は、`AWSCLI`、`Serverless Framework`等色々な物が必要です。
– 今回も、以前作成した顔認識アプリをLambdaへ移植します。ソースコードは、同一です。上記のデプロイに関する設定ファイルが異なる程度です。
– ソース一式は [ここ](https://github.com/maedamikio/public/tree/master/flask_opencv_lambda) です。

# 概要
– Mac
– 顔認識アプリ
– Flask
– OpenCV
– Python
– デプロイツール等
– AWSCLI
– Docker
– Homebrew
– Node.js
– Serverless Framework
– AWS
– API Gateway
– Clo

元記事を表示

AWS+hls.jsでストリーミング再生(その1)

動画を配信するためにhls.jsを使ってみました。
動画を扱ったのが初めてだったので、まとめておきます。

# ストリーミング再生?HLS??
ストリーミング再生とは、本当に簡単に言うと「動画ファイルを細切れにして、ちょっとずつ読み込んで再生する方法」です。
動画(でかい)を一括で読み込んで再生すると、データの取得に時間がかかりますし、もし途中で見るのをやめるような場合はその分無駄が生じます。
ストリーミング再生では、細切れにされた動画を順番に取得して再生するので、動画を読み込みながら再生をすることが可能です。見なかった分のデータは取得しないので、一括で動画データを取得する方法と比べると、そういった意味では効率がいいと言えます。

HLSはHTTPを使用してストリーミング再生するプロトコルです。
HLSはHTTP Live Streamingの略で、Appleが開発した動画配信のプロトコルです。
HLSはプレイリストファイル(.m3u8)とセグメントファイル(.ts)ファイルで構成されます。
セグメントファイルは動画を細切れにしたもので、プレイリストファイルにはセグメントファイルをどの

元記事を表示

[AWS] ELB知らない人は,本当に危険!!(SAA突破攻略本)

#ELBについて解説
![elb_instances_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543591/130974bb-b83c-0159-8b13-8d2fae9b3bee.png)

こんばんわ.
AWSの少しだけニッチなところをご紹介します.

ELBってめっちゃ大事です.
ECサイトやネイティブアプリケーションの運用でかかせません.
大事な勝負日に503エラーなんてしてられないですよね?

EC2,S3,Lambda,cloud9あたりはみなさんよく使うと思います.

僕もその辺しか最初は知りませんでした.

S3なんかは覚えたての頃はかなり感動しました.
SNS作るときなんか,オブジェクトURLで保存すれば,DB容量の節約になりますからね.

その辺は使っていて直感的に覚えるのがベストでしょう.

さて,本題.
ELBって知ってますか?
マネジメントコンソールに書いてありますが,よくわからず,煙たがっていました.

しかし,クラウド運用する方は必須.
また,ソリューションアーキ

元記事を表示

独自ドメインを取得し、Route53 と ELB を使ってEC2上のWebアプリをHTTPS(SSL)通信に対応させてみる

こんにちは。今回は AWS の EC2 で構築しているアプリに HTTPS でアクセスできるようにしてみたいと思います。

## 前提

– EC2 上でアプリが動作していること
– nginx を使っていること

またすべて自己責任でお願いします。

## 全体像のイメージ

.

## Domainを取得する
僕はこちらのサイトでドメインを取得しました。

https://my.freenom.com/

使用したいドメインを検索して、利用できるドメインを選択します。

Domainを検索

AWS SAAでのVPCを初心者でも分かるように簡単に説明

# AWS SAA でのVPCが理解しずらい件
![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/543591/564ce2b3-efae-18e5-939b-73929c063272.png)

どうも.
最近ではオンプレよりも
クラウドが主流化してきましたね.

案件もお●前.comやロ●ポップを使って
構築してくれ!

なんて案件も偶にありますが,,,
大きい企業になるともっぱらGCP,AWSですね.

たまーに,Azureなんてありますが,
Azureは分からないので,AWSに強引に持っていきます.

どのクラウドベンダーでも構わないのですが,
アジャイル開発が主流になってきているので
**AWS認定**なんかあると,
チヤホヤされそうです.

ちなみに僕はAWS普段使ってるし受かるだろ〜
的なノリで受けて模試では半分しか点数取れませんでした.

本格的に勉強しだしたので,今月中にでもSAAをサクッと受かろうと思います.

自分が勉強していてしっくりこなかった分野は,**セ

元記事を表示

OTHERカテゴリの最新記事