- 1. AWS EC2 AmazonLinux2 composerをインストールする
- 2. Elastic Beanstalk で Amazon Linux AMI とAmazon Linux 2 の違い
- 3. AWS: プロビジョニングサービス
- 4. 【AWS】デフォルトVPCを削除してしまった
- 5. CloudFormationを扱う際のIAMの考え方
- 6. これだけは覚えておきたいS3の用語と概念
- 7. CodePipelineでSourceVariablesからGitのCommitMessageを環境変数として注入するときにハマった
- 8. Cloud9(Linux)でMySQLをアップデートする
- 9. AWS EC2 AmazonLinux2 MySQLをインストールする
- 10. Glueの使い方的な㊻(update-table)
- 11. Amazon Workspaces『に』リモートデスクトップする。
- 12. 【AWS】ルートアカウントのMFA有効化方法
- 13. AWS: 開発者ツール
- 14. [AWS] Storage Gatewayの基本
- 15. 【Windows】EC2でPermission denied (publickey,gssapi-keyex,gssapi-with-mic).
- 16. 【資格対策】AWS 認定Sysopsアドミニストレーター– アソシエイト
- 17. AWSネットワークの基礎①「VPC」「サブネット」「リージョン」「アベイラビリティゾーン」
- 18. AWSにフルサーバーレスなWebサイト運用環境を作る(Gatsby + Amplify + CodeCommit)
- 19. ボルダリングで登ったコースの効率性を評価するアプリを作った
- 20. AWS EC2 AmazonLinux2 Apache 設定ファイルの場所
AWS EC2 AmazonLinux2 composerをインストールする
# 目的
– インスタンスにcomposerをインストールする方法をまとめる。
# 実施環境
– ハードウェア環境
| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |– ソフトウェア環境
| 項目 | 情報 | 備考 |
| — | — | — |
| AWS EC2インスタンス | AmazonLinux2 | こちらの方法を用いてイメージからインスタンスを作成→[AWS EC2 をMacで使ってみよう!](https://qiita.com/miriwo/items/a1ab84c098008e43d042) |
| MySQL
Elastic Beanstalk で Amazon Linux AMI とAmazon Linux 2 の違い
## フック
### Amazon Linux AMI
[カスタムプラットフォームフック – AWS Elastic Beanstalk](https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/custom-platform-hooks.html)“`
/opt/elasticbeanstalk/hooks/
“`### Amazon Linux 2
[Elastic Beanstalk Linux プラットフォームの拡張 – AWS Elastic Beanstalk](https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/platforms-linux-extend.html#awsui-expandable-section-1-trigger)
“`
ソースバンドルの .platform/hooks/
“`## 無視するファイル
### Amazon Linux AMI
`.gitattributes` を使う。
AWS: プロビジョニングサービス
#プロビジョニングサービス
AWSでは環境構築作業を自動化することができる。– Elastic Beanstalk
– 定番構成の自動構築
– OpsWorks
– Chef環境を提供し、OSより上のレイヤーの自動構築をサポート
– CloudFormation
– JSONあるいは、YAMLのテンプレートを作成し、OSより下のレイヤーの自動構築をサポート## Elastic Beanstalk
定番のインフラ構成を自動構築するサービス。– Webサーバー構成(ELB + Auto Scaling + EC2)
– Batchワーカー構成(SQS + Auto Scaling + EC2)## OpsWorks
Chefを利用した構成管理サービス。
ファイルにサーバーの構成を定義し、ミドルウェアのインストールや設定を自動化するツール。– Chef Client ローカル方式
– 各サーバーがレシピを持ち、自分自身にレシピを適用する方式
– Chef Server/Client方式
– マスターサーバーを用意し、レシピそのものや
【AWS】デフォルトVPCを削除してしまった
#デフォルトVPCを削除してしまったら
デフォルトVPCを誤まって削除してしまった場合、自分で再作成可能。AWS公式マニュアルに情報が載っているが、日本語バージョンはない模様。Creating a default VPC https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-vpc
To create a default VPC using the Amazon VPC console
1.Open the Amazon VPC console at https://console.aws.amazon.com/vpc/.
2.In the navigation pane, choose Your VPCs.
3.Choose Actions, Create Default VPC.
4.Choose Create. Close the confirmation screen.
訳(一部表記変更しております。)
Amazon VPC コンソールを使いながらデフォル
CloudFormationを扱う際のIAMの考え方
# あるスタックを作成するケースを考える
SQSのキューを1つだけ作るテンプレートを用意する。“`yaml:sample.cf.yml
AWSTemplateFormatVersion: “2010-09-09”
Resources:
SampleQueue:
Type: AWS::SQS::Queue
“`とあるIAMユーザーのプロファイルを指定して`create-stack`を実行。
このIAMユーザーは`cloudformation:*`のみを許可されているものとする。“`sh
$ aws cloudformation create-stack –stack-name sample –template-body file://./sample.cf.yml –profile sample-user
{
“StackId”: “arn:aws:cloudformation:ap-northeast-1:xxxxxx:stack/sample/b579cc80-aaf1-11ea-bafc-0a62df4444de”
}
“`
これだけは覚えておきたいS3の用語と概念
####前置き
AWSを学習し始めて2瞬間ほどしかたっていませんが、S3でこれだけは(個人的に)覚えておきたいと思った用語を並べていきます。この記事書いてる途中に上位互換発見しました。記事はせっかく書いたので残しますが、こちらの記事を見ていただければここに書いてある内容はすべて載っています。
https://qiita.com/iron-breaker/items/f35c1d54887c434a321a#S3とは
Amazon Simple Storage Serviceの略で、AWSで良く使われるストレージサービス。#用語、概念
###バケット
データを入れるコンテナのこと。言葉からイメージしやすいですね。
S3を使用する時は、まずバケットを作ることから始まります。###オブジェクト
S3に格納される基本エンティティ(=独立した1つの要素)。**オブジェクトデータ**と**メタデータ**から構成されます。**オブジェクトデータ**
格納するデータ。写真だったり、コードだったり、テキストファイルだったりetc…
普通にデータと言われたら思い描くものです。*
CodePipelineでSourceVariablesからGitのCommitMessageを環境変数として注入するときにハマった
CodePipelineをGitのWebhookで起動した際、SourceVariablesにはコミットIDやメッセージなどの様々なものが含まれています
参考⇢https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/actions-variables.htmlこのコミットメッセージを、CodeBuildへ環境変数として渡したいときにCodepipelineのBuildステージに以下の設定をしました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253700/9842946f-99ed-ef09-ca79-1b9f9814f925.png)これでSourceステージで出力されているCommitMessageを環境変数に注入できるはずでした
ところがPipelineを実行すると、
`EnvironmentVariables specified in action config does not match exp
Cloud9(Linux)でMySQLをアップデートする
## インストールされているMySQLのバージョンを確認
Cloud9ではデフォルトでMySQLがインストールされています。まず現在のバージョンを確認。
`mysql –version`
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538652/e9d692c3-e211-7bad-60d5-92ffc3fd7809.png)
5.5系のMySQLがインストールされています。
これを5.7系にアップデートします。## MySQLを停止する
`sudo service mysqld stop`## MySQLをアンインストールする
5.5系のMySQLをアンインストールする場合は以下のよう「55」になります。
`sudo yum -y remove mysql-config mysql55-server mysql55-libs mysql55`## MySQLをインストールする
5.7系をインストールする場合、「57」を指定します。
`sudo yum -y install mysql57
AWS EC2 AmazonLinux2 MySQLをインストールする
# 目的
– AWS EC2 AmazonLinux2にMySQLにインストールする方法をまとめる
# 実施環境
– ハードウェア環境
| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |– ソフトウェア環境
| 項目 | 情報 | 備考 |
| — | — | — |
| AWS EC2インスタンス | AmazonLinux2インスタンス | こちらの方法を用いてインスタンスを起動→[AWS EC2 をMacで使ってみよう!](https://qiita.com/miriwo/items/a1ab84c098008e43d042)
Glueの使い方的な㊻(update-table)
### メモ書き
## get-table
テーブルtmp_logsの情報を get-table API で取得
“`bash:
$ aws glue get-table –database-name default –name tmp_logs –region ap-northeast-1
“`“`JSON:
{
“Table”: {
“Name”: “tmp_logs”,
“DatabaseName”: “default”,
“Owner”: “owner”,
“CreateTime”: “2020-04-28T15:18:26+09:00”,
“UpdateTime”: “2020-04-28T15:18:26+09:00”,
“LastAccessTime”: “2020-04-28T15:18:26+09:00”,
“Retention”: 0,
“StorageDescriptor”: {
“C
Amazon Workspaces『に』リモートデスクトップする。
#AWSでOfficeソフトを利用するには
完全閉域網下でOfficeソフトをAWS上にて最安で使いたい方以外はブラウザバックしてください。EC2インスタンスにOfficeをインストールするには、Dedicated Hostsまたはハードウェア占有インスタンスでないと持ち込めないので、通常はOffice込みのWorkspacesを利用する形になります。
参照元:[自分の Office ライセンスを AWS で使用できますか?](https://aws.amazon.com/jp/windows/faq/#byol-office)
ここに一つ問題がありまして、Workspacesは専用アプリから**代理サーバー経由でPCoIPによる接続**をします。
ここの経路は**インターネット接続かつAWS管理のリソースとの疎通**になる為、**閉域網が絡んだ構成**だと完全なローカル環境として提案することができません。![002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536700/a652f5b
【AWS】ルートアカウントのMFA有効化方法
# はじめに
今回は、AWSのルートアカウントのMFA有効化手順についてアウトプットしていきたいと思います。
AWSに登録した際に、初期設定として実施する内容の一つになります。# MFAとは?
MFAとは、「Multi-Factor Authentication」の略で多要素認証という意味になります。
ログインする際のアカウントとパスワードに加え、ユーザーが所有しているデバイスから発行される6桁の数字(ワンタイムパスワード)を入力することで、セキュリティを強固なものにすることができます。# MFA登録手順
## 事前準備
### AWS
事前にAWSに登録しておきます。
(今回はルートユーザーを使用)**※ルートユーザーは、アカウントがEメールアドレスのもの**
### スマートフォン
所有しているスマートフォンに、「Google Authenticator」をインストールしておきます。
**※Android/iPhoneの両方にインストール可能**![authentication.JPG](https://qiita-image-store.s3.ap-no
AWS: 開発者ツール
# 開発者ツール
– CodeCommit
– ソースコードを管理するGitリポジトリ
– CodeBuild
– ソースコードのビルド/テスティングサービス
– CodeDeploy
– ブルドされたモジュール(アーティファクト)のデプロイサービス
– CodePipeline
– 上記3つのサービスを束ねて、一連の開発プロセスを自動化するサービス
– CodeStar
– 上記4つのサービスを利用したCI/CD環境を自動構築するサービス## CodeCommit
ソースコード管理のためのGitリポジトリサービスを提供するマネージド・サービス。### IAMユーザーを用いた権限管理
HTTPS方式でアクセスする場合は、gitコマンドを利用し、ローカル環境にあるIAMのクレデンシャル情報を用いてGitリポジトリに接続できる。SSH方式でアクセスする場合は、ターミナル上で秘密鍵と公開鍵のペアを作成し、公開鍵をマネジメントコンソールでIAMに紐付けることでGitリポジトリに接続できる
### 他のAWSサービスとの連携
他のAWSサービ
[AWS] Storage Gatewayの基本
####前置き
毎日AWSのサービスで学習したことをアウトプットして定着させるためにやってます。
間違いがあったらご指摘よろしくお願いします。# Storage Gatewayってなに?
AWSのドキュメントを見てみると、
> AWS Storage Gateway は、オンプレミスのソフトウェアアプライアンスをクラウドベースのストレージと接続し、お客様のオンプレミスの IT 環境と AWS のストレージインフラストラクチャとの間にデータセキュリティ機能を備えたシームレスな統合を実現するサービスです。と書かれてあります。これを一回読むと意味がわかる人は尊敬します。
さて、この文章を紐解くと、「オンプレ環境とクラウド上にあるAWSのストレージ(S3など)を簡単に統合できるサービス」と書かれてあります。
# 3つのゲートウェイ
ゲートウェイとは通信プロトコルが違うネットワーク同士がデータをやりとりする際、中間的存在となる機器のことです。
StorageGatewayには3つのゲートウェイがあります。**ファイルゲートウェイ**
S3とオンプレミス環境が統合されます。そのため
【Windows】EC2でPermission denied (publickey,gssapi-keyex,gssapi-with-mic).
※メモ書きです。でも指摘歓迎。
まずEC2インスタンスに接続するために
“`
ssh -i hogehoge.pem ec2-user@IPアドレス
“`を実行すると
“`
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for ‘hogehoge.pem’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key “hogehoge.pem”: bad permissions
ec2-user@IPアドレス: Permission den
【資格対策】AWS 認定Sysopsアドミニストレーター– アソシエイト
#はじめに
今年の5月25日にAWS認定sysopsアドミニストレーター-アソシエイト(以降SOA)に合格しました。
これから受験する方に少しでも参考になればと思い記事を投稿します。
この記事ではAWS認定資格に対する説明は割愛します。
※AWSのルールに則って試験問題を開示するような事をしておりません。尚、筆者はソリューションアーキテクトアソシエイト試験(以降SAA)に合格済みです。
ステータス及び学習内容については以下URLをご参考下さい。
[【資格対策】AWS 認定ソリューションアーキテクト – アソシエイト]
(https://www.amazon.co.jp/dp/4295005495/)###合格点
>801/1000
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/633458/93c99900-bcd2-58ab-41a6-7a29d48fd7aa.png)#学習教材
| No.|教材名|内容|
|:——:|:——————–
AWSネットワークの基礎①「VPC」「サブネット」「リージョン」「アベイラビリティゾーン」
##VPCとは
アカウントに紐付く仮想ネットワーク空間
他のVPCと論理的に区別されている
※AWSではアカウントに1つ以上結びついています。<注意点>
VPCはAZを跨げるが、リージョンは跨げない
リージョン=国
AZ=データセンター
※厳密には違うそうですが、初心者の認識は一旦これでイメージを!
※AZはアベイラビリティゾーンのことです##サブネットとは
大きなネットワークを小さなネットワークに分割すること<注意点>
サブネットはAZを跨って作成することはできない▼参考動画
AWSにフルサーバーレスなWebサイト運用環境を作る(Gatsby + Amplify + CodeCommit)
# 概要
「カッコいいデザインのモダンかつシンプルなWebサイトを堅牢安価に運用したい」をAWSのマネージドサービスをつなぎ合わせて構築します。管理すべきサーバーやRDBをなくしてDDoS、バージョンアップ失敗、リクエストの急増対策、高額な請求書とはおさらばして枕を高くして眠れるサイトを作ります。
– – – –
## もうちょっと詳しく
Webサイトを運営するには最低限、「(A)コンテンツを制作するしくみ」と「(B)コンテンツの構成を管理するしくみ」と「(C)作ったコンテンツを配信するしくみ」が必要です。
– – – –
20世紀の小規模ホームページなら
(A) コンテンツを制作するしくみ:ホームページ・ビルダー / Adobe Dreameaver
(B) コンテンツを管理する仕組み:PCのファイルシステム上+人力
(C) 作ったコンテンツを配信する仕組み:レンタルホームページだったでしょうし、
– – – –
近年主流のWordPressなら、
(A) コンテンツを制作するしくみ:WordPress
(B) コンテンツを管理する仕組み:WordPress
ボルダリングで登ったコースの効率性を評価するアプリを作った
## こんなの作りました
ボルダリングのコースを登っている動画をアプリで分析して、登ったコースの効率性を評価します。評価結果は数値出ます。数値が大きければ大きいほど効率の良い登りです。
分析できる動画には制限があって、アプリのトップ画面に書いています。– スマホ推奨
– スペック低いスマホだとうまく動かないかもしれない
– ios未対応(厳密には動画が .mov の拡張子だと読み込めない)WiFi環境推奨です。1分くらいの動画だと分析はだいたい1~2分くらいかかります。
https://www.noboruu.club/#/
1.分析する動画を選ぶ
2.登っていない動画の不要な部分をカットする
AWS EC2 AmazonLinux2 Apache 設定ファイルの場所
# 目的
– Apacheの設定ファイルの場所分からず若干迷子になったため設定ファイルの場所を記載する。
# 実施環境
– ハードウェア環境
| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.5) |
| ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
| プロセッサ | 2 GHz クアッドコアIntel Core i5 |
| メモリ | 32 GB 3733 MHz LPDDR4 |
| グラフィックス | Intel Iris Plus Graphics 1536 MB |– ソフトウェア環境
| 項目 | 情報 | 備考 |
| — | — | — |
| AWS EC2インスタンス | AmazonLinux2 | こちらの方法を用いてイメージからインスタンスを作成→[AWS EC2 をMacで使ってみよう!](https://qiita.com/miriwo/items/a1ab84c098008e43d04