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

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

AWSで設計する SAP NetWeaver 可用性と災害対策 その1

#はじめに
基幹系や大規模なSORでもパブリッククラウドへの期待が高まっています。一方、全面クラウド移行するとなると移行コストやシステムの見直しでなかなかに困難が付きまとうという現状もあります。

このような場合、以下のような**段階的なアプローチ**が有効です。

**1.オンプレミスにて遠隔地へデータ複製&可用性を担保**
              ↓
**2.オンプレミスからパブリッククラウドへデータ複製&可用性を担保**
              ↓
**3.パブリッククラウドで全てデータ複製&可用性を担保**

本稿では1.から2.に進むための技法としてベリタスを用いた方法について紹介します。

#ミドルウェアの必要性
AWSは複数のアベイラビリティーゾーン(AZ)をまたいでデータのコピーを行うことにより、独自の可用性を提供します。しかし、AWSが提供するこれらの可用性はインスタンスの内側の障害を認識しません。つまりSAPアプリケーションの障害までカバーする可用性が必要な場合、インスタンス内に Veritas InfoScale のようなクラスタ化のためのミドルウェアが必

元記事を表示

PythonでAmazon SESからメールを送ってみた

#きっかけ
定期的に社内の複数宛先にメールを一斉送信する必要があり、今まではスプレッドシート+GASでGmailを平和に送っていた。
が!社内のメール送信システムに仕様変更が発生!(誤送信防止システム)
結果、スプレッドシート+GASのGmailが時々うまく動かなくなる :sob: うわぁぁぁぁん
Gmailはダメだ、何か別のメールを・・・・よし、[Amazon SES](https://aws.amazon.com/jp/ses/) にしよう!

#PythonでAmazon SESからのメール送信実験
まずは [Boto3の公式ドキュメント](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) の [SES](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ses.html) をチェック。
ふむふむ、`send_email(**kwargs)` か `send_raw_email(**kwargs)

元記事を表示

Amazon LinuxにKubernetes環境構築【kubeadm】

## 前提
EC2でAmazonLinuxインスタンスを作成してあること(CPUとメモリは最低でも2以上を要求されるのでt2.microではダメ)

## 背景
当たり前のようにkubernete環境構築で詰まったので手順をメモ

## 環境

2020/3月時点でのバージョン

“`bash
[root@kube-master work]# kubectl version
Client Version: version.Info{Major:”1″, Minor:”17″, GitVersion:”v1.17.4″, GitCommit:”8d8aa39598534325ad77120c120a22b3a990b5ea”, GitTreeState:”clean”, BuildDate:”2020-03-12T21:03:42Z”, GoVersion:”go1.13.8″, Compiler:”gc”, Platform:”linux/amd64″}
Server Version: version.Info{Major:”1″, Minor:”17″, GitVersion:”v

元記事を表示

『実践Terraform』を写経して完全に理解した時の学習メモ

## 「実践Terraform」で何を学んだか

本書ではAWS上にアプリケーションを構築するためにTerraformを使い、それを通してTerraformを学んでいくという構成になっている。

アーキテクチャの全体像をした上で、そのアーキテクチャの構築をTerraformを使って行なっていく。

> 本書は「入門編」「実践編」「運用・設計編」の3部で構成されています。第1章から第3章までが「入門編」です。第1章でAWSとTerraformのセットアップを行います。そして第2章と第3章で、Terraformの基礎知識を一気に学びます。第4章から第16章までが「実践編」です。第4章でシステムの全体設計を行います。

Terraformはインフラ構築をしていくために利用できるツールで、コードを記述することでAWSやGCPのようなクラウド上で構築するリソースを定義することができるため、Infrastructure as Codeを実現することができる。

> The key features of Terraform are:
> » Infrastructure as Code
> Inf

元記事を表示

AWS〜これから使う人向け〜

#対象者と寄稿の背景
![download.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599479/7e6c1ed4-1953-b9ea-11e1-9623651ca1ac.png)

本記事の対象者は、AWSが意味不 or 調査しても不安がある(2種類のアカウントやよく出てくるワードが意味不)方向けです。
AWSの利用前に必要最低限の知識を整理整頓できる記事です。
「理解が貧しく**わからないことがわからないので**、調べたり、質問できない」とならないように
手助けできれば幸いです。

では、以下より本題に入ります。

##AWSとは・・・??
簡潔にいうと、
**インターネットサービスの総合スーパー(イオンモールみたいな)**です:bangbang:

スーパー名:AWS
取扱商品:各サービス(EC2,S3,RDS などなど)
となります。(※イオンには、食品・文具・衣服・レストラン・書店など様々ですよね)

システム運用する際、これまでは・・・
①ドメインはドメイン屋、②ルーターはルーター屋、

元記事を表示

使うときだけ EC2 インスタンスを立ち上げたい

# はじめに

本番環境ならいざしらず、開発用の環境であったり、踏み台サーバーについては必要な時だけ立ち上げることで費用を抑えたいというのは当然のことでしょう。AWS にはリザーブドインスタンスや節約プランを使うことで費用を抑える仕組みもありますが、一般的な使い方では3割程度の割引率にしかならないため、平日日中だけしか利用しない場合には、随時起動/停止を行う方が安上がりです。

このエントリでは、私が考えた「使うときだけ EC2 インスタンスを起動する方法」を説明します。

# 方針

ここ最近、Linux であろうが Windows であろうが SSH 経由で接続することができるようになってきました。[^1]

[^1]: Windows 2019 からは OpenSSH が OS 機能として用意されています。SSH サーバーをインストールしておけば、リモートデスクトップ接続も SSH のポートフォワーディング経由で利用することができます。

そこで「SSH で接続すると起動して、SSH を切断すると停止する」ような仕組みを考えます。昨年から Session Manager を使った

元記事を表示

2週間でAWS認定ソリューションアーキテクト-アソシエイトに合格したので、合格までの目安をまとめてみます

# はじめに
こんにちは、[Tamari](https://twitter.com/Tamarin_3)と申します。
この度、AWS認定ソリューションアーキテクト-アソシエイト試験に合格したので、(1回落ちて、2回目での合格)合格までの目安などをまとめられたらと思います。

# 前提
・未経験

私自身、社会人15年目ぐらいになりますが、新卒の会社と、直近の2年間くらいしかIT業界におらず、AWSというサービスの概要は知っていましたが、実際には操作したこともなく、細かいEC2、S3等のサービス名は知らず、未経験となります。

#やったこと
##全体像をつかむ
未経験でサービス名とか全くわからない状態だと、問題読んでもさっぱり何を言っているのかわからないので、まずはUdemyと黒本を用いてサービス全体を掴むような学習をしました。

###Udemy
Udemyでは以下のコンテンツで学習をしました。22時間とありますが、動画の時間が22時間なので、ハンズオンを合わせると、動画を1.5倍速でやったとしても、30時間以上はかかるかと思います。
[・これだけでOK! AWS 認定ソリューションア

元記事を表示

EC2上にどこからでも簡単にアクセスできるjupyter lab環境を構築する

# 3行で
* EC2のdeep learning用AMIを使えばよく使うライブラリだのCUDAだのは導入済み
* インスタンス起動時にjupyter lab自動起動して、かつ外部からブラウザを通じてアクセスできるようにできる
* EIPを使うか、動的DNSを使ってアクセス先のアドレスを固定すればブラウザのブクマだけでアクセスできる。動的DNSは無料でも使える

# モチベーション
* いつでもどこでも同じ環境を使って開発したい
* 案件ごとに環境を分離したいし、そのための設定に手間をかけたくない
* EC2のdeep learning用AMIを使ってjupyter labを外部からアクセスできるようにした。ついでに動的DNSでアドレスを固定した。

# 注意
他の人のQiitaからの寄せ集めなので、あまり新規性はないです。

# 必要な作業
全体像は以下
* EC2インスタンスの作成
* EC2インスタンスへのSSH接続
* EC2インスタンスへのHTTPアクセス許可
* jupyter lab自動起動設定
* (オプション)EIPの設定
* (オプション)動的DNSの設定

#

元記事を表示

(Amazon Linux 2の)sshd_configとauthorized_keysを学ぶ

# 内容
初期Amazon Linux 2の/etc/ssh/sshd_config設定を色々と変更しつつsshd_configについて学んでいく。
ついでにauthorized_keysも。

## ちょっとだけsshd_configを学ぶ

### 取り敢えず使いそうなところの設定

| 意味 | 該当箇所 |
|:—————–|——————:|
| パスワード認証 | PasswordAuthentication |
| チャレンジレスポンス認証 | ChallengeResponseAuthentication |
| 公開鍵認証 | PubkeyAuthentication |
| rootログイン | PermitRootLogin |
| 接続ポート | Port XX(基本22) |
| SSH接続バージョン | Protocol |

### Amazon Linux 2の初期設定

“`ruby:設定

#Port 22

#PubkeyAuthentication yes
# the settin

元記事を表示

VPC内で動くGlue開発エンドポイントでPyCharmを使用する方法

基本は以下の記事に従う。
[チュートリアル: 開発エンドポイントで PyCharm Professional をセットアップする](https://docs.aws.amazon.com/ja_jp/glue/latest/dg/dev-endpoint-tutorial-pycharm.html)

しかしこの記事はVPCの外で動く開発エンドポイントを想定しているためVPC内で動くエンドポイントの場合は大きく手順が違ってくる。

## VPC内のエンドポイントを扱う際に気をつけること
– プライベートなVPC内にいるので直接触れない
– SFTPでコネクションを貼るために踏み台サーバーを作成する必要がある
– さらにPyCharmで接続するためにローカルでsshトンネルを作る必要がある

## そもそもVPC内にエンドポイントを作る理由
GlueがデータソースとしてS3だけを相手する場合は別にVPCの外でいいが、JDBC系をデータソースとして扱う際にはVPCの中に置く必要がある。

## 構成図
![空白の UML – 空白の UML.png](https://qiita-image

元記事を表示

JenkinsからCFnのスタックを作成してみた。

## はじめに
Jenkinsを利用してCFnのテンプレートのスタックを実行するジョブを作成してみました。
使用するCFnのテンプレートは[前回記事]
(https://qiita.com/President_Taka/items/8384110f259b31abdc1b)で作成した3つのテンプレートです。

![スクリーンショット 2020-03-15 16.53.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/438093/e8690ca1-fdb1-e81e-0f8a-14732f216231.png)

##Jenkinsサーバー作成
AWSのEC2を利用してJenkinsサーバーを作成します。
EC2その他の環境は以下のとおりです。

– インスタンスタイプ : t2.medium
– サブネット : パブリックサブネット
– 自動割り当てパブリックIP : 有効
– セキュリティグループ : SSH(22) カスタムTCP(8080)
※Jenkinsサーバーとの接続に

元記事を表示

事故を出さない虎の巻

「機能は追加(修正)する」「事故も起こさない」。 「両方」やらなくっちゃあならないってのが「エンジニア」のつらいところだな。 覚悟はいいか?オレはできてる。

# 事故の定義
ここで述べる事故とは、ユーザのサービス利用を妨げる事象、サービスの信頼が失われる事象を指す。
事故足りうる事象に次のものが挙げられる。

インフラ障害(ネットワーク障害、サーバ障害)
DB障害(データ不整合、デッドロック)
脆弱性(情報漏えい、インジェクション、改ざん、不正アクセス)
メール・SNSの誤送信
実装バグ(二重課金、サーバエラー、操作不能、意図しない動作)

事故足り得る前提として1つ目に規模の問題がある。10人が使ってるサービスの障害と100万人が使ってるサービスの障害を比較するのであれば、明らかに後者のほうが重大な事故である。次にサービス全体へ影響を与えた障害なのか、ごく一部のユーザにのみ影響を与えた障害なのか事故の規模を考慮する必要がある。
(あまりにも規模が小

元記事を表示

WindowsのEclipseからCodePipelineを起動してEC2にアプリをデプロイする

# 前提条件
まずは「AWS上でサーバレスなコンテナまで動かせた!」なところまでできていれば。
拙筆ながら[この記事](https://qiita.com/neruneruo/items/ff6747a4129a5b52e6c6)あたりをやっていることを前提としている。
あと、↑の記事中の[シンプルなSpring Boot アプリをAWS Code シリーズを利用して自動デプロイするハンズオン](https://blog.nijot.com/aws/autodeployment-spring-boot-app-with-aws-code-series/)も、最後まで走らせて、CodePipelineでEC2にデプロイできるところまでやった上でこの記事を書いている。

# まずはWindowsでの統合開発環境構築から
イマドキならIntelliJ+SpringBootかもしれないけど、裾野の広さからEclipseでやってみる。
あと、AWS公式のドキュメントがあるのがEclipseだからという理由も。

[[Java]EclipseでSpring Bootを使ってみる。](https:/

元記事を表示

AWSを用いたGoの開発環境構築でWindowsユーザがMacユーザに歩み寄るナレッジをまとめた

# はじめに

チームの開発環境の構築手順って、みなさまどうしていますか?多くのチームはリポジトリ内のREADMEや、チームWikiに準備することが多いのではないでしょうか?

その際、そのリポジトリ固有のBuild & Deploy & Release手順は記載することは普通だと思いますが、ここで問題になるのは、開発者の環境がWindows, Macなどで割れている場合です。全員Windows or Macで揃えろよってことですが、今の自分のチームはMac:Windows=7:3くらいです。ハードやライセンスの問題から自分たちと同じ用に完全に開発環境を揃えるのも難しいチームも多いでしょう。Amazon Workspacesは一つの解には間違いないですが、なるべく既存の資産を有効活用したいPJも多いと思います。

私のチームの話ですがWindowsは参画したてのメンバーや、アルバイトer社員の方が多く、事実上スキルが低いメンバーが多いのですが、環境構築手順がMacに比重高めなので脳内翻訳が大変な場合があります。

ここではなるべくWindowsユーザがMacユーザ用に書かれた環境構築手

元記事を表示

AWS IAMユーザーとは

# はじめに

個人的に、AWSの使用で「難しい」と思うのは、独自の用語や日本人には馴染みのない用語が頻繁に出てくることです。

今回はAWSのアカウントとIAMユーザーについて簡単にまとめたいと思います。

# ルートユーザー

IAMユーザについて理解するためには、まずルートユーザーについて知っておく必要があります。

AWSに登録するときは、他のwebサービスと同様に`メールアドレス`と`パスワード`を使用します。

`メールアドレス`と`パスワード`でコンソール画面にアクセスしている状態が、ルートユーザーです。

ルートユーザーは、全ての情報や権限にアクセスすることができます。

## 他要素認証

このままでは、`メールアドレス`と`パスワード`が流出した際に全ての権限も一緒に流出してしまいます。
そこで、AWSでは他要素認証の設定ができます。

`MFAデバイス`の設定を行うことで、認証コードを使用することができるようになります。

この設定を行うことで、次回ログインの際は`メールアドレス`と`パスワード`と`MFA認証コード`の3つが必要になります。

# IA

元記事を表示

【Amplify】APIのAuthorization方式「AWS_IAM」を理解する#1 ~解説編~【AWS】

# はじめに
本稿は以下の二部構成となります。

[【Amplify】APIのAuthorization方式「AWS_IAM」を理解する#1 ~解説編~【AWS】](https://qiita.com/tmiki/items/061b321199c9ff986e71) **←いまココ**
[【Amplify】APIのAuthorization方式「AWS_IAM」を理解する#2 ~実践編~【AWS】](https://qiita.com/tmiki/items/07797c4e45c6abfcb8ff) ※作成中

昨今、新たなサービスの提供の際には、SPAやモバイルアプリで実現することが当たり前の状況になってきているかと思います。

AWSであればAmplifyというフレームワークを使うことで、基本的な構成をすぐに作ることができますが、そのベースとなる仕組みについての解説が少なく、少しでも想定構成を外れたものを作ろうとすると、途端に苦労します。

Amplifyで利用可能な(というより、GraphQL・API Gatewayで利用可能な)Authorizationには以下の4つの方式

元記事を表示

【絶対消し忘れるな!】AWS初学者が高額請求を避けるために消すべき設定3選

## 概要
AWSを使う上で、不要になった設定は消しとこうねというお話です。

## はじめに
AWSを学び始めてしばらくすると、無料枠以外の機能も使いたくなってきます。そしてそういう時期には新しいサービスに目移りし、「まぁこれぐらいの請求なら」と、作ったサービスを放置しがちです。

僕もそんな初心者のうちの1人でした。そして放置し続けた結果…

スクリーンショット 2020-03-15 13.01.43.png

**ひゃ、 120ドル!??? な なんじゃこりゃあああああああ!!!!**

僕のようにならないように、本記事では不要になったら消しておくべき設定3選をまとめました。

## 不要になったら消して置くべき設定3選

### 1. EC2, RDS
AWSを学び始めたら、まず最初に作る構成は、「EC

元記事を表示

GoogleHomeで領収書をスプレッドシートに記録するアプリを作ってみた

確定申告の時期です(投稿時期は3月)
私はもう終わったのですが手打ちで記録するのがまあツラくて非効率だなと感じました。

そこで音声入力だけで済むように今回のアプリを作りました。
※家計簿としても使えます。

#実際の動作様子
下記クリックすると動画再生されます。
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/0vurp1MOIJw/0.jpg)](http://www.youtube.com/watch?v=0vurp1MOIJw)

簡単な流れ
私:タクシーで3800円交通費
→一時的にスプレッドシートに記入される

Googleアシ:タクシーで3800円交通費でよろしいですか?

私:はい
→スプレッドシートに登録される

#使用したサービス及びフロー図
●使用したサービス
・GoogleAppsScript
・AWS
 lambda
 API Gateway
・GoogleAssistant
・Dialogflow

こうも色々サービスを使ってるのは、そもそも
GoogleAssistant→DialogFlow→スプレッ

元記事を表示

【まもなく終了!】【合格メモ】AWS認定ソリューションアーキテクト – アソシエイト(SAA)

# はじめに
AWS認定(SAA-C01)(以下、旧試験)に無事合格したので、忘れないうちにやってきたこと投稿します。
なお、本試験は2020/3/22で終了し、新試験(SAA-C02)に移行されます。※本記事執筆時点では、残り1週間。。。
#### 想定読者
– 新試験移行前の駆け込みで試験に申し込み、3/20-22の3連休での受験予定の方
– 新試験を受験予定であるが、申し込み前で勉強法を検討中の方

似たような記事が既にたくさん存在するため、なるべくオリジナルな記事になるよう努めています。

似たようなラーニングパスの方の自信となれば幸いです。

## テスト概要(新旧比較)

項目 | 旧試験(C01) | 新試験(C02) |
|:———–:|————|:————|
|回答タイプ| 選択問題と複数選択問題| 同左|
|合格基準|720点(100〜1000)| 同左|
| 出題分野1(配分) |回復性の高いアーキテクチャを設計する(34%)|レジリエントアーキテクチャの設計(30%) |
| 出題分野2(配分) | パフォーマ

元記事を表示

【Bubble x AWS】Bubble API Connector + AWS Lambda + Amazon API Gatewayで連携

# はじめに
本記事はBubbleとAWSを連携させるために実施した作業内容を記載しています。

具体的には、Bubbleのプラグイン「API Connector」を使ってAWSのAPI Gatewayにリクエストを投げ、API Gatewayに統合されたLambda関数を実行します。

実装した処理の内容は、Bubble上に設置した入力項目の値をLambdaで受け取り、そのまま値を返してBubble上の表示項目に表示させるという簡単なものです。

# AWSの設定

まずはLambda関数の作成です。次の通りに設定して[関数の作成]ボタンをクリックします。

– オプション: 位置から作成
– 関数名: 任意の名前(今回は`test`)
– ランタイム: 使用するプログラムのランタイム(今回は`Node.js 12.x`)

![APIConnect01.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/128060/4305ccde-33b8-4f3a-16f1-600c923ce263.png)

元記事を表示

OTHERカテゴリの最新記事