AWS関連のことを調べてみた2020年01月19日

AWS関連のことを調べてみた2020年01月19日

AWSのデータベースサービス

出展:[AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC-%E5%B1%B1%E4%B8%8B-%E5%85%89%E6%B4%8B/dp/4797397403/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3ERB303UT76DT&keywords=aws%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82

元記事を表示

異なるAWSアカウント間のS3内データを移動する方法

# はじめに

以下のように、Bucket_A(以下copy-from-bucketとする)にあるデータを異なるAWSアカウントにあるBucket_B(以下copy-to-bucketとする)にコピーするための設定方法について説明します。

![Untitled Diagram (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550851/eebeffae-beb2-599d-1d67-5812b1b751cc.png)

こうした設定を使う状況としては、異なるアカウントのデータを移動させるのに、大容量すぎて一度ローカルに落としてから再度別アカウントバケットへ移動などという操作が困難なときなどが考えられるでしょう。

# 手順

## 1.コピー先となるアカウントに、コピー専用ユーザーを作成する

異なるアカウントのデータをいじるのは、オペミスで大事なデータを消去してしまったりする危険性もあるので、権限を最小限にしたコピー専用ユーザーを作成したほうがいいです。ここでは新規に専用ユーザーを作る前提

元記事を表示

AWS ルートアカウントが使用されたことを通知する監視設定

## 1. はじめに
* 担当サービスでは、これまで CloudWatch アラームを Slack へ飛ばすために 自作 Lambda を作成して設定していたが、最近 [AWS Chatbot](https://aws.amazon.com/jp/chatbot/) が登場したので、CloudWatch アラーム から Slack へ通知する部分を、自作 Lambda は止めて AWS Chatbot を使った監視設定へ切り替えて、監視設定をエンハンスした(AWS Chatbot はまだ現時点ではベータ版なので、少し不満な点もあるけど、これから新機能や改良されるはずなので積極的に使うようにしている・・)。

* AWS Chatbot では、CloudWatch アラームの他に、Health イベントや Budgets アラートも[サポート](https://docs.aws.amazon.com/chatbot/latest/adminguide/related-services.html)しているので、これらの通知も AWS Chatbot を使う設定にした(今後は、RDS や E

元記事を表示

BlockChainの実用に向けての調査

#調べること
– Blockchain Template (無料枠はないか), hyperledgerFablic
– シンクラPCにブロックチェーン使えないか、ローカルでhyperledgerFablic

#pythonでブロックチェーンを体感する
まず、ハッシュ、プルーフといった基礎ワードの理解と、どういう仕組みでデータ改ざんに強いのかを知る。

【Python実践】ブロックチェーン入門!Pythonで実装して基礎を学ぼう


https://hyperledger-fabric.readthedocs.io/en/release-1.4/

# memo
Amazon ECS(Elastic Container Service)

AWS Managed Blockchainの概要

Amazon Managed Blockchain の概要

AWS Manage

元記事を表示

node.js製のlambdaアプリをコマンド一発でアップロードする方法

node.jsでlambdaのアプリを作っているのですが、コードやパッケージが増えてくるとインライン編集出来なくなったり、zipでアップロードする必要が出てきます。ちょっとした変更でもわざわざawsのサイトに行ってアップロードするのは面倒ですし、複数のlambdaアプリを作っていたら間違えて別の関数にアップロードしてしまった、といった事故も起きるかもしれません。そこで、コンソールからコマンドでアップロードできるようにする方法を書きます。

※動作確認環境: macOS 10.14.6

# aws CLIの設定

まずawsのCLIをインストールします。バージョンが出ればOKです。

“`
$ brew install python3
$ pip3 install aws
$ aws –version
“`

次にawsのユーザー情報を設定する必要がありますが、アクセスキーが必要になります。IAMでAdministratorAccessポリシーを持ったユーザーを作成しておきます。

[AWS]はじめてのIAMユーザ作成

アクセスキー、シーク

元記事を表示

Amazon EKS on AWS Fargateに触れてみた備忘録

# 概要
[AWS re:Invent 2019](http://reinvent.awseventsjapan.com/)にて **Amazon EKS on AWS Fargate** がGAになったと発表された模様なので、遅ればせながら触れてみた備忘録を残してみたいと思います。

ちなみに[この記事](Amazon EKS on AWS Fargate Now Generally Available)を参考にしながら動かしてみました。

# 準備
事前に必要なものとしては **`eksctl`** なるものがあると良いとのこと。
`AWS CLI` をいれておくのと、 `AWS CLI Credentials` を作成しておけばOK。

## eksctl
`eksctl` とはAmazon EKS上にkubernates clusterを作ったり管理したりできるコマンドラインツールとのこと。
[Getting Started with eksctl](https://docs.aws.amazon.com/eks/latest/userguide/getting-started

元記事を表示

独学ではじめてAWS(EC2)にデプロイする方法⑩(macでNginxのインストールと設定)

# Nginx
Webサーバの一種であるNginxの導入と設定を行います。
nginxは静的コンテンツ(つまりサーバ上のファイル)を高速に配信するように設計されている。
ユーザーのリクエストに対して静的コンテンツの取り出し処理を行い、そして動的コンテンツの生成をアプリケーションサーバに依頼することが可能

## Nginxをインストール
下記のコマンドでインストール

“`
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install nginx
“`

## Nginxの設定ファイルを編集

“`
[ec2-user@ip-172-31-25-189 ~]$ sudo vim /etc/nginx/conf.d/rails.conf
“`

下記を貼り付ける
(ディレクトリの場所などは、自分にあった場所を指定してください)

“`ruby:rails.conf
upstream app_server {
# Unicornと連携させるための設定。
# アプリケーション名を自身のアプリ名に書き換えることに注意。今回であればおそ

元記事を表示

Capistranoでの自動デプロイでエラーが起きた際の対処方法

## この記事について
 この記事では、自身がRailsで開発しているアプリをCapistranoでデプロイをしようとした時にエラーが発生し、解決するまでに試した作業を書いています。
 同様のエラーが起きた際に自分が読み返すために書いていますが、他の方の参考にもなれば嬉しいです。
 前回の記事と同じような状況ながら違う原因でエラーが出ていたので、別の記事として書くことにしました。

### エラーが起こった時の状況
 Capistranoで自動デプロイを実行したがエラーのため完了でしませんでした。
 エラーの内容を確認してみると、以下のように書かれていました。

“`
00:15 deploy:migrating
01 $HOME/.rbenv/bin/rbenv exec bundle exec rake db:migrate
01 rake aborted!
01 StandardError: An error has occurred, all later migrations canceled:
01
01 Mysq

元記事を表示

AWS(EC2)でNginxのrails.confを設定する方法

AWSのNginxを設定する際に、rails.confファイルの設定をします。

この方法の説明が意外とないので、説明していきます

## Nginxの設定ファイルを編集

“`
[ec2-user@ip-172-31-25-189 ~]$ sudo vim /etc/nginx/conf.d/rails.conf
“`

rails.confファイルが開かれたら、下記の記述をします。

“`ruby:rails.conf
upstream app_server {
# Unicornと連携させるための設定。
# アプリケーション名を自身のアプリ名に書き換えることに注意。
server unix:/var/〇〇〇(アプリをまとめているディレクトリ)/〇〇〇〇〇〇<アプリケーション名>/tmp/sockets/unicorn.sock;
}

# {}で囲った部分をブロックと呼ぶ。サーバの設定ができる
server {
# このプログラムが接続を受け付けるポート番号
listen 80;
# 接続を受け付けるリクエストURL ここに書いていないURLではアクセ

元記事を表示

AWSのネットワークサービス

出展:[AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC-%E5%B1%B1%E4%B8%8B-%E5%85%89%E6%B4%8B/dp/4797397403/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3ERB303UT76DT&keywords=aws%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82

元記事を表示

Github Actionsを使ってRuby製のAWS Lambda関数を更新する

# モチベーション
AWSコンソールを開いたり、AWS CLIを使わずに、gitの操作だけでAWS Lambda関数のデプロイを完了します。

近年、[Github Acitons](https://github.com/features/actions)というGithub純正のCI/CDツールがリリースされました。
これを使って、Githubで管理しているAWS Lambda関数の変更を、AWSに反映します。

# 前提条件

今回はRubyで作成されたAWS Lambda関数を更新します。
Lambda関数とデプロイスクリプトが同じ言語だとメンテナンスが楽なので、デプロイにもRubyを使います。

## 先駆者

検索すると、AWS Lambda関数をデプロイするGithub Acitonsがいくつか公開されているのが見つかります。[^1]

[^1]: https://github.com/marketplace?utf8=%E2%9C%93&type=actions&query=lambda

例えば [Deploy AWS Lambda function](https://

元記事を表示

ActiveRecord::AdapterNotSpecified: ‘production’ database is not configured. が表示された場合

アセットコンパイル時に下記を実行するが

“`:ターミナル(EC2)
[ec2-user@ip-172-31-23-189 <アプリ名>]$ rails assets:precompile RAILS_ENV=production
“`

この際にエラーが表示される場合がある。

#### エラーが出る場合

“`
ActiveRecord::AdapterNotSpecified: ‘production’ database is not configured. Available: [“default”, “development”, “test”, “database”, “username”, “password”, “socket”]
“`

下記を修正してください
database.yamlに『 <<: *default 』を追記する (もともとあるが、いらないだろうと思い消してしまうとエラーが表示される) ```ruby:config/database.yml production: <<: *default # ここが抜けているはず database

元記事を表示

AWS DeepLens Tips

# AWS DeepLens Tips

## TL;DR

[AWS DeepLens](https://aws.amazon.com/jp/deeplens/)がやっと届いたので動かしてました。
挙動を掴むまで結構ハマったので、注意点とか確認方法などのTipsを纏めてみました。

## トラブルシューティング

### DeepLensのセットアップ中にインターネットに接続できない

手順にも記載されていますが仕様です。DeepLensのセットアップ時には`Registration用のUSBポート`でセットアップで使用するPCに接続しますが、この際有線LANとして認識されます。
無線LANの設定よりも有線されるため、セットアップで使用しているPCが一時的に通常利用しているネットワークから切り離されます。

注意書きを読み飛ばしているとびっくりするのでご注意を。

### SSHでログインできない

初期設定ではSSHでログインできません。SSHサーバは別途設定を行って有効化する必要があります。

### SSHの有効化をしても保存ができない

ネットで調べると、以下の`reset

元記事を表示

Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’が表示された場合(本番環境)

AWSのEC2にデプロイしようとした際に、下記エラーが表示された場合の対処方法をまとめたいと思います。
『Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’』

### 原因
問題点としては、下記のsocketに接続できないのが問題

“`ruby:credentials.yml
db:
database: アプリ名
username: root
password: 設定したPW
socket: /var/lib/mysql/mysql.sock #ここに接続ができない
“`

mysqlを再起動すると、/var/lib/mysql/mysql.sockが自動的に作成されるので、起動

## Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

1) MySQLの起動確認
Mysql2::Error: Can’t connect to local MySQL server through

元記事を表示

AWS 公式ドキュメントを読む前に

## はじめに
エンジニアをしている方は、何か調べ物をする場合は基本的に公式ドキュメントを参照される方が多いと思います。しかし分かりやすいドキュメントの場合はよいのですが、AWS ユーザガイドは英語から機械翻訳をしているのか日本語が非常に読みづらいため、AWS初心者や初めて使うサービスの場合、AWS ドキュメントを参考に進めるとなかなか苦戦します。[例:EC2 ユーザガイド](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts.html)

実際に自分も初めて AWS を使った時は、このAWS ドキュメントの理解にとても苦しめられました。そこで本記事では、**AWS初心者の方が AWS のとあるサービスを初めて触る時にスムーズに理解できるようになるにはどうすればいいか** について書こうと思います。

## 流れ

### [1. 「AWS is 何」を3行でまとめてみるよ](https://qiita.com/kohashi/items/1bb952313fb695f12577)
まずは超概要を理

元記事を表示

【rails5.2】master.keyを本番環境(AWS EC2)に設定(追加作成)する方法

## master.keyを作成していないとどうなるのか?
master.keyを本番環境で設定しておかなければ、rails db:create RAILS_ENV=productionなどを実行した際にエラーが表示される。

rails db:create RAILS_ENV=productionを実行

“`
$ rails db:create RAILS_ENV=production
“`
するとエラーが表示される

“`
rails aborted!
NoMethodError: Cannot load database configuration:
undefined method `[]’ for nil:NilClass
“`

この'[]’はdatabase.ymlの下記が読み込めないために発生する。

“`ruby:database.yml
production:
<<: *default database: <%= Rails.application.credentials.db[:database] %>
username: <%= Ra

元記事を表示

Railsチュートリアル第1章で勉強をブロックしたやつ

#はじめに
この記事では私が[Railsチュートリアル](https://railstutorial.jp/chapters/beginning?version=5.1#sec-up_and_running)の第1章でつまづいた所を共有します。
個人的な備忘録ですが、プログラミング学習入門で人気のRailsなのでお役に立てればうれしいです!

#実行環境
[AWS Cloud9](https://console.aws.amazon.com/cloud9/home/product?#)を使用しました。チュートリアルの手順通りに環境設定しました。
#問題
[Railsチュートリアル1.3.2](https://railstutorial.jp/chapters/beginning?version=5.1#sec-up_and_running)で、

“`Console
rails server
“`

を実行し、アプリケーションをブラウザで開こうとしたところ、
まったく開きませんでした…

#解決策
色々調べた結果、ブラウザに導入していた広告ブロックが邪魔をしていました。広告ブロ

元記事を表示

AWS CDKでのFargateデプロイ

前回の記事「[Cloudformationを使ったFargateサービスのデプロイプロセスについて考えてみた](https://qiita.com/nyasba/items/26ebcba9858d4f722aba)」のCDK版です。

CDKを実際に使ってみたかったので、比較も兼ねて前回のCloudformationファイルをCDKに置き換えてみました。
(一部設定を変えている部分がありますので全て完全に一致しているわけではないです)

前回記事の「[4.Fargateへのデプロイ](https://qiita.com/nyasba/items/26ebcba9858d4f722aba#4-fargate%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4)」の部分の代替手段となる方法ですので前回記事とあわせてご確認ください。

コードはこちら。
https://github.com/nyasba/fargate-spring-web/tree/qiita-cdk/cdkdeploy

# Fargateへのデプロイ(CDK版)

## プロジェ

元記事を表示

AWS認定クラウドプラクティショナー 受験記録(2020/1)

# はじめに
先日(2020/1)、AWS認定クラウドプラクティショナーを受験し、何とか合格することができましたので、具体的な勉強方法などについて記録したいと思います。

# AWSにかかるスキル
AWSを使うプロジェクトはこれまでに2つほど経験しているのですが、いずれも開発したシステムのホスト先がAWSというだけであり、AWSを直接触ることはありませんでしたので、実質的な実務経験は無しに等しいです。

#使用した教材
以下の教材を使用しました。

[1.AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー
](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E

元記事を表示

[AWS][CFn]IAMの設定2

## はじめに

お久しぶりです。なじむです。年末年始とバタバタしていて更新が遅くなりました(サボっていただけ)
[前回](https://qiita.com/NaGym_t/items/8b4f4dcc489364313da3)、IAMの設定について記載しました。
今回はネストスタックを使用して、IAMの設定をしていこうという記事なります。

## 前提

前回と同じです。

– コンソールにログインした後、スイッチロールを行い任意のロールにスイッチする
– 上述のスイッチロールは特定のIPからしか実行できないよう制限する
– スイッチロールした後はIPアドレスの制限を設けず、任意の操作を実行可能とする

今回、ネストスタックを用いて記載したいのは、各グループで共通のポリシーを使用する場合があり、それを都度記載するのが面倒(管理も煩雑)になるので、ネストスタックを用いて共通部分は1回しか書かないようにしようと思います。

## サンプルコード

ネストスタックはその名の通り、ネストしたスタックです。親スタックがあり、その親スタックから子スタックを作成します。
今回の場合は以下のよう

元記事を表示

OTHERカテゴリの最新記事