AWS関連のことを調べてみた2021年03月28日

AWS関連のことを調べてみた2021年03月28日
目次

我が家のマイクラサーバー(AWS編)

# はじめに
マイクラサーバ(javaアプリ)をECS+Fargate+EFSで動かしてみた備忘録になります。趣味であるこのシステムの運用を通じて、今後周辺ノウハウを強化していきたいというのが(私、インフラエンジニア)目的ですw

我が家はマイクラのヘビーユーザで、息子3人(小学生)と母親が、同じ世界(マイクラではワールドと呼ぶ)にログインして、各々の建築を見せあったり、道具を揃えて洞窟を冒険したり楽しんでいます。私はそのマルチサーバをお守りしており、以前はVM上にサーバを構築して運用していました。しかし、1つのサーバで展開できるワールドは1つであり、色々複数のワールドを家族に提供するには、複数サーバを立てる必要があります。そこで、最近ではアプリをitzg氏が作成・メンテしているコンテナ[^1]を使い、複数ワールドをフットプリント軽く運用していました。

# ECS+Fargateに目をつけた理由
VMにDockerをインストールして、複数コンテナを運用していたのですが「Fargateを使えばVMのメンテが不要になるのでは?」と漠然と考えていました。しかし、マイクラサーバは、ワールドデ

元記事を表示

Googleが誇る自然言語処理モデル「BERT」のAIを簡単に作れるようにしました!

元記事を表示

AWSでアプリをデプロイする方法(手動デプロイ編)

# データベース作成後、Railsを使用した手動デプロイの方法を紹介します!(学習記録):mount_fuji:

#### EC2上でRailsを起動するための設定
まず、アプリケーションのコードをGitHubからEC2サーバへクローンします。デプロイできるIPアドレスを持ったEC2サーバー上でアプリケーションを動かすためです。
EC2インスタンスからGitHubにアクセスするためには、作成したEC2インスタンスのssh公開鍵をGitHubに登録する必要があります。
ssh鍵をGitHubに登録すると、GitHubはそれを認証に利用し、コードのクローンを許可してくれるようになります。

#### EC2サーバーのssh鍵のペアを作成し、GitHubにssh鍵を登録しましょう

“`
# EC2内で実行
[ec2-user@<自身のElasticIP> ~]$ ssh-keygen -t rsa -b 4096
# 途中で「passphrase」など3段階ほど入力を求められることがありますが、すべて何も入力せずにEnterキーを押して進んでください。
“`

#### ssh公開鍵

元記事を表示

AWS 認定 データベース – 専門知識(DBS-C01)の学習内容

比較的新しい[AWS 認定 データベース – 専門知識](https://aws.amazon.com/jp/certification/certified-database-specialty/)の試験に向けて私が学習した内容を書きます。

## 前提条件
* RDB/NoSQLを利用したソフトウェア開発の経験あり
* RDBは性能向上を目的とした設定、クエリチューニングの経験あり
* RDBのマイグレーション、データベース移行の経験もあり

Web系開発が長いこともあり、データベースの経験も同様に長くあるのが私の前提となっています。

## 試験範囲の概要
[試験ガイド](https://d1.awsstatic.com/ja_JP/training-and-certification/docs-database-specialty/AWS-Certified-Database-Specialty_Exam-Guide.pdf)にも記載されている通り、以下のような分野、比重となっています。

|分野|試験における比重|
|—|—|
|分野 1: ワークロード固有のデータベー

元記事を表示

Cognito と Amplify の密結合について思うこと

# はじめに

なんでこうなってるんだということに出会ったので、ここで思ったことを書き記す。 あくまで私見であり、結論は特に出してない。

きっかけは [amazon-cognito-identity-js](https://www.npmjs.com/package/amazon-cognito-identity-js) のGithubページを開いたこと。 これは未だにnpmで公開されているけど、実はリポジトリが当初と変わっている。

## 変更前

> https://github.com/amazon-archives/amazon-cognito-identity-js

## 変更後

> https://github.com/aws-amplify/amplify-js/tree/main/packages/amazon-cognito-identity-js

と、何故か Amplify のサブセットの位置に再配置されてしまっている。

引き続き、`npm` や `yarn` で `amazon-cognito-identity-js` を入れることはでき、この場合に A

元記事を表示

駆け出しエンジニアがAWS認定ソリューションアーキテクト-アソシエイトにリベンジ合格した話

# はじめに
こんにちは。いつもの通りタイトルの段階でがっつりネタバレが起きてしまっていますが、前回無念の**AWS認定ソリューションアーキテクト-アソシエイト**試験不合格の記事執筆から約2週間後である3月15日に、何とかリベンジを果たし試験に合格することができました。

前回の記事は下記からご覧になれます。怨念たっぷりの記事になっておりますので、是非ご一読ください。
[**駆け出しエンジニアがAWS認定ソリューションアーキテクト-アソシエイトに合格できなかった話**](https://qiita.com/yuga77/items/cc1361a16696681afae5)

今記事では、不合格から2度目の試験までの学習方法や、合格までに苦労した点を簡単に振り返っていこうと思います。AWS認定ソリューションアーキテクト-アソシエイト試験の概要や説明については、前回の記事で説明しているので今回は割愛させていただきます。

# 試験結果
早速ですが、当日の試験結果になります。
試験時間は130分で、合格最低点は720点になります。
![119A6DBC-9E1F-47AD-B42E-E5

元記事を表示

駆け出しエンジニアがAWS認定ソリューションアーキテクト-アソシエイトに合格できなかった話

# はじめに
こんにちは。今回は**AWS認定ソリューションアーキテクト-アソシエイト**の認定試験に挑んだものの玉砕した話になります。
前回のクラウドプラクティショナーの記事は下記からご覧になれます。
[**駆け出しエンジニアがAWS認定クラウドプラクティショナーに合格した話**](https://qiita.com/yuga77/items/44f11dae23072c4c5299)

さて、タイトルから既に盛大なネタバレが起きてしまっていますが、去る2月22日に**AWS認定ソリューションアーキテクト-アソシエイト**の試験を受験したものの残念ながら合格することができませんでした。今回は、試験当日までにどのような対策をしたのか、どのような学習や理解が足りていなかったのかを振り返っていこうと思います。本当は不合格だったという事実は、どうにかしてでも隠蔽したいものではあったのですが、次回は必ず合格するための決意表明として執筆させていただくのと、これから受験される方への反面教師になれれば幸いです。今回の不合格の無念は、今記事でしっかりと供養させてください(筆者は割と大粒の涙を流しなが

元記事を表示

駆け出しエンジニアがAWS認定クラウドプラクティショナーに合格した話

**目次**
[・はじめに](#はじめに)
[・AWS認定クラウドプラクティショナーとは](#AWS認定クラウドプラクティショナーとは)
[・AWS認定クラウドプラクティショナーを受験した背景](#AWS認定クラウドプラクティショナーを受験した背景)
[・勉強期間](#勉強期間)
[・試験結果](#試験結果)
[・試験を振り返ってみて](#試験を振り返ってみて)
[・まとめ](#まとめ)

# はじめに
初めまして。2020年4月に、某プログラミングスクールから未経験転職した駆け出しエンジニアです。現在は業務でscalaを書きながら日々精進しております。
突然ですが、去る2020年7月21日に**AWS認定クラウドプラクティショナー**に合格することができました。
クラウドプラクティショナーって何ぞや?って思われた方の為にも、今回は、AWS認定資格である**AWS認定クラウドプラクティショナー**に合格するまでの道のりを、全体的な勉強方法などを振り返りながらお話ししようかと思います。文系出身で、勉強当初は、AWSって何?クラウドって何それ美味しいの?状態だった自分でも合格することができ

元記事を表示

EC2のプロセス監視と自動再起動

EC2で稼働しているプロセスがダウンした時に、自動起動する仕組みを作っていきたいと思います
今回は、dockerプロセスがダウンした場合を例とします

# 前提条件
* Amazon Linux2
* amazon-ssm-agentインストール済み
* cloudwatch-agentインストール済み
* dockerインストール済み
* EC2のIAMロールにAmazonSSMFullAccessのポリシーがアタッチ済み

# プロセスの監視を設定します

## Systems Manager パラメータストアの設定
CloudWatchのメトリクスに入れるための定義を作成します
AWSマネジメントコンソールからSystem Manager、パラメータストアをたどり、「パラメータを作成」を実行します
タイプはString、データ型はtextで、以下を値に設定します

“`json:値
{
“metrics”: {
“append_dimensions”: {
“ImageId”: “${aws:ImageId}”,

元記事を表示

Terraform+Amazon Athenaで快適なログ集計の準備をする

# はじめに
Amazon AthenaはS3に入ったログをSQLで抽出したり集計したりできる超便利機能。
でも、Terraformで一発で作ろうとするとちょっとクセがあるので、整理をしてみた。

# Amazon Athenaに必要なリソース
Amazon Athenaに必要なリソースは以下の5つ。

– ワークグループ
– データベース
– テーブル
– データ
– SQL

だ。データベースに登録するデータはS3に格納しておく必要がある。

# ワークスペース+データベースの作成
これはそんなに難しいことはない。Terraformで普通に定義していこう。

“`HCL
################################################################################
# Athena #
##############################################

元記事を表示

Rails Server起動後に、Blocked host: ホスト名.vfs.cloud9.ap-northeast-1.amazonaws.comと表示されるときの対処法

症状

cloud9上でRailsをダウンロードして、諸々updateしてrails Serverを起動したところ下記のようなエラーが表示されてしまいました。

Railsチュートリアルを参考にセットアップをしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/927880/f08fbe7c-0723-1b1d-f4ca-3c14693712fd.png)

解決方法

dev環境のconfigにcloud9へのアクセスを許可するコードを書いたら、正常に動作するようになりました。

“`ruby:config/environments/development.rb
Rails.application.configure do
.
.
.
# Cloud9 への接続を許可する
config.hosts.clear
end
“`
![image.png](https://qiita-image-store.s3.ap-north

元記事を表示

クラウドセキュリティ監査ツール「Scout Suite」を使って、ゆるゆる設定のAWS環境をチェックしてみた

最近、セキュリティ関係のセミナーに参加して、「[Scout Suite](https://github.com/nccgroup/ScoutSuite)」というクラウド環境のセキュリティ監査ツールの存在を知り、個人のAWS環境にわざと緩めの設定を追加してチェックしてみたので、その際の手順を残しておきます。

# Scout Suiteとは?
[GitHubの「Description」](https://github.com/nccgroup/ScoutSuite#description)にて「Scout Suite is an open source multi-cloud security-auditing tool」と説明されているように、AWS、Azure、GCPなどの複数のクラウド事業者([GitHubの「Cloud Provider Support」を参照](https://github.com/nccgroup/ScoutSuite#cloud-provider-support))に対応しているセキュリティ監査ツールです。
チェックを行いたいクラウド事業者の環境に対してSc

元記事を表示

EC2をADサーバーとして作成してみた!

以前、[Active Directory Connectorってなんだろ? – Qiita](https://qiita.com/mn87/items/9d7099e0033daa9efd91)という記事を書いた際に、ADの理解が必要なことが分かりました。なので、今回は改めてADに関する勉強のため、以下のサイトを参考にEC2でADサーバーを作成してみます。
[EC2からADサーバーを自分で作成し、WorkSpacesのディレクトリとして使ってみよう! – サーバーワークスエンジニアブログ](https://blog.serverworks.co.jp/tech/2020/01/22/post-78281/)

# 手順
参考サイト通りに以下の手順で進めます。
1. ADサーバを立ち上げる
2. ADサーバにユーザーを登録し、リモートPCに接続してみる

# 1. ADサーバを立ち上げる
早速やっていきますが、勉強のために手順を細かく残していくので適当にスキップしてください。

## Windows Serverを起動する
まずはEC2でWindows Serverを起動します。
マネジ

元記事を表示

Amazon Elastic Block Store(EBS)

#EBSとは
###**「EC2インスタンスにアタッチして使用するブロックレベルのストレージサービス」**
OSやアプリケーション、データの置き場所など様々な用途で利用される
スナップショット機能による**S3へのバックアップ**や、ディスクの**暗号化機能**を提供
**99.999%**の可用性を備えるように設計されている

##特徴
・**最大容量16TiB**
・アベイラビリティゾーン毎に独立しているため、**同一AZのインスタンスのみ**使用可能
・複数のインスタンスで共有することは**できない***
・S3にスナップショットを取得し、任意のAZに復元できる

##EBS最適化インスタンス
・EBVS最適化インスタンスは、独立した帯域を確保しI/O性能の安定化に繋がる
・ネットワークとは別に独立した帯域を持つってこと

##ブロックストレージの種類
**① SSD**
**(1) 汎用SSD(gp2)**
・ブートボリューム
・負荷が読めないシステム
・小規模なデータベース
・開発・テスト環境
・仮想デスクトップ

**(2) プロビジョンドIOPS(io1)**
・リレーシ

元記事を表示

AWS、5 つの産業向け機械学習サービスとは

# AWS、5 つの産業向け機械学習サービスとは

https://aws.amazon.com/jp/about-aws/whats-new/2020/12/aws-announces-five-industrial-machine-learning-services/
「AWS、5 つの産業向け機械学習サービスを発表」(投稿日: Dec 3, 2020)

から引用すると、以下の5つらしい。

>* Amazon Monitron は、センサー、ゲートウェイ、機械学習サービスで構成されるエンドツーエンドの機械モニタリングソリューションを提供し、メンテナンスが必要な機器の異常を検知

>* Amazon Lookout for Equipment は、既存の機器センサーをご利用のお客様が AWS 機械学習モデルを使用できるようにし、機器の異常を検知および予知保全を実現

>* AWS Panorama Appliance は、お客様の生産現場にある既存のカメラを活用しコンピュータビジョンを使用した品質管理と職場の安全性向上

>* AWS Panorama ソフトウェア開発キット(S

元記事を表示

AWS CloudFormation EC2起動時にEFSをマウントする

# EFSをマウントするには

EC2のユーザーデータを使うことで、起動時にコマンドを実行することができます。今回はマウントコマンドを実行します。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/user-data.html

主に以下の公式ドキュメントを参考にしましたが、今回書いた記事では起動設定をテンプレートには含めません。

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/quickref-efs.html

# 必要なリソース

– VPC
– パブリックサブネット(プライベートサブネットでも同じ)
– インターネットゲートウェイ
– ルートテーブル
– EC2
– EFS
– セキュリティグループ

これらをCloudFormationで作成します。その際、以下の設定もリソースとしてテンプレートに含めることになります。

– ルートテーブルにサブネットを関連付ける
– ルートテーブルをVPCにアタッチする
– マウント

元記事を表示

【AWS】認定SysOps アドミニストレーター – アソシエイト-受験記録

[【AWS】認定クラウドプラクティショナー受験記録](https://qiita.com/shin_moto/items/5d94d89ca4bbb39c4d16)
[【AWS】認定ソリューションアーキテクト-アソシエイト-受験記録](https://qiita.com/shin_moto/items/73ede465476c73da9858)

月一でのAWS資格取得への挑戦、今月はSysOpsアドミニストレーターです。
ソリューションアーキテクトが設計分野であるのに対して、SysOpsアドミニストレーターはAWSでのデプロイ、管理、運用に関する問題が出題されます。

受験の際に同意した受験者行動規範により、試験内容の開示、共有は禁止されていますので、今回も試験に向けて行った準備とか感想とかを記していこうと思います。

## 本題

今回の試験も無事に合格する事が出来ました。
スコアは839でしたので、蓋を開けてみたら結構余裕を持って合格出来たという感じですが、
試験自体1/3は確証が持てずに回答していたので、内心落ちたかと思っておりました。

![スクリーンショット 2021-03

元記事を表示

CodeDeployの結果をSlackに通知する

AWS Chatbotを使って、CodeDeployの成功/失敗をSlackに通知していきたいと思います。

## AWS Chatbotを設定
AWSマネジメントコンソールからAWS Chatbotをたどり、Slackを指定してチャットクライアントを設定します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1219565/176754a2-2763-8a55-dfa2-0451ad26b51e.png)

### slackへのアクセス権限を付与します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1219565/239427fb-75f6-6e39-9e16-f6834babb30a.png)

### 新しいチャネルを設定します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1219

元記事を表示

AWS CDKでAPIGateway+Lambdaを作る

cdkの入門として、シンプルにAPIGateway+Lambdaを作っていく流れを書きます

## はじめに
* Ubuntu 18.04.4 LTS (WSL利用)
* VSCode
* aws-cdk 1.94.1
* typescript

## AWS CDKをインストール
“`bash
$ npm install -g aws-cdk
$ cdk –version
“`

## AWS CDKのプロジェクト作成
“`bash
# プロジェクトディレクトリを作成
$ mkdir cdk-api-lambda

# 移動
$ cd cdk-api-lambda/

# プロジェクト作成
$ cdk init app –language=typescript
“`

## パッケージインストール
“`bash
$ npm install @aws-cdk/aws-lambda @aws-cdk/aws-apigateway
“`

## lambdaコードを格納するフォルダを作成
“`bash
$ mkdir lib/lambda/
“`
## lambdaコー

元記事を表示

「Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment」の解決

cdk deployを実行して「Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment」のエラーが発生した場合の解決策の一つとして記載します。

### 前提条件
* Ubuntu 18.04.4 LTS(WSLの利用)

### cdk deploy –profile xxx を実行すると Unable to resolve~エラー

“`bash
$ cdk deploy –profile xxx
Unable to resolve AWS account to use. It must be either configured when you define your CDK or through the environment
“`

* ~/.aws/configを確認する

“`bash:~/.aws/config
$ cat ~/.aws/config
[profile xxx]

元記事を表示

OTHERカテゴリの最新記事