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

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

【AWS】EC2でphpMyAdminを利用し、RDSへアクセス

# phpMyAdminをインストールする

## ①必要な依存ファイルをインストール

“`
sudo yum update
sudo yum install httpd
sudo yum install php70-mbstring.x86_64 php70-zip.x86_64 -y
“`
### phpの最新バージョン(7.2)をインストール
最新のphpやPythonは下記のコマンドでインストールする必要が有る
インストールできるモジュール一覧とインストールするphp7.2についての情報を確認する。

“`
amazon-linux-extras
amazon-linux-extras info php7.2
“`

php7.2をインストールする

“`
sudo amazon-linux-extras install php7.2
“`

### インストールされたバージョンを確認する。
“`
sudo yum list installed | grep httpd
sudo yum list installed | grep php
“`

## ②ap

元記事を表示

Node.jsとDynamoDBで日時データの処理

#DynamoDBに日時データを持たせる2つの方法

1. データ型を`String`にして`2016-02-15`や`2015-12-21T17:42:34Z`のように文字列で持たせる。
2. データ型を`Number`にして`1579740176030`のように数値で持たせる。

2.項のNumber型の実用例としては、エポック時間 (1970 年 1 月 1 日の 00:00:00 UTC 以降の秒数) を利用することができる。([UNIXTIMEの詳細](https://ja.wikipedia.org/wiki/UNIX%E6%99%82%E9%96%93))

#Node.jsでエポック時間を扱う
##現在の日時をDateオブジェクトで取得する
“`javascript
const date = new Date();
console.log(date); // 2020-01-23T01:09:41.444Z
console.log(typeof date); // ‘object’
“`

##現在の日時をエポック時間で取得する
“`javascript

元記事を表示

RDSとIAMでパスワードレス認証(Python)

MySQLのパスワードベタ書きしないでよくなります
{}内は適宜置き換えてね

# 1. ユーザ作成

“`bash
CREATE USER ‘{MySQLユーザ名}’@’%’ IDENTIFIED WITH AWSAuthenticationPlugin as ‘RDS’; # ユーザ作成
GRANT ALL PRIVILEGES ON {MySQLDB名}.* TO ‘{MySQLユーザ名}’@’%’ REQUIRE SSL; # 権限
“`

# 2. IAMポリシー

こんな感じでポリシーを作る

jsonで直接アタッチするならこんな感じ

“`json
{
“Effect”: “Allow”,
“Action”: “rds-db:connect”,
“Resource”: “arn:aws:rds-db:{AWS::Region}:{AWS::AccountId}:dbuser:cluster-{リソースID}/{MySQLユーザ名}”,
}
“`

CloudFormationならこんな感じ

“`yaml
iamRole:
– E

元記事を表示

AWS Sysopsアドミニストレーターアソシエイト資格に合格しました。

# はじめに
先週(1/17)ですが、AWS Certified SysOps Administrator – Associate (SOA)の試験に受かりましたので、勉強方法や試験での手応えについて記載しようと思います。

[※前回の記事(AWS SAAに受かった話)](https://qiita.com/kkino1985/items/85bcfa50686fcfe69c56)

# 勉強期間
資格取得に動き始めたのが2019年12月中旬頃(クリスマスの少し前ぐらい)でした。

勉強期間としては1ヶ月程になりますが、途中Azureの資格に浮気したり年末帰省して胃腸炎にかかってダウンしたりしたので、真面目に詰め込んだらもう少し早く取れたと思います。

自分は上記の通りSAAを取得済みだったので、その時の内容を思い出す+アルファの知識を仕入れるだけで良かったですが、AWSを全く知らない人はクラウド固有の考え方含めて覚えることが多いのである程度の期間を取った方が良いです。
(色々な記事でも触れられていますが、SOAから入るとハードルが高いのでSAAから取ることをお勧めします)

# 獲得

元記事を表示

起動中のインスタンスからEBSボリュームのDeleteOnTermination設定を変更する。

起動中のEC2インスタンスのEBSボリュームのDeleteOnTermination設定を変更する手順。

通常、コンソールからだと、起動時のボリュームアタッチ時にしか設定できない。
そのため、あとから変更したい場合や、起動後にボリュームをアタッチした場合にはベットCLIから設定する必要があり、`aws ec2 modify-instance-attribute`コマンドで設定可能である。

“`shell
# EBS作成
$ aws ec2 create-volume –availability-zone ap-northeast-1a –size 8 –volume-type gp2
$ aws ec2 create-volume –availability-zone ap-northeast-1a –size 8 –volume-type gp2

# EBSアタッチ
$ aws ec2 attach-volume –instance-id i-0cd13d242c52faxxx –volume-id vol-0c715576745bdbf9c –device

元記事を表示

Warning: Identity file ChatSpace.pem not accessible: No such file or directory. ec2-user@13.112.68.204: Permission denied (publickey).のエラーの解決例

#1.エラーの内容
一度シャットダウンして日を置いて下記のコマンドをしようとしたらできませんでした。
エラー文は下記の通り

“`
Neverland:~ kontatomoya$ ssh -i ChatSpace.pem ec2-user@13.112.68.204
#ログインのコマンドを打ちました
Warning: Identity file ChatSpace.pem not accessible: No such file or directory.
ec2-user@13.112.68.204: Permission denied (publickey).
#ログインできないとのこと
“`

#2.原因と解決方法
原因はディレクトリを.ssh(pemファイルのある場所)でコマンドしていなかったからでした。
なので下記のコマンドでログインできます

“`
Neverland:~ kontatomoya$ cd .ssh
#ディレクトリを移動
Neverland:.ssh kontatomoya$ ssh -i ChatSpace.pem ec2-user@13.112.6

元記事を表示

[個人開発]大喜利サービスを5日でつくってわかったこと

# サービスイメージ
サービスイメージ
ひとこと大喜利「ザブトン」
**[https://zabuton.co/](https://zabuton.co/)**
誰でも**すぐ**に**簡単**に大喜利が投稿でき、
SNS主体で大喜利を楽しむことができる
そんな**大喜利サービス**を開発しました。
# はじめに
個人開発でサービスはいくつも作ってきましたが
こういった**記事を書くのは初めて**です。

後半の方でコードもGithubにて公開していますが、
文章、コード共に**拙い部分**がありますが、何卒お目溢し頂ければと思います。

# 筆者について
僕は元々は**ゲーム会社出身**ですが、
**メンタルやられて退職**してからフリーランスとなり
サービス乱立したりしながら生計を立てている**20代エンジニア

元記事を表示

AWS Amplify Android を試してみる(Mac)

# はじめに
AWS Amplify Android を[Getting Started](https://aws-amplify.github.io/docs/android/start)にしたがってMacで試してみる。
以降の各章はGetting Startedに合わせている。

# Prerequisites

以下の通り、Getting Started に記載されている手順は Mac でしか動作しない。Windows の場合、下の説明にあるリンク先の手順を実施する必要がある。
https://aws-amplify.github.io/docs/android/start#prerequisites

“`
These steps currently only work on Mac. If you have a Windows machine, follow the steps on one of our categories such as API here.
“`

### node.js のインストール

バージョン 12.14.0をインストールした。
![node

元記事を表示

AWS DevOps Professional合格レポート

# AWS DevOps Professional合格レポート
2020年1月18日に[AWS 認定 DevOps エンジニア – プロフェッショナル](https://aws.amazon.com/jp/certification/certified-devops-engineer-professional/)に無事合格できたので、試験の振り返りも兼ねて勉強法などをまとめておこうと思います。これから受験される方の参考になれば幸いです。

私は英語が全くと言っていいほどできないので、なんとか日本語で勉強しました。

## 資格取得状況
* AWS Certified Solutions Architect – Associate (SAA)(2019-03-01)
* AWS Certified Developer – Associate (DVA)(2019-08-29)
* AWS Certified SysOps Administrator – Associate (SOA)(2019-09-28)
* AWS Certified DevOps Engineer – Prof

元記事を表示

イベントレポート(AWS re:Invent 2019 re:cap for Startups)

参加してきたAWSイベントの概要を纏めます。

・アジェンダ
https://awsreinvent2019recapforstartup.splashthat.com/

## ML
遅刻で聞けず

## コンテナ
遅刻で聞けず

## Serverless

### Lambda

* LambdaからRDSへの接続数問題
RDS Proxy with AWS Lambda(プレビュー中)
データベースの接続プールの役割
パスワードなどの秘匿情報はSecretManager経由でLambdaに理解させる

* スパイキーなアクセス(Lambdaのコールドスタートがネックになりやすい)
Provisioned Concurrency for Lambda Functions
事前ウォームアップが可能に。
今まではJava ランタイムロードに数秒やENI作成に10秒などかかることがあった。

* Lambda Supports Amazon SQS FIFO
順序性をアプリ側で気にしなくてよくなった

* Kinesis Datastream、DynamoDBイベントの並列化
今までシ

元記事を表示

AWSで作ったLaravelアプリケーションをXserverにデプロイする

#はじめに

タイトル通りですが、LaravelアプリケーションのデプロイをXserverで試してみました。

AWSでアプリケーションは作成したのですが、
XAMPPで作成した方も以下のやり方でできると思います。

#まとめ
さっそくですがやり方を以下にまとめました。

**※XAMPPでアプリケーションを作成した方は⑥以降を参考にしていただければと思います。**

①AWSでLaravelアプリケーションを作成。

②作成したアプリケーションのフォルダをダウンロードしてXAMPP環境下(htdocs内)に保存する。

③XAMPPでphpMyAdminを起動。アプリケーション用のDB(DB名:laravel)を作成する。

④.envをXAMPP環境下でDBが使えるようにに編集。

“`:.env
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
“`

⑤コマンドプロンプトで同フォルダに移動してテーブル作成

“`
$ cd 作成したアプリのフォルダ
$ php artisan migrate//このコマンドでテーブルが作成

元記事を表示

AWS S3のGUIツール

#はじめに
AWSのS3はよく使うサービスです。
普段のS3のファイルのアップロード、ダウンロードはどういう感じで操作しますかね。

– AWS Console
– AWS CLI
– S3 Browser
– WinSCP
– そのた

#AWSのコンソール画面から
こちらはAWSのコンソール画面にログインできるユーザーなら、ブラウザから直感的に操作できます。

#AWS CLIを使ってコマンドで操作
コマンドラインが好きな方は良いですね。
`aws s3 xxx`

使い方は`aws s3 help`で確認できます。

#S3 Browserを使ってGUI操作
S3 Browser: https://s3browser.com/download.aspx

使いやすいですね。

# WinSCP
WinSCPはよく使うツールですが、SCP、FTPは昔からの機能ですが、
S3も使えます。

WinSCP: https://winscp.net/eng/download.php

![image.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

AWS中国コンソールとグローバルの違うところ

本日AWS中国のアカウントを入手したので、AWS中国コンソールとグローバルAWSの違うところを説明します。

![AWS-BeiJing.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/525965/06ad981c-fde5-940d-5eda-15dd42a87446.jpeg)
#1.右上のリージョンのListViewには、中国の二つリージョンしかいない。

北京リージョン 運用会社およびプロバイダーは、Beijing Sinnet Technology Co., Ltd. です(Sinnet)。
寧夏リージョン 運用会社およびプロバイダーは、Ningxia Western Cloud Data Technology Co., Ltd. です。(NWCD)。

![AWS-BeiJing2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/525965/feb741a1-7806-f724-2655-37f6

元記事を表示

ECS-CLIを使用してFargateタスクのクラスターを作成する

# 前提条件
・AWSアカウントをセットアップしてある
・タスク実行IAMロールを作成してある (ECSコンテナエージェントはユーザに変わってAWS APIを呼び出すのでIAMポリシーとロールが必要
・Amazon ECS CLIのインストールしてある
・AWS CLIをインストールして設定してある

# クラスター設定
ECS CLIで使用するクラスター名、リージョン、リソース作成プレフィックスを定義してクラスター設定を作成します。

“`
ecs-cli configure –cluster クラスター名 –default-launch-type FARGATE –config-name チュートリアル –region ap-northeast-1
“`

# クラスターとセキュリティを作成
### 1. ecs-cli up コマンドでECSクラスタを作成
このコマンドの出力に作成されたVPCとサブネットIDは後で使うのでメモっておく。

“`
ecs-cli up –capability-iam –cluster-config クラスター名
“`

#

元記事を表示

同じVPC内のEC2へホスト名でSSH接続する

##やりたいこと
[前回の記事](https://qiita.com/latin1/items/19139b6f9bf60a268e47)ではローカル端末からAWS上のEC2へホスト名でSSH接続しましたが、
今回は同じVPC内のEC2からEC2へホスト名でSSH接続します。

##構成
![rapture_20200122162137.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535463/f1463a9b-4415-10e7-6475-15fa2c09b072.png)

##AWSの設定
・test-bに対するインバウンド
 - TCPの22番ポートを許可
 - ソース:10.0.1.0/24

##現状確認
設定前は以下のように、[test-a]から[test-b]へホスト名でSSH接続ができない

“`
ubuntu@test-a:~$ ssh test-b
The authenticity of host ‘test-b (10.0.2.100)’ can’t be establish

元記事を表示

AWS CLIを使ってDockerイメージをECRにpushする

# Docker イメージを Amazon ECR リポジトリにプッシュするには
イメージのプッシュするになるAmazon ECRレジストリにDockerクライアント認証をする。
認証トークンは使用するレジストリごとに取得する必要があり、有効期限は12時間です。

## レジストリ認証
以下のコマンドを実行して出力されたコマンドをコピペしてそのまま実行

“`
aws ecr get-login –no-include-email –region ap-northeast-1
“`

# ECRにpushする

__docker push__ コマンドを使用してイメージをプッシュします。

“`
docker push ******.dkr.ecr.ap-northeast-1.amazonaws.com/イメージ名/:latest
“`
これでおしまい

元記事を表示

DynamoDBでPromiseが使えた(Lambda Node.js)

# はじめに

Lambda(Node.js)でDynamoDBに接続し、値を取得したいときに、
非同期であるために、自分でPromiseで返す関数を作成していた。

コード

“`javascript

/**
* データの挿入を行う。
* @param ddb
* @param params
* @returns {Promise}
*/
exports.addItem = function (ddb, params) {
return new Promise(function (resolve) {
ddb.putItem(params, function (err, data) {
if (err) {
console.log(“PUT失敗”, err, err.stack);
} else {
console.log(“PUT成功”);
resolve(data);

元記事を表示

機械学習でひさ子のギターを自分のギターに持ち替えてもらう -実行編-

## 準備編(前回)
CycleGANでいい思いをしようと思って、まずはギターの画像を集めました。
画像をダウンロードしたりリサイズしたりした。
詳細は[こちら](https://qiita.com/nozomi254/private/2fc55cc8ae8e6359f8a7)

## 実行編
#### 私の環境
* macOS High Sierra 10.13.6
* Anaconda3
* Python3.7.2
* AWSは全然わかってなくて指示通りインスタンス作っただけ
* Deep Learning AMI (Ubuntu 16.04) Version 26.0 (?)
* インスタンスタイプ p2.xlarge (?)

### FileZillaを使って画像をアップロード
READMEに書いてある手順と同じになるよう、フォルダ名を同じ名前にした
結局黒のジャズマスターが本当になくて、あと頑張る気力も足りなかったので

“`
maps
├── trainA(学習用sunburst:284枚)
├── trainB(学習用black:94枚)
├── te

元記事を表示

機械学習でひさ子のギターを自分のギターに持ち替えてもらう -準備編-

## CycleGANを使って何かをする
CycleGANの仕組みや詳細はよくわかっていないし、他のいいものを読んでください

馬をしまうまに変えたり、風景画をモネっぽくしたりできるものである。形が同じで色や模様だけ違うものにするのに向いている。そんなにセンスを感じない題材かもしれないけど、個人的に結構嬉しくなりそうなのをやってみよう

→**サンバーストのジャズマスターをブラックのジャズマスターに塗り替える** ことにする。
![5.fender_014-1603-300.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412822/377c44ef-8c2d-0f7f-d9d6-9b92ed91a135.jpeg)

![s-l300.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412822/25519012-c19b-d226-0cd0-a52b8895634d.jpeg)

最近復活して大騒ぎ、ライブもとっても素

元記事を表示

IP制限しているインスタンスに対してCloudfrontからのアクセスを許可する

対象のSGに以下のIPを追加する

http://d7uri8nf7uskq.cloudfront.net/tools/list-cloudfront-ips

に書いてある

CLOUDFRONT_REGIONAL_EDGE_IP_LIST

を追加

元記事を表示

OTHERカテゴリの最新記事