- 1. AWSにファイルをアップロード&ダウンロード
- 2. AWSで動画配信ハンズオン感想レポート
- 3. AWS 基礎
- 4. 【資格対策】【開発未経験】AWS 認定 デベロッパー – アソシエイト
- 5. [AWS] Aurora Serverless とは何か
- 6. Aws Linux 2 へのMySQLインストールとテストデータ用意
- 7. GradleでCodeArtifactの認証をプロファイル由来の自動化
- 8. FlutterとAWSで始めるサービス開発 (4)AWS Cognitoへの新規アカウント登録
- 9. AWSのEC2インスタンス立ち上げとssh接続
- 10. CircleCIで環境変数を使用する
- 11. TerraformでAmazon API Gatewayを構築する
- 12. 【AWS】初めてサーバーレスWebAPIを作った話
- 13. AWS IoT Device Managementのフリートインデックスを試す。
- 14. AuroraServerlessを使うアーキテクチャ
- 15. 【AWS】EC2インスタンスでのBash設定をミスして、再起動しても実施されない件
- 16. 【AWS、クラウド未経験】入社前にAWS Cloud Practitioner取得するまでに何をしたか
- 17. Amplifyフレームワークを使ってGraphQL APIを叩く
- 18. DeepSecurityを使ってAWSのEC2とWorkSpacesを保護する
- 19. AWS 基礎
- 20. EC2 ドメイン名設定 Route53
AWSにファイルをアップロード&ダウンロード
![SS 192.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565043/a41cd967-f549-8677-1efa-2e99bf69518d.png) AWSとローカルPCで今すぐファイルをやりとりしたい
##やることAWS(Lightsail)の中にあるファイルを手元のPCへダウンロード、
逆に手元のファイルをAWSにアップロードします。##環境
– AWS Lightsail
– Macのターミナル### AWSからPCへダウンロード
“`Console:
scp -i <プライベートキーのパス> -r <AWSのログイン名>@<AWSのパブリックIP>:<AWS上のファイルのパス> <ダウンロードファイルを格納するPC上のディレクトリのパス>例)
scp -i ~/.ssh/LightsailDefaultKey-XX-XXXXXXXX.pem -r bitnami@X.XXX.XXX.XXX:/home/bitnami/XXXX/xxxxxx.xxx /Use
AWSで動画配信ハンズオン感想レポート
#はじめてのライブ配信ハンズオン
2020年6月10日(水)に、Media-JAWSという、メディアサービスをAWSで開発するための勉強コミュニティに参加して、AWS Evangelist 亀田治伸先生の指導のもと、「はじめてのライブ配信ハンズオン」に参加しました。
Media-JAWSとは、例えば急激なトラフィック処理や映像や画像のワークロード処理、セキュリティ対策など、放送・ラジオ・新聞・雑誌・Web・SNSなどのメディア特有の性質が求められるサービスを、AWSを活用してどのように構築・運用しているか、といった情報交換や、交流の場として活用される勉強会です。
https://media-jaws.doorkeeper.jp/今回の「AWSで動画配信ハンズオン」では、AWS Elemental MediaServiecs と OBS Studio を使った動画配信システムの構築のハンズオンを実施しました。私たちの環境からライブ配信をする仕組みを90分で構築します。YouTubeなどへの配信にも活かせるOBS Studio(英語版)の使い方も扱います。
※講義資料 https:
AWS 基礎
#前提
AWS(仮想サーバー構築)について学んだことを書いていきます。#本題
ネットワーク上に仮想サーバーを作成する。##仮想サーバー構築
仮想サーバーはEC2を用いて作成。
EC2で作成した仮想サーバーのことをインスタンス
と呼ぶ。
インスタンスには、パブリックサブネット内で利用可能なプライベートIPアドレスを割り当てる。
しかし、プライベートIPアドレスは、インターネットとの接続には利用できない。
そこでインスタンスを起動する時には、プライベートIPアドレスとは別にもう一つパブリックIPアドレスを設定するようにする(このパブリックIPアドレスは、AWSに割り当てられているIPアドレスブロックのうち、適当なものが使われる)。
つまり、作成したインスタンスはVPC内で通信するためのプライベートIPアドレスとインターネットで通信するためのパブリックIPアドレスの2つを持つ。##SSH接続
SSH接続には、SSHクライアントソフトが必要。
Macの場合は、標準のターミナルからSSHクライアントを起動できる。
ターミナルから接続コマンドを入力。“`
【資格対策】【開発未経験】AWS 認定 デベロッパー – アソシエイト
#はじめに
今年の6月9日にAWS認定デベロッパー-アソシエイト(以降DVA)に合格しました。
合格を目指している方に少しでも役に立つ記事になれば嬉しいです。この記事ではAWS認定資格に対する説明は割愛します。
※AWSのNDAに則って試験問題を開示するような事をしておりません尚、筆者はソリューションアーキテクトアソシエイト試験(以降SAA)及び
sysopsアドミニストレーター-アソシエイト(以降SOA)に合格済みです。
ステータス及び学習内容については以下URLをご参考下さい。
[【資格対策】AWS 認定ソリューションアーキテクト – アソシエイト]
(https://qiita.com/Chanmitsu_/items/b34c43774de4b02ddd3f)
[【資格対策】AWS 認定Sysopsアドミニストレーター– アソシエイト]
(https://qiita.com/Chanmitsu_/items/ca3f03ff3c5f128698f6)私は開発案件のマネジメントを担当していた事はありますが、
開発経験は無いので、学習開始時点では、CI/CDやAPIに
[AWS] Aurora Serverless とは何か
#Auroraとは
AWSの提供するRDBサービス。
簡単なことは過去の記事にまとめています。[[AWS] Amazon Auroraについて](https://qiita.com/oudon722/items/db43a9e5a1a5bcc02f23)#Aurora Serverlessとは
Aurora用のAutoScaling設定のこと。アプリケーションのニーズに応じてコンピューティング性能を変更してくれる。例:期間限定セールでDBへのクエリが一時的に増加する場合、わざわざDBサーバーを新しく作らなくてもアクセスが多くなると自動で作ってくれる。
#仕組み
DBインスタンスクラスを**指定せず**にデータベースエンドポイントを作成できる。そしてそのエンドポイントは**プロキシフリート※**に接続される。このプロキシフリートでオートスケーリングが行われる。※直訳すると「代理グループ」って感じなので代わりにエンドポイントに接続するんだなと言うことはわかるのですが、実態が何なのかがよく分かりません。詳しい方はコメント欄で教えていただければ幸いです。
#メリット
**・簡素化
Aws Linux 2 へのMySQLインストールとテストデータ用意
# MySQLインストール
## yumリポジトリ追加
“`bash
$ sudo rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
“`## MySQLインストール
“`bash
$ sudo yum install mysql-community-server
“`## MySQL起動
“`bash
$ sudo systemctl start mysqld.service
“`## rootユーザの初期パスワード
次の工程で使用する。 → +nu&TAHRi7p=“`bash
$ sudo cat /var/log/mysqld.log | grep “temporary password”
2020-06-12T08:50:36.870252Z 1 [Note] A temporary password is generated for root@localhost: +nu&TAHRi7p=
“`## MySQLセキュリティ
“`
GradleでCodeArtifactの認証をプロファイル由来の自動化
## はじめに
レポジトリがマネージドになってすこぶる便利になりそうです。
が、[公式ドキュメント][doc]を読むと環境変数にトークンをロードしておけと、、、
毎回そんなめんどくさいことやれと?やりたくない!というわけでAWS CLIで設定されてるであろうプロファイルから読むように書いてみました。
## 前提
任意のCodeArtifactにアクセスできるAWS CLIのプロファイルが設定済みのこと## 使い方
以下を丸ごとコピー
※直接ファイルで落としたいときは[こっち][gist]“`build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ‘com.amazonaws:aws-java-sdk-codeartifact:1.11.801’
}
}import com.amazonaws.services.codeartifact.AWSCodeArtifactClient;
import com.amazonaws.auth.prof
FlutterとAWSで始めるサービス開発 (4)AWS Cognitoへの新規アカウント登録
# はじめに
前回の[「(3)AWS Cognito連携」](https://qiita.com/makotomi/items/cb6ccb8568eacf8772dd)では、Cognitoユーザープールを準備し、Flutterアプリで使うための準備を行いました。今回は、それを使って、新規アカウント登録機能を実装したいと思います。# 新規アカウント登録の流れ
1. メールアドレスとパスワードをユーザープールに送信
2. アカウントが、ステータス「__UNCONFIRMED__」、E メール確認済み「__false__」で作成される
3. 入力したメールアドレス宛に確認コードが送信される
4. メールアドレスと確認コードをユーザープールに送信
5. アカウントのステータスが「__CONFIRMED__」、E メール確認済みが「__true_」_に変化しアカウントが使えるようになる。# 画面遷移
エラー処理等々を考えると問題があるのだがフローを追いやすくするため、以下のような単純な画面遷移とします。ログイン画面(‘/’)から新規登録画面(RegisterUSer”)へ遷移し
AWSのEC2インスタンス立ち上げとssh接続
# EC2インスタンス(Amazon Linux 2)
大きな流れは以下の通り。## AMIを選択する
## キーペア作成
キーペアの名前を入力後ダウンロードする。ローカルのキーペアを`~/.ssh/`フォルダに格納して以下のように権限を付与する。
“`bash
chmod 400 ~/.ssh/DataLamda_Outer.pem
“`
CircleCIで環境変数を使用する
# はじめに
CircleCIからAWSのEC2にアクセスする際、特定のIPだけを許可したかったのでAWSのセキュリティグループIDをconfig.ymlにハードコーディングしていました。
それはあまりよろしくないということで、CircleCIの環境変数を使用するように変更したので、そのやり方を残しておきます。# やり方
以下の公式ドキュメントを参考に変更しました。
[Using Contexts](https://circleci.com/docs/2.0/contexts/)#### 事前準備
まずはじめに、CircleCIの[Settings]-[Contexts]から「Create Context」を選択。
![スクリーンショット 2020-06-13 21.48.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387766/98c54765-6154-5160-3b22-377ce7f0e9b9.png)コンテキスト名を入力し、Createボタンを押します。
今回は「aws_c
TerraformでAmazon API Gatewayを構築する
# はじめに
これまで何度かAmazon API Gatewayに関して書いてきたが、[直近の記事](https://qiita.com/neruneruo/items/3f4fde0c7be6741f3cb4)で、「結局色々な機能を統合したAPI GatewayってSAMに組み込めないし、そうなるとSAMにするメリットってIaCの記述量がちょっと少ないくらいだよね」な結論になったので、そうであれば業界でややデファクト化しているTerraformでも作れた方が良いのだろう、という感じで書いてみた。# 前提知識
– 今回作るTerraformは[直近の記事](https://qiita.com/neruneruo/items/3f4fde0c7be6741f3cb4)のSAMテンプレートをリファクタしているだけなので、中身については該当記事を読んでもらうことを前提とする。
– Terraformについてはある程度書き方を理解していて、自力でリファレンスを見ながら書くことができる程度の知識量を期待する# Swagger版で作ってみる
慣れている人にとってはSwaggerの方が簡単な
【AWS】初めてサーバーレスWebAPIを作った話
#始まり
以前、4年ほど勤めていた会社では、Windows向けのスタンドアローンアプリケーションしか開発したことがありませんでした。
退職後、Pythonを使った機械学習の勉強を始め、作成したプログラムをどう生かすか考えた時に、行きついた先がWebAPIでした。
とは言え、WebAPIを作ることに関してほとんど知識がなく(WebAPIという言葉すら知らなかったくらいです)、下のようなサービスを作りたいなぁ…くらいの構想からスタートしました。
![Untitled Diagram Base.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/358498/d0fe418e-74ed-62bc-3080-63b4acf089d7.png)
図を見たらわかりますが、技術も言葉もほぼ知らない、右も左もわからない状態でした。(これが一番つらかったです)#完成図
いろいろ四苦八苦して、最終的に以下のようなアーキテクチャとなって、初めてのWebAPIが完成しました。
方針として、サーバーを自分で用意しないで、AW
AWS IoT Device Managementのフリートインデックスを試す。
[フリートプロビジョニングで作成したモノのシャドウをフリートインデックスでクエリする](https://qiita.com/sabmeua/items/670d57975aa55024a4f5)とほぼ同じ内容ですが、フリートインデックスを試してみました。
# フリートインデックスの作成を有効にする
AWSマネジメントコンソールでAWS IoTを開き、設定に移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/b9674d89-3677-3c93-9269-6c49f2cd60b8.png)
`フリートインデックス作成を有効にする`をオンにするとフリートインデックスが作成されます。
その下のチェックは、、、見づらい。。
上から順番に
* **モノのインデックス作成** – 名前、説明、および属性に基づいてモノを検索します。
* **Device Shadow の追加** – モノのインデックスに Device Shadow データを含めます。
* *
AuroraServerlessを使うアーキテクチャ
AuroraServerlessを使う機会があったのでその過程で学んだことをメモ。
# AuroraServerlessの良さ
* サーバレス
* AutoScaling
* コスト削減
* Lambdaとの相性まずサーバレスが助かる。
通常のEC2にDBを構築したりRDSを使ったりする場合、定期的にサーバの証明書更新が必要となる。後々の運用を考えると出来るだけ手離れはよくしたいし、メンテナンスの都度サービスを止めるということもしたくない。次にAutoScaling
AuroraServerlessではDBの処理とストレージが分離されている。急激にアクセスが増加し処理が多くなった場合には勝手にスケーリングしてくれる。
そしてピークがすぎるとスケールインして最後は処理部分を完全に畳むことができる。(0にするかは設定次第で調整可能)3つ目、コスト削減。
AutoScalingにより処理部分はリクエストが来ない間は完全に眠らせることが可能だ。つまりこの間にかかるコストはストレージ分のみ。
DBのアクセスが予め見積れる場合には通常のDBを使ったケースと比較すると安く利用できるメ
【AWS】EC2インスタンスでのBash設定をミスして、再起動しても実施されない件
#EC2インスタンスでのBashの設定のミスで、再起動しても実施されない
EC2の高度な設定でBashを用いる設定を行った。その際バケットの情報を取ってくる設定をしたのだが、そのバケット名を誤って指定していた。インスタンスを作成後に、アクション内にあるインスタンスの設定のユーザーデータの表示/変更で、高度な設定に書いていたバケット名を正しいものに変更したが、インスタンスを再起動しても実施されなかった。#そもそもどうやってbashによる設定を行うのか?
[bashでEC2のインスタンスを設定する](https://qiita.com/roku28632/items/c0aa6991e7c36097f194)
詳しくは上記記事、参照。#解決策
そもそもの原因としてBashスクリプトは、インスタンス作成時にしか起動されない。その後のインスタンスの再起動時には適用されないため、実行されずエラーとなる。解決策としてはまた新しくインスタンスを作り直すか、コマンドラインで実行すると上手くいく。
【AWS、クラウド未経験】入社前にAWS Cloud Practitioner取得するまでに何をしたか
# はじめに
私は2020年の4月から新卒でIT企業に就職した新人ITエンジニアです。
バックグラウンドとしては大学、大学院で情報学(主にVR)を専攻していたためITに
関しては全くの未経験ではないということだけ先に伝えさせていただきます。
なのでITに関して全くの未経験の方がこの記事を参考にして同じように学習されて、
間違いなく受かるという保証はできないですが、この記事を読んでいただくことで
得られることはあるのでは思います。# この記事の対象者
**AWSの資格を取りたいけど、具体的に何をすればいいかわからない方**
AWS経験者の方や学習の方向性が定まっている方には参考にならないと思います。
※あとはこの記事ではAWSの具体的なサービスを説明はせずに、AWS資格取得には
どういうことを意識して学習するのが効率がいいかを書いている記事となっています。# AWS Cloud Practitionerとは
AWSの資格には3種類の難易度の資格と専門知識の資格合わせて計12種類あります。
Amplifyフレームワークを使ってGraphQL APIを叩く##概要
この記事ではアプリケーションからAmplifyフレームワークを使ってGraphQL APIにアクセスする方法を紹介します。
GraphQLのスキーマは用意されている前提なので、主にフロントエンドからバックエンドとのつなぎ込みをする際の具体的なコードを列挙します。##実践
amplify CLIでAPIを構築すると、queries.js、mutations.js、subscriptions.jsの3つのファイルが作成されます。
各query,mutation,subscriptionはモジュールとしてexportされているので、呼び出し元のファイルから必要なものをimportします。
そのままimportすると全てのフィールドが含まれているので、必要なフィールドだけを取得したい場合はフィールドを削ったり、別ファイルに書き出しても構いません。
以下の例ではNuxtプロジェクトを想定し、ストアファイルの中からGraphQLの各オペレーションを実行していますが、VueのApp.vueからでもReactのApp.jsからでも基本的なgraphqlメソッドの書き方は同じです。“
DeepSecurityを使ってAWSのEC2とWorkSpacesを保護する
## 目的と概要
AWSのEC2とWorkSpacesをまとめていい感じにセキュリティ対策を行うため、TrendMicroのDeepSecurityを使います。
DeepSecurityにてAWSのEC2とWorkSpacesにアクセス可能なIAMロールを作成し、IAMロールのARNを認証情報に用いてAWSに接続して保護対象にするというものです。## DeepSecurity概要
[Trend Micro Cloud One™Workload Security 概要](https://www.networld.co.jp/product/trendmicro/pro_info/cloudone_workload_security/)* 管理サーバーをクラウド上で提供するクラウド型総合サーバーセキュリティサービスでサーバ保護に必要な多層のセキュリティ機能を一元的に提供している。主な機能は以下の通り。
* 不正プログラム対策 :リアルタイムにウイルスを検索
* Webレピテーション :不正なURLへの接続を防止
* 不正侵入検知・防止(ホスト型IDS/IPS) :仮想
AWS 基礎
#前提
AWS(ネットワーク構築)について学んだことを書いていきます。#本題
VPC領域を構成すると、AWS上に好きな構成のネットワークを構築できる。#ネットワーク構築
##ネットワークで用いるIPアドレス範囲を定める
AmazonVPCを用いてVPC領域を構成すると、ユーザーごとに隔離されたネットワークを作れる。
作ったネットワークには、任意のネットワークが設定でき、ルーターなどの仮想的なネットワーク機器も配置できる。
早速、VPC領域を作っていきたいところだが、まずVPC領域に対して割り当てる「IPアドレス範囲」の設定が必要。###パブリックIPアドレスとプライベートIPアドレス
インターネットで使われているTCP/IPというプロトコルでは、通信先を特定するのにIPアドレスを用いる。
IPアドレスはネットワーク上で互いに重複しない唯一無二の番号で、「住所」に相当する。
IPアドレスは、32ビットで構成される。
192.168.1.2のように、8ビットずつ10進数に変換したものを「.」(ピリオド)で区切って表記する。
それぞれのピリオドで区切られた数字は「0」〜「255」
EC2 ドメイン名設定 Route53
# EC2にドメイン名を設定しよう!
### ElasticIPを設定
これを設定しないと, EC2のdefaultのパブリックDNS(IPv4)は変わっちゃうみたい.
どのタイミングで変わるのかは知らんけど。
### RouteS3にドメイン名を設定
お名前.com とかでとってきたオリジナルドメイン名を設定する.
設定したホストドメインに毎月0.5ドルくらいかかるらしいけど, それ以上稼げばいいだけの話.### ElasticIPとRoute53に設定したドメインをの結びつけ
Route53の中の**Aレコード**ってやつが, みんながアクセスする時に見るドメイン名なんだってさ.
だから, その中にElasticIPを結び付けるんだ!!!### ネームサーバーの設定
僕はお名前.comを使ったので, そこでの作業になるんだけど, **Route53**の中にあるタイプ**NS**っていうやつの欄にある値を, お名前.comのどネームサーバー設定の所に全部いれるの!!!### これでサーバーのドメイン名の設定は終わりだお。
# 参考
https://avinton.co