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

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

AWS動作検証【5】(AWS CLIによるサーバ停止・スナップショット取得・サーバ起動)

前回「[AWS動作検証【4】(サーバ自動停止・自動起動)](https://qiita.com/gomasa/items/3dd7aab68aaf32f52a84)」の続きとなります。

#■■ 筆者情報 ■■
・AWSの資格試験はプロフェッショナルまで取得済。
・AWSの操作経験は初心者並み。
・理論は解っていても操作は解っていない状況。
※資格試験取得に興味のある方は[「AWS認定試験の勉強方法](https://qiita.com/gomasa/items/6ce860a2e11a620c92ae)」を参照ください。

#■■ この記事を読んでほしい対象 ■■
・AWSの知識はある程度ついたので、AWS操作を一通り実施したい人。
・AWS公式ドキュメントをベースに手順を確認したい人。
※手順を簡単にまとめてくれているサイトも多々ありますが、可能な限りAWSの公式ドキュメントを読み解きながら確認を実施しています。その為、この記事のリンクの多くは公式ドキュメントに対して貼られており、どうしても公式ドキュメントのみだと解らない場合に、個人のHPを頼っています。

#■■ 実施したいジョ

元記事を表示

EC2にSSh接続 ~初心者~

#はじめに
sshでのコマンドをよく忘れがち・・(記憶力がポンコツ)
認証設定、ファイル転送も含めて記載します。

#準備
– Ec2(22番ポート解放済み)
– pemキー作成済み
– IPアドレスが割り当ている
– Mac(Windowsでもいけます)

##ログイン
① ターミナルからSShコマンドを実行

“`ターミナル“`
ssh -i ***.pem ec2-user@IPアドレス
“`

② レスポンス、ログイン完了

“`
The authenticity of host ‘IPアドレス(IPアドレス)’ can’t be established.
ECDSA key fingerprint is SHA256:/RFBylrcFvYgOKPPq/GTRP4Hj+rZgH4pWEwArsW7lxk.
Are you sure you want to continue connecting (yes/no)? y

__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|

元記事を表示

EC2にCloudWatchAgentを入れてメモリ使用率やディスク使用率を監視する。

EC2のメモリやディスクの使用率が見たいと思っても、そのままでは外部からは取得することができない。
AWSの管理の範囲はEC2の外部までなのでネットワークI/Oなど外部から見れるものはそのまま取得可能だが、メモリやディスクの情報を取得するにはAgentを入れて上げる必要がある。

以下のような項目はAgentを入れることで簡単に取得できるようになると思っていたのだが、案外詰まったのでメモ。
単にAgent入れただけだと`mem_used_percent`やら`disk_used_percent`とか見たいものが見れずに困る。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html#linux-metrics-enabled-by-CloudWatch-agent

# 1. EC2を用意する。

EC2を用意する。

“`:インスタンス情報
AMI: Amazon Linux 2 AMI (HVM), SSD Volu

元記事を表示

AWSを用いてrailsアプリをデプロイするプロセスを頑張って噛み砕いてみるvol.2

## 近況報告
連投ではありますけど,近況報告のネタはたくさんあります。ついさっきテックキャンプの最終課題発表会が終わり,無事転職活動に進めることになりました。ほんとメンバーに助けられた〜。これからは今持ってる力を磨きながらぶつかっていく戦いが続きます。頑張ります。

#今回の目的
・インフラ整備での各アクションの言語化
・コードを単に打っているだけでは理解しきれないし,他に応用できないので言語化して整理
・AWSでアカウント作成,ほか諸々の準備は割愛してターミナルでの操作をメインに

##おおまかな流れ
本番環境用のデーダベース作成(MySQL)
アプリケーションサーバーの準備(githubの認証)

##事前準備
[前回の内容](https://qiita.com/aaabb6211/items/6194fa53f29061dc5444)の続き

### 本番環境用のデーダベース作成
EC2は本番環境を整備して土地を提供してくれるけど,そこに建てる建造物や木材は持ち込みです。開発環境のようにデータベース,アプリケーション,それに加えて,遠隔操作するためのロボット(ここではNginx

元記事を表示

Rustに入門してみる〜1日目 SAMを使ってAWS Lambda上で動作させる〜

# 初めに

今年の正月くらいにRustの公式の入門みたいなページを読んだはいいけど何も作らず今日まで来てしまったので、
いい加減何か作ろうと思ったらちょうどいい題材があったのでそれで入門しようという感じ。
家のサーバで動かしてもいいですが `AWS Lambda` がコスト的にも管理的にも楽なのでこれでやります。
アプリはあんま作らないので割と初心気味

最終的に作るものですが、
このコロナのご時世で会社全体でリモートとなり、今まで雑にやってきたけどSlackのステータスはしっかり変更しようね!
…とはなったけどめんどくさいとか忘れてたとなるのでその辺りをいい感じにしてくれるものを作ろうと思います。

# 方針

ステータスの方針についてはまだ決まってないのもあるのでとりあえずですが、
1日一回業務開始時間に実行させ、
今日が土日か自分の終日予定に休み系のワードがあればステータスを休暇に変え、なければステータスなしに変更するものを作ります。
もしくは業務終了時間に固定で業務終了に切り替えるもの。

まず ` AWS Lambda` でRustで動かします。

# 公式のサンプル

元記事を表示

【Ruby on Rails Tutorial】Oops VFS connection does not exist と表示される。【再起動実施済】

#プレビュー画面が表示されない

AWSのcloud9でRuby on Rails Tutorialを実施していたところ、プレビュー画面で以下となった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/594264/59b28533-9cf2-55cc-c607-b0ffcba8af4f.png)

##実施したこと
調べてみたところ、EC2サービスを再起動すれば、表示されるとのこと。
AWSのEC2からインスタンスを表示し、再起動を実施。
rails server コマンドを実施し、プレビュー画面が表示されるか確認するとまだ表示されない・・。

##原因
どうやらブラウザが原因のよう。
[brave](https://brave.com/)という広告ブロック機能が搭載されたブラウザ(報酬でBATという仮想通貨がもらえる!)
を利用していたため、制限されてしまっていた。
右上のライオンマークから「Shields 有効このサイトに対して」を無効にしたところ、直った。

![image.

元記事を表示

AWSアカウントの解約方法

# はじめに

PC内を整理していたら個人用の使ってないAWSアカウントがたくさん出てきたので解約してきた。
解約方法の需要は特にないと思うし、記事にするほどでもないレベルですぐできたが念の為に残しておく。

# 解約する

[アカウントの解約 – AWS 請求情報とコスト管理](https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/close-account.html)

>
AWS アカウントを解約するには、
1. 対象アカウントに ルートユーザー としてサインインします。
2. Billing and Cost Management コンソールの [アカウント設定] ページを開きます。
3. [アカウントの解約] セクションまでスクロールします。
4. アカウントの解約条件を読んだ上で内容を確認します。
5. すべてのチェックボックスをオンにし、[アカウントの解約] をクリックします。
6. 確認ボックスで、[アカウントを解約] をクリックします。

**rootユーザーでログイン**

元記事を表示

AWS を使ってみた

Amazon Web Service (以下、AWS) を使ってみた。

自分はノートPC (MacBookAir にUbuntu 18.04.4 LTS をインストールしたもの)で作業やら学習やらを行っている。

スペック

– メモリ:7.7GiB
– プロセッサ:Intel core i5-5350U
– OS:Ubuntu 18.04.4 LTS

pythonで機械学習をやったときは流石に動作が重かったが、フツーの使い方をするくらいならなんの問題もない。

まず結論

便利。貸倉庫みたいな感じで、必要だけど今はいらないってデータを入れておくとノートPC の邪魔にならない。github に保管しといて、AWS 上でclone するのもありかも。
PHP 動作確認ができる。ドメイン名やらなんやら設定すればweb ページの運営も安全にできる(ノートPC で運営してるとアクセスが集中したときにPC がアツアツになって危険)。
その他のプログラミングの勉強ができる。
新規登録から12ヶ月の無料期間があり、それが切れるとアカウント作成時に登録した口座から従量課金性で使用量が

元記事を表示

Cognito User Poolのメッセージのカスタマイズで改行ができなくて困った話と解決方法

# 問題

Cognitoのユーザープールでユーザー登録を行った際、デフォルトのメールだとかなり味気ないので、ログイン先のURLや「ご登録ありがとうございます」という挨拶文などを入れたくなると思います。

そこで、ユーザー登録メールを以下のような感じでカスタマイズしてみます。

![スクリーンショット 2020-04-24 19.10.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29737/0e1c969d-5381-b02a-4662-25a4c4559978.png)

よくある感じですね。
ですが、これだと上手く行きません。

こんな感じでメールが送られてきてしまいました。

![スクリーンショット 2020-04-24 19.21.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/29737/c14a7c18-7a01-85c2-d699-e7d7fdd76979.png)

仮パスワードに「Ero」っ

元記事を表示

CloudWatch SyntheticsでオンプレミスのProxyサーバーを経由して監視する

## はじめに
2020/4/23に CloudWatch Synthetics がついに一般利用可能になりました。
アプリケーションのエンドポイントのモニタリングが簡単に実行できるようになります。
基本的な使い方に関しては本記事では割愛しますが、以下の公式Blogが参考になります。

**New – Use CloudWatch Synthetics to Monitor Sites, API Endpoints, Web Workflows, and More**
https://aws.amazon.com/jp/blogs/aws/new-use-cloudwatch-synthetics-to-monitor-sites-api-endpoints-web-workflows-and-more/

## やりたいこと
オンプレミスの Proxy サーバーを経由して CloudWatch Synthetics によるエンドポイント監視を行う。
以下のような止むに止まれぬ事情があっても対応できます。

* VPC とオンプレミス環境を閉域接続している
* VPC 側はプライベート

元記事を表示

Amplify+GraphQL+DynamoDBでのデータソート

#はじめに
React(typescript)でAWSのAmplifyとGraphQLを用いてDynamoDBにあるデータをソート(今回は作成日順に)して一覧表示する時に詰まったのでメモ程度に残しておきます。どうやらElasticSeacrhなるものがあるらしい。誰かの役にたちますように。

[Amplify公式リファレンス](https://aws-amplify.github.io/docs/cli-toolchain/graphql#searchable)

#スキーマにsearchableを追加
“`graphql:schema.graphql
type Message @model
@searchable #←これを追加
{
id: ID!
username: String!
content: String!
updatedAt: AWSDateTime
createdAt: AWSDateTime!
}

“`

編集を保存したら

“`
$amplify push
“`
で編集内容をpushしましょう。
ElasticSearchが生成され

元記事を表示

突然 AWS ECS / AWS Batch でジョブの実行に失敗するようになった件

# 状況
* 2020/4/24 約6:00(?)以降、突然 AWS ECS / AWS Batch でジョブの実行に失敗するようになった。(AWS Batchのステータス`RUNNABLE`で停止してしまっていた。)
* コンピューティング環境はEC2インスタンスを利用(非Fargate)
* 当日のAM3:00頃まではジョブが正常に稼働していたことを確認済み。
* 実行するdocker image、ジョブ定義などには一切変更を加えておらず、全くもって原因不明でした。しばらくハマったので、対処方法を記録しておきます。どなたかの手助けになれば幸いです。

# 結論(原因)
* AWS ECS / Batch 上でコンテナの死活管理などを司る`Amazon ECS コンテナエージェント`のコンテナが起動に失敗しており、EC2インスタンスを正常にコンピューティング環境のリソースとして認識できていなかったのが原因。
* 突然この時間から起動に失敗するようになった原因は不明だが、おそらくバージョンが古すぎたことが要因。`1.17.0`を利用していた。
* コンピューティング環境内のEC2インス

元記事を表示

Amazon Pinpointを利用してメール配信。

[AWS SDK for Java](https://aws.amazon.com/sdk-for-java/)を使って、[Amazon Pinpoint](https://aws.amazon.com/pinpoint/)のSegmentやCampaignを操作するプログラムを作るらしいが、
そもそもAmazon Pinpointがなんだかよく分かってないので、チャートリアルを参考にメールを送信してみる。

## 手順

### リージョンの指定

1. Amazon Pinpointの利用できるリージョンは限られているため、
今回はUS East (N. Virginia)(us-east-1)リージョンを選択する。

### Pinpointプロジェクトの作成

1. AWS Management ConsoleのFind ServicesからPinpointで検索し、下記にアクセスする。
– https://console.aws.amazon.com/pinpoint/home?region=us-east-1#/apps
1. Create a projec

元記事を表示

AWS Lambda「スロットリング」からの復活方法

# 再帰的にLambdaを起動するプログラムを作ってしまった
S3バケットでのオブジェクト作成イベントをトリガーに実行するLambdaを作ったのだが、結果格納先を同じS3バケットにしてしまったため、無限にLambdaが起動してしまう状態になった。
# 緊急対応策
マネジメントコンソールのLambdaの画面上部に[スロットリング]というボタンがある。これを押すことで、とりあえず実行中のLambdaは停止する。
#スロットリング状態から復旧する方法
**Lambdaの「同時実行数」を変更すればよい。**
スロットリングボタンは、Lambdaの同時実行数をゼロにする。
同時実行数はマネジメントコンソールから変更できる。
Lambdaの初期状態である「予約されていないアカウントの同時実行の使用」に変更してもいいし、同時実行数に正の数を入れてもいい。「保存」ボタンを押すのを忘れずに。
# さいごに
ググったもののすぐには分からず、パニクった状態でAWSサポートに聞いてしまいました。丁寧に回答していただき感謝しています。ありがとうございました。

元記事を表示

AWSを用いてrailsアプリをデプロイするプロセスを頑張って噛み砕いてみるvol.1

### 近況報告
 やあ,転職活動を目前にして,ついに個人アプリのデプロイを行なっていきます。テックのカリキュラムは離れると見られなくなるのでこういう場所に自分のやってきたことをメモできたらなあと思っています。個人アプリに関してはDockerを導入して完成としたかったのですが,時間的にとりあえずデプロイを行うことにしました。テックエキスパートのカリキュラムを元に書いてるのでそれと互換性があります。この記事は後々制限つけようかな。
#今回の目的
・**インフラ整備での各アクションの言語化**
・**コードを単に打っているだけでは理解しきれないし,他に応用できないので言語化して整理**
・AWSでアカウント作成,ほか諸々の準備は割愛してターミナルでの操作をメインに
## おおまかな流れ
・本番環境をリモートで操作する準備
・本番環境の構築
・rubyインストール
###事前準備
awsのアカウント作成
インスタンス作成
インスタンスとEPアドレス紐付け
セキュリティでポートのスタンバイ
キーペア作成

以下キーペアDL後から書いていきます
### 本番環境をリモートで操作する準備

“`

元記事を表示

AWS EC2でWindows 2016 Server のOSテンプレートを作成

AWS環境でのシステム構築の際に各サーバのベースとなるWindows2016サーバテンプレートを作成した時のメモ。
ドメイン参加はテンプレートを使って各サーバを構築した後にそれぞれのサーバで実行する方針。

# IAMロール作成

– IAMはテンプレートから展開される各サーバに割り当てる事になるのでサーバの役割・用途に応じて作り分けるとよい。
– 1 つの EC2 インスタンスに同時に関連付けることができるのは 1 つの IAM ロールのみです。インスタンスあたり 1 つというロールの制限を増やすことはできません。

https://aws.amazon.com/jp/iam/faqs/

– とりあえず汎用のIAMロールとして下記の権限でIAMロールを作成

| 用途 | ポリシー | 備考 |
|:–|:–|:–|
| Systems Manager | AmazonSSMManagedInstanceCore | Systems Manager(SSM)でEC2タスクを実行する為の権限。
SSMでのCloudWatchAgentインストール時にも必要。

元記事を表示

aws の備忘録

## 概要
AWSを使うときによくハマるバグなどを自分用に書いて行く備忘録。

## メモ

– auth error
“`
An error occurred (UnrecognizedClientException) when calling the GetAuthorizationToken operation: The security token included in the request is invalid.
Error: Cannot perform an interactive login from a non TTY device
“`

https://teratail.com/questions/220857 で解決

“`
export AWS_ACCESS_KEY_ID=***
export AWS_SECRET_ACCESS_KEY=*****
export AWS_DEFAULT_REGION=us-west-2
“`

これが定義されていると、“`aws configure“`したものより優先される。

– ecr ログイン

元記事を表示

.ebextensions で環境変数を扱う方法

Elastic Beanstalkで.ebextensionsの中で、デプロイ環境毎に切り替えたいプロパティや、コード中にいれたくないプロパティを設定したいことは多いと思います。
その場合は、下記のように、関数 `Fn:GetOptionSetting` を使用して、環境プロパティを参照することができます。

“`yml:.ebextensions/00.option.config
option_settings:
aws:elasticbeanstalk:environment:
LoadBalancerType: application

aws:elbv2:loadbalancer:
IdleTimeout: 300

aws:elbv2:listener:443:
DefaultProcess: default
ListenerEnabled: ‘true’
Protocol: HTTPS
SSLCertificateArns:
“Fn::GetOptionSetting”:
Names

元記事を表示

AWS初心者が在宅勤務中にAWSの資格を取る記録

# 自己紹介
インフラエンジニアとして4年勤めてました。
主に基本設計~構築、テスト等が担当分野でした。

得意なのは以下です。
・Windows Server(AD周り)
・仮想化技術(VMware vSphere/Hyper-V)
・ストレージ設計/構築(ONTAP)
・ウイルス対策設計/構築(VBCorp)
・キッティング系(クローンとか)

資格取得のための学習は、高校生の時に取得した応用情報技術者以来なので、感覚を取り戻しつつやってます。

# 取得する経緯
・AWSのエンジニアとして働いていきたい!
・給与に反映される→お金もらえる!
・研修の時間を不意に過ごしたくない!

# 取得する予定の資格
・AWSクラウドプラクティショナー
・AWSソリューションアーキテクト

取得するかつ現場で知識を活用できるように努めたい。

#学習方法
①参考書を斜め読み
②Web問題集テストを解答かつ復習
③Udemyを用いたハンズオンや講座の受講

#ざっくりスケジュール
4/20~4/24 参考書を斜め読み時間にあてる+Web問題集に手を付ける(CLF)
4/27~5/1 Web問題集

元記事を表示

AWS CLI version 2のインストールから、認証情報を設定するまでのメモ

久々に業務でAWSを触る事になったのだが、
連携されたプロジェクトをIntellijで開き、Configurationの設定をすると、
`Error: Select AWS credentials in ‘AWS Connection’`が表示されて動かせない…。
認証情報の設定をしようと思ったが、そもそもAWS CLIがインストールされていない…。

“`shell
$ aws configure
-bash: aws: command not found
“`

そういやAWSに関しては、画面からしか構築したことないし、AWS CLIの設定とかした事がないな…?
メモ代わりに手順を記載。

## 環境

* mac OS Mojave 10.14.6 (18G3020)

## 前提

[Homebrew](https://brew.sh/index_ja.html)がインストールされていること。

## 手順

### AWS CLIのインストール

HomebrewからAWS CLI version 2をインストール。

“`
$ brew info awscli
aws

元記事を表示

OTHERカテゴリの最新記事